Random no node exists error
bwallis42 Aug 30, 2012 12:23 AMI'm running some volume/load tests against 3.0.0.beta3 in a jboss 7.2.0 snapshot and I have a couple of problems. One is an apparent memory leak in queries that I am trying to isolate and will post on later. The other is a very occasional error where a node that should exist is not found.
These tests I am running were working OK against 2.8.1 a while ago and have not been modified much to run against 3.0. The error does occur randomly and there are 10s of 1000s of nodes in the repository.
From the logging shown below it looks like a query found the node and also found another one and the error occurs when the system is asked to move the first node to under the second one. I know more info is probably required but I'm posting this incase it rings a bell with someone.
{noquote}
05:49:05,264 DEBUG [au.com.infomedix.jcrloadtest.jcrserver.operations.QueryNodesOperation] (http-localhost/127.0.0.1:8080-1) Run Query = select * from [inf:document] as d where d.[infm:unitCode] = "p1007-r25"
05:49:05,296 DEBUG [au.com.infomedix.jcrloadtest.jcrserver.operations.QueryNodesOperation] (http-localhost/127.0.0.1:8080-1) Node 786d2b37-05ec-4133-b3dc-e95914362d73 path=/inf:patient[58]/inf:section[5]/inf:items[29]
05:49:05,310 DEBUG [au.com.infomedix.jcrloadtest.jcrserver.operations.QueryNodesOperation] (http-localhost/127.0.0.1:8080-1) Run Query = select * from [inf:episode] as e where e.[inf:id] = '00002009-008' and e.[inf:ns] = 'IHN'
05:49:05,355 DEBUG [au.com.infomedix.jcrloadtest.jcrserver.operations.QueryNodesOperation] (http-localhost/127.0.0.1:8080-1) Node be1d8d69-8104-443d-94d6-ad5d95916070 path=/inf:patient[110]/inf:section[7]/inf:items[9]
05:49:05,380 DEBUG [au.com.infomedix.jcrloadtest.jcrserver.operations.MoveNodeOperation] (http-localhost/127.0.0.1:8080-1) Move Node 786d2b37-05ec-4133-b3dc-e95914362d73 path=/inf:patient[58]/inf:section[5]/inf:items[29] to be1d8d69-8104-443d-94d6-ad5d95916070 path=/inf:patient[110]/inf:section[7]/inf:items[9]
05:49:05,424 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/JcrServer].[au.com.infomedix.jcrloadtest.jcrserver.restapi.JcrLoadTestApplication]] (http-localhost/127.0.0.1:8080-1) Servlet.service() for servlet au.com.infomedix.jcrloadtest.jcrserver.restapi.JcrLoadTestApplication threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Could not perform operation over the repository
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:340) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.3.Final.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.17.Final.jar:]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:156) [jboss-as-web-7.2.0.Alpha1-SNAPSHOT.jar:7.2.0.Alpha1-SNAPSHOT]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372) [jbossweb-7.0.17.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.17.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679) [jbossweb-7.0.17.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb-7.0.17.Final.jar:]
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_33]
Caused by: java.lang.RuntimeException: Could not perform operation over the repository
at au.com.infomedix.jcrloadtest.jcrserver.repo.JcrService.executeCommand(JcrService.java:92) [classes:]
at au.com.infomedix.jcrloadtest.jcrserver.restapi.NodeCrudMethods.moveNode(NodeCrudMethods.java:98) [classes:]
at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) [:1.6.0_33]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_33]
at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_33]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) [resteasy-jaxrs-2.3.3.Final.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.3.Final.jar:]
... 19 more
Caused by: javax.jcr.PathNotFoundException: No node exists at path '/inf:patient[58]/inf:section[5]/inf:items[29]' in workspace "default"
at org.modeshape.jcr.JcrSession.cachedNode(JcrSession.java:509)
at org.modeshape.jcr.JcrSession.node(JcrSession.java:530)
at org.modeshape.jcr.JcrSession.node(JcrSession.java:549)
at org.modeshape.jcr.JcrSession.move(JcrSession.java:834)
at au.com.infomedix.jcrloadtest.jcrserver.operations.MoveNodeOperation.performOperation(MoveNodeOperation.java:33) [classes:]
at au.com.infomedix.jcrloadtest.jcrserver.operations.MoveNodeOperation.performOperation(MoveNodeOperation.java:1) [classes:]
at au.com.infomedix.jcrloadtest.jcrserver.repo.AbstractJcrOperation.execute(AbstractJcrOperation.java:44) [classes:]
at au.com.infomedix.jcrloadtest.jcrserver.repo.JcrService.executeCommand(JcrService.java:84) [classes:]
... 28 more
{noquote}