Paolo, I think it's a feature. Between 0.8.9 and trunk, TDB got much more sensitive to modifying anything at all while any iterator was live.
On Tue, Feb 8, 2011 at 1:13 PM, Paolo Castagna <[email protected]> wrote: > Hi, > today, I have been playing with the BSBM (i.e. trying to automate as much as > possible). > I got a (reasonable?) bash script: > https://github.com/castagna/bsbm-automated > > If I use just one client everything is fine. > > However, when I try to run BSBM against Fuseki with more than one client > (i.e. BSBM uses multiple threads to run queries) I get this exception on the > Fuseki log: > > java.util.ConcurrentModificationException: Reader = 0, Writer = 2 > at > com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.policyError(ConcurrencyPolicyMRSW.java:127) > at > com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.policyError(ConcurrencyPolicyMRSW.java:122) > at > com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.checkConcurrency(ConcurrencyPolicyMRSW.java:62) > at > com.hp.hpl.jena.tdb.sys.ConcurrencyPolicyMRSW.startUpdate(ConcurrencyPolicyMRSW.java:46) > at > com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.startWrite(NodeTupleTableConcrete.java:54) > at > com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.sync(NodeTupleTableConcrete.java:237) > at com.hp.hpl.jena.tdb.store.TripleTable.sync(TripleTable.java:89) > at > com.hp.hpl.jena.tdb.store.DatasetGraphTDB.sync(DatasetGraphTDB.java:262) > at com.hp.hpl.jena.sparql.SystemARQ.sync(SystemARQ.java:47) > at org.openjena.fuseki.servlets.HttpAction.sync(HttpAction.java:61) > at > org.openjena.fuseki.servlets.HttpAction.endWrite(HttpAction.java:39) > at > org.openjena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:226) > at > org.openjena.fuseki.servlets.SPARQL_Query.executeForm(SPARQL_Query.java:187) > at > org.openjena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:87) > at > org.openjena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_ServletBase.java:76) > at > org.openjena.fuseki.servlets.SPARQL_Query.doGet(SPARQL_Query.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:475) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) > at org.eclipse.jetty.server.Server.handle(Server.java:352) > at > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) > at > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1052) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) > at > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) > at > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) > at > org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:292) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) > at java.lang.Thread.run(Thread.java:619) > > I have been using TDB (from trunk) and Fuseki (from trunk): > > Jena: VERSION: 2.6.4 > Jena: BUILD_DATE: 2010-12-12T16:56:15+0000 > ARQ: VERSION: 2.8.8-SNAPSHOT > ARQ: BUILD_DATE: 2011-02-04T18:04:22+0000 > TDB: VERSION: 0.8.10-SNAPSHOT > TDB: BUILD_DATE: 2011-02-07T13:25:50+0000 > Fuseki: VERSION: 0.2.0-SNAPSHOT > Fuseki: BUILD_DATE: 2011-02-08T12:43:18+0000 > > I have tried to do the same with Joseki v3.4.3 (I was not able to check it > out using CVS as anonymous user, bah...) > > I know, I know... > > I am just asking, is it a known problem? > > Paolo >
