Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

merge-paths in crx2oak tool returning blob ID error

Avatar

Level 6

Hi Team,

Did in-place migration for the AEM5.6 to AEM6.2 version. That was successful now trying delta migration by using the merge-paths option.  

Here is the command which is returning the Blob ID error. 

java -jar ./crx-quickstart/opt/helpers/crx2oak/crx2oak.jar source target --merge-paths=/content-path -copy-versions=true --copy-orphaned-versions=false --copy-binaries 

Retuning the below errror.

26.01.2017 18:57:27.016 [main] *INFO*  org.apache.jackrabbit.core.RepositoryImpl - workspace 'crx.default' has been shutdown
26.01.2017 18:57:28.002 [main] *INFO*  org.apache.jackrabbit.core.RepositoryImpl - Repository has been shutdown
Exception in thread "main" java.lang.RuntimeException: javax.jcr.RepositoryException: Failed to copy content
        at com.google.common.io.Closer.rethrow(Closer.java:149)
        at com.adobe.granite.crx2oak.CRX2Oak.migrateCrx2(CRX2Oak.java:98)
        at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:76)
Caused by: javax.jcr.RepositoryException: Failed to copy content
        at org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:492)
        at com.adobe.granite.crx2oak.CRX2Oak.upgradeFromCrx2(CRX2Oak.java:114)
        at com.adobe.granite.crx2oak.CRX2Oak.migrateCrx2(CRX2Oak.java:96)
        ... 1 more
Caused by: java.lang.IllegalStateException: Attempt to read external blob with blobId [535f5f84a11a97979119336269c6b0affca631c6#6235] without specifying BlobStore
        at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readBlob(FileStore.java:1336)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getBlob(SegmentBlob.java:261)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getLength(SegmentBlob.java:269)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.length(SegmentBlob.java:109)
        at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:53)
        at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equals(AbstractBlob.java:164)
        at com.google.common.base.Objects.equal(Objects.java:55)
        at org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
        at org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equals(AbstractPropertyState.java:90)
        at org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyProperties(NodeStateCopier.java:134)
        at org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyNodeState(NodeStateCopier.java:202)
        at org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyNodeState(NodeStateCopier.java:198)
        at org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier.copyNodeState(NodeStateCopier.java:198)

 

The Same machine able to run the include-paths command. Include-paths working just like the charm. 

Any ideas why the merge-paths command is not working and how to resolve it?

It's very very urgent!!!!!!!!

Thanks

4 Replies

Avatar

Level 5

can you make sure both repositories are up ? 

Avatar

Level 10

This message indicates that the repository is not online: 

workspace 'crx.default' has been shutdown

Avatar

Level 6

Hi Sandeep,

Both are up and running after that I shut down those and started the merging. 

I am able to run the include-paths command very well. Only I am facing the problem with merge-paths.

I believe that merge-path command needs to run after the shut down of 2 repositories same like include-paths.

Thanks

Avatar

Level 6

Hi Scott,

Because of that exception crx.de shutdown without merging the data between 2 repositories.

 

Thanks

Uma