[
https://issues.apache.org/jira/browse/OAK-8566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912138#comment-16912138
]
Tomek Rękawek commented on OAK-8566:
------------------------------------
Added a test presenting this bug and fixed it in
[r1865615|https://svn.apache.org/r1865615].
> 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)