Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Filevault OakConstraint0021 exception when copy content

Avatar

Level 4

Hi Guys,

We encountered an issue when we copy content from ame6.1 to ame6.3 by tool /crx-quickstart/opt/filevault/vault-cli-3.1.38/bin/vlt.

This issue happened on all of the image node.

But it’s working fine by copy content from ame6.1 to aem6.1 via vlt tool vault-cli-3.1.16.

I got the same issue topic from google search.

http://jackrabbit.510166.n4.nabble.com/Filevault-OakConstraint0021-Exception-td4666959.html

Could you know how to fix this one?

Thanks.

Regards.

Intermediate saving 1034 nodes (4445 kB)...

[WARN ] Exception submitting batch

javax.jcr.nodetype.ConstraintViolationException: OakConstraint0021: /content/bga/en/about-us/sustainability-responsibility/strategies-and-policies/group-policy-environment/jcr:content/generic_content_page-top_text_image/image/file/jcr:content[[nt:resource, cq:LiveRelationship]]: Mandatory property jcr:data not found in a new node

        at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)

        at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:70)

        at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:52)

        at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.start(RepositoryServiceImpl.java:634)

        at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl$BatchImpl.access$600(RepositoryServiceImpl.java:568)

        at org.apache.jackrabbit.spi2davex.RepositoryServiceImpl.submit(RepositoryServiceImpl.java:465)

        at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.execute(WorkspaceManager.java:878)

        at org.apache.jackrabbit.jcr2spi.WorkspaceManager$OperationVisitorImpl.access$500(WorkspaceManager.java:837)

        at org.apache.jackrabbit.jcr2spi.WorkspaceManager.execute(WorkspaceManager.java:640)

        at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.save(SessionItemStateManager.java:141)

        at org.apache.jackrabbit.jcr2spi.ItemImpl.save(ItemImpl.java:250)

        at org.apache.jackrabbit.jcr2spi.SessionImpl.save(SessionImpl.java:333)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:491)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:453)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:278)

        at org.apache.jackrabbit.vault.util.RepositoryCopier.copy(RepositoryCopier.java:231)

        at org.apache.jackrabbit.vault.cli.CmdRcp.doExecute(CmdRcp.java:70)

        at org.apache.jackrabbit.vault.cli.AbstractVaultCommand.doExecute(AbstractVaultCommand.java:46)

        at org.apache.jackrabbit.vault.cli.AbstractVaultCommand.doExecute(AbstractVaultCommand.java:33)

        at org.apache.jackrabbit.vault.util.console.commands.AbstractCommand.execute(AbstractCommand.java:37)

        at org.apache.jackrabbit.vault.util.console.ExecutionContext.doExecute(ExecutionContext.java:171)

        at org.apache.jackrabbit.vault.util.console.ExecutionContext.execute(ExecutionContext.java:132)

        at org.apache.jackrabbit.vault.util.console.AbstractApplication.execute(AbstractApplication.java:302)

        at org.apache.jackrabbit.vault.cli.VaultFsApp.execute(VaultFsApp.java:614)

        at org.apache.jackrabbit.vault.util.console.AbstractApplication.run(AbstractApplication.java:251)

        at org.apache.jackrabbit.vault.cli.VaultFsApp.main(VaultFsApp.java:126)

[ERROR] Error during intermediate save (1034); try again later: javax.jcr.RepositoryException: java.io.IOException: No such file or directory

1 Accepted Solution

Avatar

Correct answer by
Employee

You can use the below as the workaround :

[1] : ./vlt rcp -b 100 -r -u -n http://admin:admin@localhost:45026/crx/-/jcr:root/content/dam/images/ http://admin:admin@localhost:4502/crx/-/jcr:root/content/dam/images

View solution in original post

4 Replies

Avatar

Level 5

Hello jiaBai

There are some known issues with vlt version 3.1.16(shipped with AEM 6.2) and up where the transferred binaries get corrupt. One such example is noted in JCRVLT-186] rcp fails to copy binaries correctly - ASF JIRA and there are some other examples of such issues as well.

You could use the 3.1.44 version of vlt to see if helps with the migration. You can download this version from VLT Maven Repository

Before you proceed, please ensure to take some precautions such as backup's of source and destination AEM instances.

Best Regards,

Aneet

Avatar

Correct answer by
Employee

You can use the below as the workaround :

[1] : ./vlt rcp -b 100 -r -u -n http://admin:admin@localhost:45026/crx/-/jcr:root/content/dam/images/ http://admin:admin@localhost:4502/crx/-/jcr:root/content/dam/images

Avatar

Level 4

Hi Kunwar,

Thanks for your input. You are right I have already installed latest filvevault version on OSGI.

The root cause is due to there is some none-English words(such as Chinese, Denmark, other special character......) in node name.

Regards.

Avatar

Level 4

Hi Guys,

Thanks for your inpt and  see below answer.

Regards.