New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

History saving exception AEM 6.1 SP1 with MongoDB #142

Closed
mtstv opened this Issue Jan 26, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@mtstv
Contributor

mtstv commented Jan 26, 2017

There is an exception during history saving.
I think the problem is that the merged config file is too big.
/var/statistics/achistory/history_1485428475021_via_jmx/mergedConfig.yaml

Produced with AC Tool 1.8.4. on the AEM 6.1 SP1 with MongoDB and with configuration for about 4500 tenants.

21.01.2017 08:03:08.902 *ERROR* [qtp102902533-1299-ACTool-Config-Worker] biz.netcentric.cq.tools.actool.installationhistory.impl.AcHistoryServiceImpl RepositoryException: 
javax.jcr.InvalidItemStateException: OakMerge0001: OakMerge0001: Failed to merge changes to the underlying store (retries 5, 45892 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:661)
        at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:487)
        at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:424)
        at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:266)
        at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:421)
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.sling.jcr.base.SessionProxyHandler$SessionProxyInvocationHandler.invoke(SessionProxyHandler.java:113)
        at com.sun.proxy.$Proxy9.save(Unknown Source)
        at biz.netcentric.cq.tools.actool.installationhistory.impl.AcHistoryServiceImpl.persistHistory(AcHistoryServiceImpl.java:83)
        at biz.netcentric.cq.tools.actool.aceservice.impl.AceServiceImpl.installNewConfigurations(AceServiceImpl.java:340)
        at biz.netcentric.cq.tools.actool.aceservice.impl.AceServiceImpl.execute(AceServiceImpl.java:268)
        at biz.netcentric.cq.tools.actool.aceservicejmx.impl.AceServiceMBeanImpl.execute(AceServiceMBeanImpl.java:57)
        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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
        at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
        at javax.management.StandardMBean.invoke(StandardMBean.java:405)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
        at com.adobe.granite.jmx.internal.JMXConsolePlugin.invoke(JMXConsolePlugin.java:176)
        at com.adobe.granite.jmx.internal.JMXConsolePlugin.doPost(JMXConsolePlugin.java:134)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:555)
        at org.apache.felix.webconsole.internal.servlet.OsgiManager$3.run(OsgiManager.java:459)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:455)
        at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:336)
        at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:297)
        at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:129)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:290)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:89)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.sling.featureflags.impl.FeatureManager.doFilter(FeatureManager.java:115)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76)
        at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49)
        at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakMerge0001: OakMerge0001: Failed to merge changes to the underlying store (retries 5, 45892 ms)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:239)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:179)
        at org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:158)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1497)
        at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247)
        at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:339)
        at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:485)
        ... 103 common frames omitted
Caused by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: DBObject of size 75435880 is over Max BSON size 16777216
        at org.apache.jackrabbit.oak.plugins.document.DocumentStoreException.convert(DocumentStoreException.java:48)
        at org.apache.jackrabbit.oak.plugins.document.DocumentStoreException.convert(DocumentStoreException.java:41)
        at org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.findAndModify(MongoDocumentStore.java:768)
        at org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.createOrUpdate(MongoDocumentStore.java:783)
        at org.apache.jackrabbit.oak.plugins.document.Commit.createOrUpdateNode(Commit.java:472)
        at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:370)
        at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:264)
        at org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:233)
        at org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:218)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:329)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:299)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$300(DocumentNodeStoreBranch.java:52)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:545)
        at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:223)
        ... 109 common frames omitted
Caused by: com.mongodb.MongoInternalException: DBObject of size 75435880 is over Max BSON size 16777216
        at com.mongodb.OutMessage.putObject(OutMessage.java:291)
        at com.mongodb.OutMessage.writeQuery(OutMessage.java:211)
        at com.mongodb.OutMessage.query(OutMessage.java:86)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:81)
        at com.mongodb.DB.command(DB.java:320)
        at com.mongodb.DB.command(DB.java:299)
        at com.mongodb.DB.command(DB.java:374)
        at com.mongodb.DB.command(DB.java:246)
        at com.mongodb.DBCollection.findAndModify(DBCollection.java:480)
        at com.mongodb.DBCollection.findAndModify(DBCollection.java:424)
        at org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.findAndModify(MongoDocumentStore.java:745)
        ... 120 common frames omitted
@kwin

This comment has been minimized.

Show comment
Hide comment
@kwin

kwin Jan 26, 2017

Member

That rather looks like a problem you should report upstream at https://issues.apache.org/jira/browse/OAK/

Member

kwin commented Jan 26, 2017

That rather looks like a problem you should report upstream at https://issues.apache.org/jira/browse/OAK/

@mtstv

This comment has been minimized.

Show comment
Hide comment
@mtstv

mtstv Jan 26, 2017

Contributor

May be it is better to split the mergedConfig.yaml to many files?
Also I would like to disable history. #143

Contributor

mtstv commented Jan 26, 2017

May be it is better to split the mergedConfig.yaml to many files?
Also I would like to disable history. #143

@mtstv

This comment has been minimized.

Show comment
Hide comment
@mtstv

mtstv Feb 6, 2017

Contributor

Workaround to disable history, see #143
Saving history for really large AC setups is triggered further in #145

Closed.

Contributor

mtstv commented Feb 6, 2017

Workaround to disable history, see #143
Saving history for really large AC setups is triggered further in #145

Closed.

@mtstv mtstv closed this Feb 6, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment