[ 
https://issues.apache.org/jira/browse/OAK-8566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomek Rękawek updated OAK-8566:
-------------------------------
    Description: 
If we have a segment archive the valid {{0000.xxxx}} segment, it'll be 
recovered into another invalid archive:

{noformat}
21.08.2019 06:50:28.606 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.azure.AzureRepositoryLock Acquired lease 
1eaec54a-3e14-4705-8f94-2e43f3448cc9
21.08.2019 06:50:29.392 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
data00368a.tar, skipping...
java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
        at 
org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
 [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:90) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
21.08.2019 06:50:29.393 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not find a valid tar 
index in [data00368a.tar], recovering...
21.08.2019 06:50:29.393 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Recovering segments from 
tar file data00368a.tar
21.08.2019 06:50:32.219 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader Missing entry 
0000.??? when recovering data00368a.tar. No more segments will be read.
21.08.2019 06:50:34.094 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Backing up data00368a.tar 
to data00368a.tar.2.bak
21.08.2019 06:50:42.328 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Regenerating tar file 
data00368a.tar
21.08.2019 06:50:42.369 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
data00368a.tar, skipping...
java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
        at 
org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
 [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:106) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
21.08.2019 06:50:42.370 *ERROR* [FelixStartLevel] 
org.apache.jackrabbit.oak-segment-tar bundle 
org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511 
(144)[org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory(204)] : The 
activate method has thrown an exception (java.io.IOException: Failed to open 
recovered tar file data00368a.tar)
java.io.IOException: Failed to open recovered tar file data00368a.tar
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:110) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:395) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:65) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles$Builder.build(TarFiles.java:213)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.FileStore.<init>(FileStore.java:171) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
{noformat}

We should cleanup the archives without the valid {{0000.}} segment.

  was:
If we have a segment archive the valid {{0000.xxxx}} segment, it'll be 
recovered into another invalid archive:

{noformat}
21.08.2019 06:50:28.606 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.azure.AzureRepositoryLock Acquired lease 
1eaec54a-3e14-4705-8f94-2e43f3448cc9
21.08.2019 06:50:29.392 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
data00368a.tar, skipping...
java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
        at 
org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
 [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:90) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
21.08.2019 06:50:29.393 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not find a valid tar 
index in [data00368a.tar], recovering...
21.08.2019 06:50:29.393 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Recovering segments from 
tar file data00368a.tar
21.08.2019 06:50:32.219 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader Missing entry 
0000.??? when recovering data00368a.tar. No more segments will be read.
21.08.2019 06:50:34.094 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Backing up data00368a.tar 
to data00368a.tar.2.bak
21.08.2019 06:50:42.328 *INFO* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Regenerating tar file 
data00368a.tar
21.08.2019 06:50:42.369 *WARN* [FelixStartLevel] 
org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
data00368a.tar, skipping...
java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
        at 
org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
 [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:106) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
21.08.2019 06:50:42.370 *ERROR* [FelixStartLevel] 
org.apache.jackrabbit.oak-segment-tar bundle 
org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511 
(144)[org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory(204)] : The 
activate method has thrown an exception (java.io.IOException: Failed to open 
recovered tar file data00368a.tar)
java.io.IOException: Failed to open recovered tar file data00368a.tar
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:110) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:395) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:65) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.tar.TarFiles$Builder.build(TarFiles.java:213)
 [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
        at 
org.apache.jackrabbit.oak.segment.file.FileStore.<init>(FileStore.java:171) 
[org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
{noformat}

We should ignore and cleanup the archives without the valid {{0000.}} segment.


> Empty segment archives breaks the Azure Persistence
> ---------------------------------------------------
>
>                 Key: OAK-8566
>                 URL: https://issues.apache.org/jira/browse/OAK-8566
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-azure
>            Reporter: Tomek Rękawek
>            Priority: Major
>             Fix For: 1.18.0
>
>
> If we have a segment archive the valid {{0000.xxxx}} segment, it'll be 
> recovered into another invalid archive:
> {noformat}
> 21.08.2019 06:50:28.606 *INFO* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.azure.AzureRepositoryLock Acquired lease 
> 1eaec54a-3e14-4705-8f94-2e43f3448cc9
> 21.08.2019 06:50:29.392 *WARN* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
> data00368a.tar, skipping...
> java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
>         at 
> org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
>  [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
>  [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:90) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
> 21.08.2019 06:50:29.393 *WARN* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not find a valid 
> tar index in [data00368a.tar], recovering...
> 21.08.2019 06:50:29.393 *INFO* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Recovering segments from 
> tar file data00368a.tar
> 21.08.2019 06:50:32.219 *WARN* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader Missing 
> entry 0000.??? when recovering data00368a.tar. No more segments will be read.
> 21.08.2019 06:50:34.094 *INFO* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Backing up 
> data00368a.tar to data00368a.tar.2.bak
> 21.08.2019 06:50:42.328 *INFO* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Regenerating tar file 
> data00368a.tar
> 21.08.2019 06:50:42.369 *WARN* [FelixStartLevel] 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader Could not read tar file 
> data00368a.tar, skipping...
> java.io.IOException: The archive data00368a.tar hasn't been closed correctly.
>         at 
> org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.open(AzureArchiveManager.java:92)
>  [org.apache.jackrabbit.oak-segment-azure:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.openFirstFileWithValidIndex(TarReader.java:236)
>  [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:106) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
> 21.08.2019 06:50:42.370 *ERROR* [FelixStartLevel] 
> org.apache.jackrabbit.oak-segment-tar bundle 
> org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511 
> (144)[org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory(204)] : The 
> activate method has thrown an exception (java.io.IOException: Failed to open 
> recovered tar file data00368a.tar)
> java.io.IOException: Failed to open recovered tar file data00368a.tar
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:110) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:395) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:65) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.tar.TarFiles$Builder.build(TarFiles.java:213)
>  [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
>         at 
> org.apache.jackrabbit.oak.segment.file.FileStore.<init>(FileStore.java:171) 
> [org.apache.jackrabbit.oak-segment-tar:1.16.0.R1864511]
> {noformat}
> We should cleanup the archives without the valid {{0000.}} segment.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to