Hi All,
Right now , i am encountering a problem that there is one dummy blob id which is trying to be migrated but throwing an exception.I think, this BLOB id is of DummyBlobStore.
Is there a way to exclude these blob store while doing the migration?
26.04.2018 18:08:05.557 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:285)
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 [66f1d39a64998bf2e641765057509c086f2474202d9fd24fa654dabc01aba988#95174] without specifying BlobStore
at org.apache.jackrabbit.oak.segment.SegmentBlob.getBlob(SegmentBlob.java:243)
at org.apache.jackrabbit.oak.segment.SegmentBlob.getLength(SegmentBlob.java:252)
at org.apache.jackrabbit.oak.segment.SegmentBlob.length(SegmentBlob.java:110)
at org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:52)
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:59)
at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyProperties(NodeStateCopier.java:144)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:212)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:208)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:208)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:208)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:208)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:208)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.copyNodeState(NodeStateCopier.java:160)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier.access$200(NodeStateCopier.java:75)
at org.apache.jackrabbit.oak.plugins.migration.NodeStateCopier$Builder.copy(NodeStateCopier.java:465)
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copyWorkspace(RepositorySidegrade.java:468)
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.migrateWithoutCheckpoints(RepositorySidegrade.java:417)
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copyState(RepositorySidegrade.java:317)
at org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:278)
... 7 common frames omitted
Thanks,
Kishore.
Solved! Go to Solution.
I am able to successfully migrate the content by running below command.
java -jar crx2oak-1.8.4-all-in-one.jar segment-old:C:/Users/xxxx/Documents/xxxx/Softwares/AEM/Chris/AEM_Author_60/crx-quickstart/repository C:/Users/xxxxxx/Documents/xxxx/Softwares/AEM/6.4/crx-quickstart/repository --datastore C:/Users/xxxx/Documents/xxxx/Softwares/AEM/6.4/crx-quickstart/repository/datastore --include-path=/content --exclude-path=/tmp --copy-versions=false --copy-orphaned-versions=false > migration_new.txt
Thank you all for your support.
Thanks,
Kishore
Views
Replies
Total Likes
I have asked others to look here as well.
In mean time - have you gone through all the AEM migrations Docs?
Views
Replies
Total Likes
Hi Kishore,
Looks like you are doing a repository migration. What is the source version and what is the target version? What command line are you using for this call?
regards,
Jörg
Views
Replies
Total Likes
Thank you.
Right now,i am migrating 6.2 repository to 6.4.Below is the command i am using for migrating.
java -jar crx2oak-1.8.4-all-in-one.jar segment-old:C:/Users/xxx/Documents/xxx/AEM-Others/OOTB/crx-quickstart/repository C:/Users/xxx/Documents/xxx/Softwares/AEM/6.4/crx-quickstart/repository --include-path=/content --exclude-path=/tmp --copy-versions=false --copy-orphaned-versions=false --merge-paths=/content
Views
Replies
Total Likes
Did you go through all the information in the docs i pointed you to?
Views
Replies
Total Likes
Hi Kishore,
For me it looks like you used an blobstore on your AEM 6.2 instance; can you experiment with the parameters "src-fileblobstore" and "fileblobstore"?
Views
Replies
Total Likes
Yes.Right now,i am following that doc and that's my reference for this migration.
Views
Replies
Total Likes
THat provides a bit of background. Can you follow Joerg's suggestion here.
Views
Replies
Total Likes
i don't see any blobstore folder in my source repository(6.2).Not sure, how to use parameters "src-fileblobstore" and "fileblobstore" in this case?
Is there any chance to have implicit blobstore, comes up with the AEM installation?
Views
Replies
Total Likes
These parameters are discussed in this doc -- Using the CRX2Oak Migration Tool
Views
Replies
Total Likes
i see below message in the logs.
I doubt it ,implicit blobstore comes up with the when installing AEM.
" 26.04.2018 18:18:29.818 INFO o.a.j.o.u.c.p.DatastoreArguments: Destination blob store: DummyBlobStore ".
Right now,i have only two folders inside /crx-quickstart/repository
Views
Replies
Total Likes
Did you run the Datastore GC on the source AEM ? Was it completed with no issues?
Views
Replies
Total Likes
Ok, then you have a plain 6.2 installation, which did not have a datastore or blobstore by default (has change with 6.3)... So now you have the chance to reduce the size of your segmentstore and create a fileblobstore :-)
If your instance isn't that large and it's just testing, can you start with this set of parameters
java -jar crx2oak-1.8.4-all-in-one.jar segment-old:C:/Users/xxx/Documents/xxx/AEM-Others/OOTB/crx-quickstart/repository C:/Users/xxx/Documents/xxx/Softwares/AEM/6.4/crx-quickstart/repository
just to eliminate the chance that one of them is causing this issue?
(When you want to have AEM 6.4 with a segmentstore you can add the parameter --fileblobstore C:/Users/xxx/Documents/xxx/Softwares/AEM/6.4/crx-quickstart/repository/blobstore
Jörg
Support stated: "I believe that they have an issue on a source AEM. Datastore GC should help to fix"
Views
Replies
Total Likes
I have tried with both commands but ended up with the same error
Views
Replies
Total Likes
i have already tried that approach but getting error.
Views
Replies
Total Likes
Have you looked here -- Data Store Garbage Collection
Does this report inform you of missing data?
Views
Replies
Total Likes
I am able to successfully migrate the content by running below command.
java -jar crx2oak-1.8.4-all-in-one.jar segment-old:C:/Users/xxxx/Documents/xxxx/Softwares/AEM/Chris/AEM_Author_60/crx-quickstart/repository C:/Users/xxxxxx/Documents/xxxx/Softwares/AEM/6.4/crx-quickstart/repository --datastore C:/Users/xxxx/Documents/xxxx/Softwares/AEM/6.4/crx-quickstart/repository/datastore --include-path=/content --exclude-path=/tmp --copy-versions=false --copy-orphaned-versions=false > migration_new.txt
Thank you all for your support.
Thanks,
Kishore
Views
Replies
Total Likes
I am glad that you got it working!
Views
Replies
Total Likes
Views
Likes
Replies