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

Provide source store external references flag via command line if available

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.4.12, 1.5.14, 1.6.0
    • upgrade
    • None

    Description

      Currently the upgrade code tries to figure out if the source store uses an external datastore by running a SegmentTracker.collectBlobReferences process. This has performance problems when the given store doesn't use a datastore, so the above method will traverse the entire store without any callback (think 150GB store).
      The relatively simple fix is to provide this flag via the command line for the upgrade bits, still using the existing method as a fallback if nothing is provided.

      at org.apache.jackrabbit.oak.plugins.segment.Segment.<init>(Segment.java:224)
      at org.apache.jackrabbit.oak.plugins.segment.Segment.<init>(Segment.java:204)
      at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readSegment(FileStore.java:1238)
      at org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.readSegment(SegmentTracker.java:242)
      at org.apache.jackrabbit.oak.plugins.segment.SegmentId.getSegment(SegmentId.java:149)
      - locked <0x000000054e8e25c8> (a org.apache.jackrabbit.oak.plugins.segment.SegmentId)
      at org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.collectBlobReferences(SegmentTracker.java:307)
      at org.apache.jackrabbit.oak.upgrade.cli.node.SegmentFactory.hasExternalBlobReferences(SegmentFactory.java:120)
      at org.apache.jackrabbit.oak.upgrade.cli.node.StoreFactory.hasExternalBlobReferences(StoreFactory.java:67)
      at org.apache.jackrabbit.oak.upgrade.cli.parser.StoreArguments.srcUsesEmbeddedDatastore(StoreArguments.java:109)
      at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:64)
      at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.main(OakUpgrade.java:48)
      

      Attachments

        1. OAK-5100.patch
          3 kB
          Alex Deparvu

        Issue Links

          Activity

            People

              stillalex Alex Deparvu
              stillalex Alex Deparvu
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: