[ https://issues.apache.org/jira/browse/OAK-6610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcel Reutegger resolved OAK-6610. ----------------------------------- Resolution: Not A Bug Resolving as 'Not A Bug'. Concurrent conflicting changes are expected to result in InvalidItemStateExceptions. > Document Node Store Merge Conflict for concurrent requests > ---------------------------------------------------------- > > Key: OAK-6610 > URL: https://issues.apache.org/jira/browse/OAK-6610 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk > Affects Versions: 1.6.4 > Reporter: Satish kumar chitikena > Priority: Blocker > > When we are running the performance test Document MK throwing the exception > saying Merge conflict . > We have 3 JCR instances talking to only one MongoDB primary . How to handle > concurrent requests > /content/Draft/Content/Intuit/Tax/All/Article/FAQ , This node not > versionable Node but why it is looking for base revision and modified > revision etc. > NTP time sync is enabled . > 31.08.2017 06:15:21.545 *ERROR* [127.0.0.1 [1504185184379] POST > /content/Draft/Content/Intuit/Tax/All/Article/FAQ/LV3xQqZdJ/US/en_US > HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation > Exception during response processing. > org.apache.sling.api.resource.PersistenceException: Unable to commit changes > to session. > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.commit(JcrResourceProvider.java:490) > at > org.apache.sling.resourceresolver.impl.providers.stateful.AuthenticatedResourceProvider.commit(AuthenticatedResourceProvider.java:215) > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.commit(ResourceResolverControl.java:421) > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.commit(ResourceResolverImpl.java:1177) > at > org.apache.sling.servlets.post.impl.operations.AbstractPostOperation.run(AbstractPostOperation.java:164) > at > org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:228) > at > org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:149) > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:346) > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:378) > at > org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552) > at > org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44) > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77) > at > org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282) > at > org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49) > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77) > at > com.intuit.cas.extension.CSRFilterServlet.doFilter(CSRFilterServlet.java:57) > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68) > at > org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:107) > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68) > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138) > at > org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68) > at > org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:151) > at > org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:234) > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:85) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:79) > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:89) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:72) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:128) > at > org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at > org.apache.felix.http.bridge.internal.BridgeActivator$1.service(BridgeActivator.java:83) > at > org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:123) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at > org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:286) > at > org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:175) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:748) > Caused by: javax.jcr.InvalidItemStateException: OakMerge0004: OakMerge0004: > Following exceptions occurred during the bulk update operations: > [org.apache.jackrabbit.oak.plugins.document.ConflictException: The node > 8:/content/Draft/Content/Intuit/Tax/All/Article/FAQ was changed in revision > r15e386e44fb-0-5 (not yet visible), which was applied after the base revision > r15e37c66fdd-0-1,r15e37c5653f-0-2,r15e37c5e3ce-0-3,r15e386e4baa-0-4,r15e386e2f73-0-5,r15e386d9475-0-6, > before > r15e386e75b8-0-4] (retries 5, 60998 ms) > at > org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:239) > at > org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:212) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:670) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:496) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:419) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:274) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:416) > at > org.apache.sling.jcr.oak.server.internal.TcclWrappingJackrabbitSession.save(TcclWrappingJackrabbitSession.java:212) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.commit(JcrResourceProvider.java:488) > ... 62 common frames omitted > 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 8:/content/Draft/Content/Intuit/Tax/All/Article/FAQ was changed in > revision > r15e386e44fb-0-5 (not yet visible), which was applied after the base revision > r15e37c66fdd-0-1,r15e37c5653f-0-2,r15e37c5e3ce-0-3,r15e386e4baa-0-4,r15e386e2f73-0-5,r15e386d9475-0-6, > before > r15e386e75b8-0-4] (retries 5, 60998 ms) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:208) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:127) > at > org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:167) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1694) > at > org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:249) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:347) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:494) > ... 67 common frames omitted > 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 > 8:/content/Draft/Content/Intuit/Tax/All/Article/FAQ was changed in revision > r15e386e44fb-0-5 (not yet visible), which was applied after the base revision > r15e37c66fdd-0-1,r15e37c5653f-0-2,r15e37c5e3ce-0-3,r15e386e4baa-0-4,r15e386e2f73-0-5,r15e386d9475-0-6, > before > r15e386e75b8-0-4] > at > org.apache.jackrabbit.oak.plugins.document.Commit.checkConflicts(Commit.java:552) > at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:309) > at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:241) > at > org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:210) > at > org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:199) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:298) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:268) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$300(DocumentNodeStoreBranch.java:58) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:513) > at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:185) > ... 73 common frames omitted -- This message was sent by Atlassian JIRA (v6.4.14#64029)