You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Miguel Prieto <jm...@gmail.com> on 2011/04/13 04:47:00 UTC

ReferentialIntegrityException on node checkout / Remove mix:versionable (JCA - 2.2.5)

I'm facing the following problem when trying to checkout a node:

versionManager = session.getWorkspace().getVersionManager()
versionManager.checkout(node.getPath());

javax.jcr.ReferentialIntegrityException: Target node
f69b1012-de1b-43d9-8d27-486a4df811e2 of REFERENCE property does not exist
    at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.checkReferentialIntegrity(SharedItemStateManager.java:1076)
    at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:582)
    at
org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:1457)
    at
org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1487)
    at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351)
    at
org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354)
    at
org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326)
    at
org.apache.jackrabbit.core.version.VersionManagerImplBase$WriteOperation.save(VersionManagerImplBase.java:469)
    at
org.apache.jackrabbit.core.version.VersionManagerImplBase.checkoutCheckin(VersionManagerImplBase.java:215)
    at
org.apache.jackrabbit.core.VersionManagerImpl.access$300(VersionManagerImpl.java:72)
    at
org.apache.jackrabbit.core.VersionManagerImpl$2.perform(VersionManagerImpl.java:141)
    at
org.apache.jackrabbit.core.VersionManagerImpl$2.perform(VersionManagerImpl.java:134)
    at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200)
    at
org.apache.jackrabbit.core.VersionManagerImpl.perform(VersionManagerImpl.java:95)
    at
org.apache.jackrabbit.core.VersionManagerImpl.checkout(VersionManagerImpl.java:134)

The node's primary type is nt:unstructured and it has a mixin type
mix:versionable. The REFERENCE properties of the node are jcr:baseVersion,
jcr:predecessors, jcr:versionHistory (from mix:versionable). The node is
checked-in.

I cannot remove the mixin type mix:versionable nor the reference properties.
I want to discard all the version history but don't know how. (I'm using
Jackrabbit JCA 2.2.5)

Any suggestions?

Thanks.

Miguel Prieto