Content migration using Crx2oak ( AEM 6.2 to 6.3)
Hello,
I'm trying to migration content from a 6.2 instance to a 6.3 instance using crx2oak.
I use following cmd:
./java8 -jar crx2oak-1.6.8-all-in-one.jar --cache=2048 --copy-orphaned-versions=false --copy-versions=false \
--include-paths=/content/dam/www-mysite-be,\
/content/www-mysite-be \
segment-old:/sft/aem62/author/crx-quickstart/repository/ \
/sft/aem6.3/author/crx-quickstart/repository/
But I'm bumping into below issue. It's quit strange as our 6.2 environment is using the OOTB FileDataStore (TarMK).
We have never configured any external data store nor blob store.
I've also seen that the latest crx2oak version is dated March 2017, so before AEM 6.3 was available. Could it be that there are still some bugs in that crx2oak version for AEM 6.3?
05.10.2017 21:17:06.345 ERROR c.a.g.c.e.MigrationEngine: The internal error occurred during migration. The migration process has been aborted and it is not complete!
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:67)
at com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:92)
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)
Caused by: javax.jcr.RepositoryException: Failed to copy content
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:292)
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:248)
at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
at org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
... 5 common frames omitted
Caused by: java.lang.IllegalStateException: Attempt to read external blob with blobId [a96161363d0d21841c29643c71154d8aa9083497#140385] without specifying BlobStore
at org.apache.jackrabbit.oak.segment.SegmentBlob.getBlob(SegmentBlob.java:247)
at org.apache.jackrabbit.oak.segment.SegmentBlob.getLength(SegmentBlob.java:256)
at org.apache.jackrabbit.oak.segment.SegmentBlob.length(SegmentBlob.java:112)
at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:52)
at org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:228)
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:243)
Thanks,
Johnny