Expand my Community achievements bar.

Content migration using Crx2oak ( AEM 6.2 to 6.3)

Avatar

Level 2

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

25 Replies

Avatar

Employee

Team

We are facing the same problem.

Any help is appreciated.

Regards,

Venkatesh S

Avatar

Employee

Hi All,

After 4/5 hrs of struggle with this tool in 6.4.3 , i learned the following for migration of datastore to external filedatastore

1. Do not need to run this tool from 6.4 onwards.

2. 6.4 stores the data in datastore.

3. All we need to do is, move the repository/datastore folder to external filesystem.

4. Update the filedatastore OSGi configuration to point to new path of datastore.

That's it.

Avatar

Employee Advisor

please raise a new thread, as this topic seems to be different from the one mentioned already here.

Thanks,

Jörg

Avatar

Level 9

Support Response sounds like newbee is handling. Try to get some seniors.

If you are fine send 1-1 in person with availability hours,contact & will try to connect.