Hi,

in a production log I have some messages like this one:

javax.jcr.InvalidItemStateException: OakState0001: Unresolved conflicts in
/F/EDTG/2010286E/00_Hoja_Control_2017_T5.pdf
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:238)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:213)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:669)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:495)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:420)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:273)
at
deployment.mpEcmEA.ear//org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:417)

I have been reading and I think I got some understanding, but I still have
questions:

1 Does the past message mean that the node cannot be modified further in
any way?
2 As far as I know, some conflict handlers are added to my JCR instance by
default:
RepMembersConflictHandler, JcrLastModifiedConflictHandler,
AnnotatingConflictHandler and one wrapper. If my guess is correct, the
"conflict" was managed by the AnnotatingConflictHandler which always
returns *Resolution.THEIRS* and adds rep:MergeConflict mixin to the node.
Does this mean that all I have to do is remove the mixin to get rid of
"OakState0001: Unresolved conflicts"?
3 Or should I write my own handler that for example always returns
*Resolution.THEIRS
*and that's it? or in the handler I have to manually make the respective
changes in all of the events?

I hope I have been clear. Thanks in advance.

Regards.

Jorge

Reply via email to