Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-8644

Timeout in the AzureArchiveManager.renameTo()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • segment-azure
    • None

    Description

      We shouldn't process the blobs in the foreach loop. The blob list is loaded lazily and too long delays between reading segments can result in timeout:

      Exception in thread "main" 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.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
      	at org.apache.jackrabbit.oak.segment.azure.AzureArchiveManager.renameTo(AzureArchiveManager.java:134)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarReader.backupSafely(TarReader.java:208)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarReader.collectFileEntries(TarReader.java:154)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarReader.open(TarReader.java:99)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:395)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarFiles.<init>(TarFiles.java:65)
      	at org.apache.jackrabbit.oak.segment.file.tar.TarFiles$Builder.build(TarFiles.java:213)
      	at org.apache.jackrabbit.oak.segment.file.FileStore.<init>(FileStore.java:171)
      	at org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.build(FileStoreBuilder.java:430)
      

      Attachments

        Activity

          People

            tomek.rekawek Tomek Rękawek
            tomek.rekawek Tomek Rękawek
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: