Hi,

it looks like this is the same as reported already in OAK-8221 [0]. See my 
comments
in that issue how to prevent and resolve this situation.

Regards
 Marcel

[0] https://issues.apache.org/jira/browse/OAK-8221

On 09.05.19, 16:16, "zhouxu" <[email protected]> wrote:

    Hello expert:
    
      1. To use Oak in my project simply add a dependency to
    org.apache.jackrabbit:oak-jcr:1.10.2 and to javax.jcr:jcr:2.0。
    
      2. we construct a Repository instance,use mongodb like this:
         MongoClient 
    mongoClient=getMongoClient(mongodbIP,mongodbPort,dbName,userName,password);
         DocumentNodeStore documentNodeStore =
    newMongoDocumentNodeStoreBuilder()
         .setMongoDB(mongoClient, dbName, 0)
         .setBlobStore(new FileBlobStore("D:\\amberdata
    FileStore"))
          .build();
    
        Repository repository = new Jcr(new
    Oak(documentNodeStore)).createRepository();
    
     3.Every developer uses the oak of a local application to connect to the
    same mongodb,
    
    A few days later,We failed to unregister node type dw_unit_detail which we
    registered,it takes a long time,and throw CommitFailedException:
    OakMerge0004,like this:
    
        javax.jcr.InvalidItemStateException: Failed to unregister node type
    dw_unit_detail
    
    at
    
org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:240)
    at
    
org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager.unregisterNodeType(ReadWriteNodeTypeManager.java:186)
    at com.datamber.afc.domain.type.AfType.destroy(AfType.java:397)
    at com.datamber.afc.domain.type.AfTypeTest.destroy(AfTypeTest.java:345)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
    
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at
    
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at
    
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at
    
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at
    
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at
    
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at
    org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at
    
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at
    
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at
    
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at
    
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at
    
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
    Caused by: org.apache.jackrabbit.oak.api.CommitFailedException:
    OakMerge0004: OakMerge0004: Following exceptions occurred during the bulk
    update operations:
    [org.apache.jackrabbit.oak.plugins.document.ConflictException: The node
    3:/jcr:system/jcr:nodeTypes/dw_customize_type was changed in revision
    r16a0699ff58-0-3 (not yet visible), which was applied after the base
    revision
    
r16a0b08f9b6-0-1,r16a067a0c76-0-2,r16a0699faf1-0-3,r16a072d9ee8-0-4,r16a069a45a1-0-5,r16a06874e87-0-6,r16a069be50a-0-7,r16a073313ba-0-8,r16a073e63ae-0-9,r16a0769307d-0-a,r16a0ae97b21-0-b,r16a0a0b1912-0-c,r16a0a0fa4e7-0-d,r16a0a4bbc67-0-e,r16a0a4438fc-0-f,r16a0ae19945-0-10,
    before
    r16a0b099334-0-1] (retries 5, 303136 ms)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:218)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:127)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:170)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1848)
    at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:250)
    at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:261)
    at
    
org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager.unregisterNodeType(ReadWriteNodeTypeManager.java:182)
    ... 26 more
    Caused by: org.apache.jackrabbit.oak.plugins.document.ConflictException:
    Following exceptions occurred during the bulk update operations:
    [org.apache.jackrabbit.oak.plugins.document.ConflictException: The node
    3:/jcr:system/jcr:nodeTypes/dw_customize_type was changed in revision
    r16a0699ff58-0-3 (not yet visible), which was applied after the base
    revision
    
r16a0b08f9b6-0-1,r16a067a0c76-0-2,r16a0699faf1-0-3,r16a072d9ee8-0-4,r16a069a45a1-0-5,r16a06874e87-0-6,r16a069be50a-0-7,r16a073313ba-0-8,r16a073e63ae-0-9,r16a0769307d-0-a,r16a0ae97b21-0-b,r16a0a0b1912-0-c,r16a0a0fa4e7-0-d,r16a0a4bbc67-0-e,r16a0a4438fc-0-f,r16a0ae19945-0-10,
    before
    r16a0b099334-0-1]
    at
    
org.apache.jackrabbit.oak.plugins.document.Commit.checkConflicts(Commit.java:632)
    at
    
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:333)
    at
    
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:252)
    at
    
org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:220)
    at org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:208)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:310)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:275)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$500(DocumentNodeStoreBranch.java:55)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:531)
    at
    
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:194)
    ... 32 more
    
    
    
    --
    Sent from: 
http://jackrabbit.510166.n4.nabble.com/Jackrabbit-Dev-f523400.html
    

Reply via email to