Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
If the Azure Storage is not responsive, then the segment listing method may fail with:
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
We can use the listBlobsSegmented() method and retry it manually, like we do for the segment migration.
//cc: adulceanu
Attachments
Issue Links
- causes
-
OAK-9054 Improved blob listing performance for the Azure Segment Store
- Closed