[ https://issues.apache.org/jira/browse/OAK-730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13619664#comment-13619664 ]
Thomas Mueller commented on OAK-730: ------------------------------------ To simplify configuration, I guess the clusterNodeId should be automatically generated. I created OAK-731 to track this. > Oak instance fails with ConstraintViolationException on concurrent write > ------------------------------------------------------------------------ > > Key: OAK-730 > URL: https://issues.apache.org/jira/browse/OAK-730 > Project: Jackrabbit Oak > Issue Type: Bug > Components: jcr > Affects Versions: 0.7 > Environment: Ubuntu 12.04 > Java 6 update 43 > Reporter: Tudor Rogoz > Assignee: Marcel Reutegger > Attachments: ConcurrencyTest.java > > > Reproduces on revision 1462232. > I get this kind of exception on the majority of the oak instances when I'm > trying to concurrently write into a mongod instance. > {code} > javax.jcr.nodetype.ConstraintViolationException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.jackrabbit.oak.api.CommitFailedException.throwRepositoryException(CommitFailedException.java:57) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:234) > at org.apache.jackrabbit.oak.jcr.SessionImpl.save(SessionImpl.java:320) > at > org.apache.jackrabbit.oakmongomk.RepoWrite.run(ConstraintViolationExceptionTest.java:83) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: > javax.jcr.nodetype.ConstraintViolationException: Incorrect node type of child > node nodeZ442730 > at > org.apache.jackrabbit.oak.plugins.nodetype.TypeEditor.constraintViolation(TypeEditor.java:158) > at > org.apache.jackrabbit.oak.plugins.nodetype.TypeEditor.getDefinition(TypeEditor.java:381) > at > org.apache.jackrabbit.oak.plugins.nodetype.TypeEditor.enter(TypeEditor.java:101) > at > org.apache.jackrabbit.oak.spi.commit.VisibleEditor.enter(VisibleEditor.java:58) > at > org.apache.jackrabbit.oak.spi.commit.CompositeEditor.enter(CompositeEditor.java:66) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.process(EditorHook.java:104) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.process(EditorHook.java:80) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.access$0(EditorHook.java:73) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.childNodeAdded(EditorHook.java:163) > at > org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:335) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.process(EditorHook.java:109) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.process(EditorHook.java:80) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.access$0(EditorHook.java:73) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.childNodeAdded(EditorHook.java:163) > at > org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:335) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.process(EditorHook.java:109) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.process(EditorHook.java:80) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.access$0(EditorHook.java:73) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.childNodeAdded(EditorHook.java:163) > at > org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:335) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.process(EditorHook.java:109) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.process(EditorHook.java:80) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.access$0(EditorHook.java:73) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.childNodeChanged(EditorHook.java:176) > at > org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:337) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook$EditorDiff.process(EditorHook.java:109) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.process(EditorHook.java:80) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:54) > at > org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59) > at > org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59) > at > org.apache.jackrabbit.oak.kernel.KernelNodeStoreBranch.merge(KernelNodeStoreBranch.java:144) > at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:278) > at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:1) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:337) > at org.apache.jackrabbit.oak.core.RootImpl.commit(RootImpl.java:273) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:231) > ... 5 more > Caused by: javax.jcr.nodetype.ConstraintViolationException: Incorrect node > type of child node nodeZ442730 > at > org.apache.jackrabbit.oak.plugins.nodetype.TypeEditor.constraintViolation(TypeEditor.java:159) > ... 41 more > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira