Hi everyone,

I work for easydita and have a question to ask. This relates to the chain of mails (http://markmail.org/message/wrkj5kfytetslgak) which were being sent regarding jmeter tests consisting of simultaneous get, put and delete requests. I was running similar stress tests on jmeter and found that I am getting such results after having let the tests run for around an hour. I am wondering if the errors obtained during the tests might have bigger implications than previously thought. We are using exist version 1.4.1 on Ubuntu server with 5Gb memory (3Gb dedicated to exist) with a fresh database and has no user data.

I have 2 kinds of errors:

1. child not found for node
2. null pointer exception

The consistency check returns the following:
ERR_NODE_HIERARCHY:
Node 1.7998.5 is not a child of 1.44.5
Document ID: 2
ERRORS FOUND.

I am also providing the actual errors as reported by the log file.

1. 2011-08-31 14:08:04,823 [P1-90] FATAL (NativeBroker.java [scanNodes]:3156) - child 47 not found for node: table; children = 8001
2011-08-31 14:08:04,824 [P1-90] ERROR (EXistServlet.java [doDelete]:485) - java.lang.IllegalStateException: Wrong node id
2011-08-31 14:08:04,824 [P1-24] INFO  (NativeBroker.java [removeXMLResource]:2319) - Removing document test_part_supp.xml (2) ...
2011-08-31 14:08:04,827 [P1-24] WARN  (SanityCheck.java [showTrace]:93) - Stacktrace:
org.exist.util.sanity.AssertFailure: TRACE: bad link to next page: 3316; file = dom.dbx; address = cf5000; page header = 64; data start = cf5040; previous: 3314; offset = 1162; lastTID = 34
   at org.exist.util.sanity.SanityCheck.TRACE(SanityCheck.java:72)
   at org.exist.storage.dom.NodeIterator.next(NodeIterator.java:120)
   at org.exist.storage.NativeBroker.scanNodes(NativeBroker.java:3154)
   at org.exist.storage.NativeBroker.dropIndex(NativeBroker.java:2374)
   at org.exist.storage.NativeBroker.removeXMLResource(NativeBroker.java:2323)
   at org.exist.storage.DBBroker.removeXMLResource(DBBroker.java:426)
   at org.exist.collections.Collection.removeXMLResource(Collection.java:822)
   at org.exist.http.RESTServer.doDelete(RESTServer.java:1055)
   at org.exist.http.servlets.EXistServlet.doDelete(EXistServlet.java:463)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:769)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
   at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
   at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
   at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:263)
   at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171)
   at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:47)
   at org.exist.http.urlrewrite.XQueryURLRewrite.doFilter(XQueryURLRewrite.java:212)
   at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
   at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
   at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
   at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
   at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
   at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
   at org.mortbay.http.HttpServer.service(HttpServer.java:909)
   at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
   at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
   at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
   at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
   at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
   at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)


2. null pointer exception
2011-08-31 14:08:04,915 [P1-52] ERROR (EXistServlet.java [doPost]:594) - java.lang.NullPointerException
2011-08-31 14:08:04,918 [P1-94] WARN  (SanityCheck.java [showTrace]:93) - Stacktrace:
org.exist.util.sanity.AssertFailure: TRACE: bad link to next page: 3316; file = dom.dbx; address = cf5000; page header = 64; data start = cf5040; previous: 3314; offset = 1162; lastTID = 34
   at org.exist.util.sanity.SanityCheck.TRACE(SanityCheck.java:72)
   at org.exist.storage.dom.NodeIterator.next(NodeIterator.java:120)
   at org.exist.dom.VirtualNodeSet.addChildren(VirtualNodeSet.java:471)
   at org.exist.dom.VirtualNodeSet.getNodes(VirtualNodeSet.java:386)
   at org.exist.dom.VirtualNodeSet.realize(VirtualNodeSet.java:568)
   at org.exist.dom.VirtualNodeSet.getLength(VirtualNodeSet.java:737)
   at org.exist.dom.VirtualNodeSet.isEmpty(VirtualNodeSet.java:647)
   at org.exist.xquery.GeneralComparison.quickNodeSetCompare(GeneralComparison.java:556)
   at org.exist.xquery.GeneralComparison.eval(GeneralComparison.java:377)
   at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:61)
   at org.exist.xquery.PathExpr.eval(PathExpr.java:241)
   at org.exist.xquery.Predicate.selectByNodeSet(Predicate.java:333)
   at org.exist.xquery.Predicate.evalPredicate(Predicate.java:207)
   at org.exist.xquery.LocationStep.processPredicate(LocationStep.java:236)
   at org.exist.xquery.LocationStep.applyPredicate(LocationStep.java:225)
   at org.exist.xquery.LocationStep.eval(LocationStep.java:390)
   at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:61)
   at org.exist.xquery.PathExpr.eval(PathExpr.java:241)
   at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:61)
   at org.exist.xquery.XQuery.execute(XQuery.java:228)
   at org.exist.xquery.XQuery.execute(XQuery.java:183)
   at org.exist.http.RESTServer.search(RESTServer.java:1148)
   at org.exist.http.RESTServer.doGet(RESTServer.java:349)
   at org.exist.http.servlets.EXistServlet.doGet(EXistServlet.java:330)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
   at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
   at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
   at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:263)
   at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171)
   at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:47)
   at org.exist.http.urlrewrite.XQueryURLRewrite.doFilter(XQueryURLRewrite.java:212)
   at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
   at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
   at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
   at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
   at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
   at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
   at org.mortbay.http.HttpServer.service(HttpServer.java:909)
   at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
   at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
   at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
   at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
   at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
   at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)