Tomek Rękawek created OAK-8566:
----------------------------------

             Summary: 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
             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 ignore and cleanup the archives without the valid {{0000.}} segment.



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

Reply via email to