jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-8221) Failure to do anything,throw CommitFailedException: OakMerge0004
Date Mon, 15 Apr 2019 08:06:00 GMT

    [ https://issues.apache.org/jira/browse/OAK-8221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16817637#comment-16817637
] 

Marcel Reutegger commented on OAK-8221:
---------------------------------------

The production systems I'm aware of are using the DocumentNodeStoreService to configure and
spin up the repository. I think this is good example how Oak on MongoDB should be setup.

> Failure to do anything,throw CommitFailedException: OakMerge0004
> ----------------------------------------------------------------
>
>                 Key: OAK-8221
>                 URL: https://issues.apache.org/jira/browse/OAK-8221
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: zhouxu
>            Priority: Major
>
> 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



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message