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

Retry reading the graph and binary references in Segment Store migrator

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.26.0
    • Component/s: segment-azure
    • Labels:
      None

      Description

      We don't repeat a attempt to copy the binary references and graph in the org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator now. It sometimes fails:

      12:08:28.955 [main] ERROR c.a.*.Main - Can't perform operation
      org.apache.jackrabbit.oak.segment.spi.RepositoryNotReachableException: com.microsoft.azure.storage.StorageException: The client could not finish the operation within specified maximum execution timeout.
      	at org.apache.jackrabbit.oak.segment.azure.AzureUtilities.readBufferFully(AzureUtilities.java:87)
      	at org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader.readBlob(AzureSegmentArchiveReader.java:165)
      	at org.apache.jackrabbit.oak.segment.azure.AzureSegmentArchiveReader.getBinaryReferences(AzureSegmentArchiveReader.java:122)
      	at org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrateBinaryRef(SegmentStoreMigrator.java:195)
      	at org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrateArchives(SegmentStoreMigrator.java:169)
      	at org.apache.jackrabbit.oak.segment.azure.tool.SegmentStoreMigrator.migrate(SegmentStoreMigrator.java:93)
      ...
      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.blob.CloudBlob.download(CloudBlob.java:1300)
      	at com.microsoft.azure.storage.blob.CloudBlob.download(CloudBlob.java:1269)
      	at org.apache.jackrabbit.oak.segment.azure.AzureUtilities.readBufferFully(AzureUtilities.java:84)
      	... 8 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)
      	... 11 common frames omitted
      

      We can use runWithRetry() as for the segments.

      //cc: Andrei Dulceanu

        Attachments

          Activity

            People

            • Assignee:
              tomek.rekawek Tomek Rękawek
              Reporter:
              tomek.rekawek Tomek Rękawek
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: