You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2012/08/01 23:28:03 UTC

[jira] [Created] (OAK-216) Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions

Jukka Zitting created OAK-216:
---------------------------------

             Summary: Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions
                 Key: OAK-216
                 URL: https://issues.apache.org/jira/browse/OAK-216
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: mk
            Reporter: Jukka Zitting


Every now and then our builds fail with one or another of the JCR TCK tests failing due to a {{org.apache.jackrabbit.mk.store.NotFoundException}} being thrown on some revision in the MicroKernel.

Since the garbage collector is currently only instructed to remove revisions that are over 60 minutes old, such lost revisions should never occur in normal builds.

The following change to line 163 of {{DefaultRevisionStore.java}} makes the problem easy to reproduce reliably, which strongly suggests that this problem indeed is caused or at least triggered by the garbage collector:

{code}
-            }, 60, 60, TimeUnit.SECONDS);
+            }, 1, 1, TimeUnit.SECONDS);
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OAK-216) Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426928#comment-13426928 ] 

Jukka Zitting commented on OAK-216:
-----------------------------------

In revision 1368268 I increased the initial delay of the garbage collector to 60 minutes, since before then it in any case shouldn't be removing any revisions. That should work around the problem for now, but we should restore the normal settings once this problem has been resolved.
                
> Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions
> ------------------------------------------------------------
>
>                 Key: OAK-216
>                 URL: https://issues.apache.org/jira/browse/OAK-216
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mk
>            Reporter: Jukka Zitting
>
> Every now and then our builds fail with one or another of the JCR TCK tests failing due to a {{org.apache.jackrabbit.mk.store.NotFoundException}} being thrown on some revision in the MicroKernel.
> Since the garbage collector is currently only instructed to remove revisions that are over 60 minutes old, such lost revisions should never occur in normal builds.
> The following change to line 163 of {{DefaultRevisionStore.java}} makes the problem easy to reproduce reliably, which strongly suggests that this problem indeed is caused or at least triggered by the garbage collector:
> {code}
> -            }, 60, 60, TimeUnit.SECONDS);
> +            }, 1, 1, TimeUnit.SECONDS);
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (OAK-216) Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions

Posted by "Dominique Pfister (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dominique Pfister resolved OAK-216.
-----------------------------------

    Resolution: Fixed
      Assignee: Dominique Pfister

Issue was caused by a wrong assumption in the GC, that all branches are uniquely identifiable by their branch root id, which is wrong, as one can create two branches of the same commit.
                
> Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions
> ------------------------------------------------------------
>
>                 Key: OAK-216
>                 URL: https://issues.apache.org/jira/browse/OAK-216
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mk
>            Reporter: Jukka Zitting
>            Assignee: Dominique Pfister
>
> Every now and then our builds fail with one or another of the JCR TCK tests failing due to a {{org.apache.jackrabbit.mk.store.NotFoundException}} being thrown on some revision in the MicroKernel.
> Since the garbage collector is currently only instructed to remove revisions that are over 60 minutes old, such lost revisions should never occur in normal builds.
> The following change to line 163 of {{DefaultRevisionStore.java}} makes the problem easy to reproduce reliably, which strongly suggests that this problem indeed is caused or at least triggered by the garbage collector:
> {code}
> -            }, 60, 60, TimeUnit.SECONDS);
> +            }, 1, 1, TimeUnit.SECONDS);
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OAK-216) Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions

Posted by "Chetan Mehrotra (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437653#comment-13437653 ] 

Chetan Mehrotra commented on OAK-216:
-------------------------------------

Got a similar exception while running Sling on accessing some urls. It went away after server restart

{noformat}
19.08.2012 23:39:02.877 *ERROR* [127.0.0.1 [1345399742851] GET /libs/granite/security/content/admin.html HTTP/1.1] org.apache.sling.engine.impl.SlingMainServlet service: Uncaught Problem handling the request org.apache.jackrabbit.mk.api.MicroKernelException: org.apache.jackrabbit.mk.store.NotFoundException: 0000000000049ad0
	at org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:352)
	at org.apache.jackrabbit.oak.kernel.KernelNodeState.init(KernelNodeState.java:94)
	at org.apache.jackrabbit.oak.kernel.KernelNodeState.getChildNode(KernelNodeState.java:156)
	at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.hasChildNode(AbstractNodeState.java:61)
	at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.hasChildNode(MemoryNodeBuilder.java:226)
	at org.apache.jackrabbit.oak.core.TreeImpl.internalGetChild(TreeImpl.java:421)
	at org.apache.jackrabbit.oak.core.TreeImpl.getTree(TreeImpl.java:409)
	at org.apache.jackrabbit.oak.core.RootImpl.getTree(RootImpl.java:135)
	at org.apache.jackrabbit.oak.jcr.SessionDelegate.getTree(SessionDelegate.java:450)
	at org.apache.jackrabbit.oak.jcr.SessionDelegate.getNode(SessionDelegate.java:181)
	at org.apache.jackrabbit.oak.jcr.SessionImpl$4.perform(SessionImpl.java:208)
	at org.apache.jackrabbit.oak.jcr.SessionImpl$4.perform(SessionImpl.java:204)
	at org.apache.jackrabbit.oak.jcr.SessionDelegate.perform(SessionDelegate.java:116)
	at org.apache.jackrabbit.oak.jcr.SessionImpl.nodeExists(SessionImpl.java:204)
	at org.apache.jackrabbit.oak.jcr.SessionImpl.itemExists(SessionImpl.java:176)
	at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.sling.jcr.base.SessionProxyHandler$SessionProxyInvocationHandler.invoke(SessionProxyHandler.java:109)
	at $Proxy9.itemExists(Unknown Source)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.itemExists(JcrResourceProvider.java:204)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.createResource(JcrResourceProvider.java:171)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.listChildren(JcrResourceProvider.java:142)
	at org.apache.sling.resourceresolver.impl.tree.ResourceProviderFactoryHandler.listChildren(ResourceProviderFactoryHandler.java:118)
	at org.apache.sling.resourceresolver.impl.helper.ResourceIterator.seek(ResourceIterator.java:178)
	at org.apache.sling.resourceresolver.impl.helper.ResourceIterator.<init>(ResourceIterator.java:151)
	at org.apache.sling.resourceresolver.impl.ResourceResolverImpl.listChildren(ResourceResolverImpl.java:615)
	at org.apache.sling.servlets.resolver.internal.helper.ResourceCollector.getWeightedResources(ResourceCollector.java:191)
	at org.apache.sling.servlets.resolver.internal.helper.AbstractResourceCollector.getServlets(AbstractResourceCollector.java:90)
	at org.apache.sling.servlets.resolver.internal.SlingServletResolver.getServlet(SlingServletResolver.java:635)
	at org.apache.sling.servlets.resolver.internal.SlingServletResolver.handleError(SlingServletResolver.java:511)
	at org.apache.sling.engine.impl.SlingRequestProcessorImpl$2.render(SlingRequestProcessorImpl.java:349)
	at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
	at org.apache.sling.rewriter.impl.RewriterFilter.doFilter(RewriterFilter.java:83)
	at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
	at org.apache.sling.engine.impl.SlingRequestProcessorImpl.handleError(SlingRequestProcessorImpl.java:356)
	at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processRequest(SlingRequestProcessorImpl.java:221)
	at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:206)
	at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
	at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
	at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
	at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:117)
	at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
	at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
	at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:179)
	at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
	at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
	at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:238)
	at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
	at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
	at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75)
	at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
	at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
	at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
	at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
	at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:250)
	at com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:321)
	at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:340)
	at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:383)
	at com.day.j2ee.servletengine.ServletHandlerImpl.process(ServletHandlerImpl.java:351)
	at com.day.j2ee.servletengine.HttpListener$Worker.run(HttpListener.java:625)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.jackrabbit.mk.store.NotFoundException: 0000000000049ad0
	at org.apache.jackrabbit.mk.persistence.H2Persistence.readCommit(H2Persistence.java:175)
	at org.apache.jackrabbit.mk.store.DefaultRevisionStore.getCommit(DefaultRevisionStore.java:377)
	at org.apache.jackrabbit.mk.store.DefaultRevisionStore.getRootNode(DefaultRevisionStore.java:385)
	at org.apache.jackrabbit.mk.core.Repository.getNodeState(Repository.java:168)
	at org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:343)
	... 73 more

{noformat}
                
> Occasional org.apache.jackrabbit.mk.store.NotFoundExceptions
> ------------------------------------------------------------
>
>                 Key: OAK-216
>                 URL: https://issues.apache.org/jira/browse/OAK-216
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mk
>            Reporter: Jukka Zitting
>
> Every now and then our builds fail with one or another of the JCR TCK tests failing due to a {{org.apache.jackrabbit.mk.store.NotFoundException}} being thrown on some revision in the MicroKernel.
> Since the garbage collector is currently only instructed to remove revisions that are over 60 minutes old, such lost revisions should never occur in normal builds.
> The following change to line 163 of {{DefaultRevisionStore.java}} makes the problem easy to reproduce reliably, which strongly suggests that this problem indeed is caused or at least triggered by the garbage collector:
> {code}
> -            }, 60, 60, TimeUnit.SECONDS);
> +            }, 1, 1, TimeUnit.SECONDS);
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira