How to cleanup unavailable blob id? | Community
Skip to main content
GK-007
Level 9
April 26, 2018
Solved

How to cleanup unavailable blob id?

  • April 26, 2018
  • 18 replies
  • 6971 views

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.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by GK-007

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

18 replies

smacdonald2008
Level 10
April 26, 2018

I have asked others to look here as well.

In mean time - have you gone through all the AEM migrations Docs?

Upgrading to AEM 6.4

joerghoh
Adobe Employee
Adobe Employee
April 26, 2018

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

GK-007
GK-007Author
Level 9
April 26, 2018

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

smacdonald2008
Level 10
April 26, 2018

Did you go through all the information in the docs i pointed you to?

joerghoh
Adobe Employee
Adobe Employee
April 26, 2018

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"?

GK-007
GK-007Author
Level 9
April 26, 2018

Yes.Right now,i am following that doc and that's my reference for this migration.

smacdonald2008
Level 10
April 26, 2018

THat provides a bit of background. Can you follow Joerg's suggestion here.

GK-007
GK-007Author
Level 9
April 26, 2018

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?

smacdonald2008
Level 10
April 26, 2018

These parameters are discussed in this doc -- Using the CRX2Oak Migration Tool

GK-007
GK-007Author
Level 9
April 26, 2018

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