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

Checkpoint migration will fail if the MissingBlobStore is used

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.1
    • Fix Version/s: 1.7.0, 1.6.2, 1.4.16, 1.8.0
    • Component/s: upgrade
    • Labels:
      None

      Description

      It seems that the checkpoint migration doesn't work with the missing blob store:

      09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node #26380000: /libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
      09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node #26390000: /apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
      09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: /mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
      09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: /mnt/crx/publish/crx-quickstart/repository/segmentstore
      Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed to copy content
      	at com.google.common.io.Closer.rethrow(Closer.java:149)
      	at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
      	at com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
      	at com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
      	at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
      	at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
      	at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
      	... 6 more
      Caused by: javax.jcr.RepositoryException: Failed to copy content
      	at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
      	at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
      	at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
      	at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
      	... 11 more
      Caused by: java.lang.UnsupportedOperationException
      	at org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
      	at org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
      	at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
      	at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
      	at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
      	at com.google.common.base.Objects.equal(Objects.java:60)
      	at org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:414)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:414)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:483)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compareBranch(MapRecord.java:561)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:466)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:440)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:483)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:432)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:440)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:483)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:432)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:414)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:414)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord$3.childNodeChanged(MapRecord.java:440)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:483)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:432)
      	at org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:390)
      	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
      	at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copyCheckpoints(RepositorySidegrade.java:403)
      	at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copyState(RepositorySidegrade.java:308)
      	at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:279)
      	... 14 more
      

        Attachments

        1. OAK-5920.patch
          23 kB
          Tomek Rękawek

          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: