[
https://issues.apache.org/jira/browse/OAK-8930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tomek Rękawek resolved OAK-8930.
--------------------------------
Resolution: Fixed
> More resilient blob listing for the Azure Segment Store
> -------------------------------------------------------
>
> Key: OAK-8930
> URL: https://issues.apache.org/jira/browse/OAK-8930
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-azure
> Reporter: Tomek Rękawek
> Assignee: Tomek Rękawek
> Priority: Major
> Fix For: 1.26.0
>
>
> If the Azure Storage is not responsive, then the segment listing method may
> fail with:
> {noformat}
> java.util.NoSuchElementException: An error occurred while enumerating the
> result, check the original exception for details.
> at
> com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:113)
> at java.base/java.util.Iterator.forEachRemaining(Iterator.java:132)
> at
> java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
> at
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
> at
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
> at
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
> at
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
> at
> java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
> at
> org.apache.jackrabbit.oak.segment.azure.AzureUtilities.getBlobs(AzureUtilities.java:76)
> at
> org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader.<init>(AzureSegmentArchiveReader.java:61)
> at
> org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.forceOpen(AzureArchiveManager.java:122)
> at
> org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrateArchives(SegmentStoreMigrator.java:164)
> at
> org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrate(SegmentStoreMigrator.java:92)
> ...
> Caused by: com.microsoft.azure.storage.StorageException: The client could not
> finish the operation within specified maximum execution timeout.
> at
> com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:254)
> at
> com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:109)
> ... 15 common frames omitted
> Caused by: java.util.concurrent.TimeoutException: The client could not finish
> the operation within specified maximum execution timeout.
> at
> com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:253)
> ... 16 common frames omitted
> {noformat}
> We can use the listBlobsSegmented() method and retry it manually, like we do
> for the segment migration.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)