[
https://issues.apache.org/jira/browse/CLEREZZA-280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13144948#comment-13144948
]
Paolo Castagna commented on CLEREZZA-280:
-----------------------------------------
Latest TDB release has a MRSW concurrency policy.
TDB currently checks when someone do not obey to that policy:
private void checkConcurrency()
{
long R, W ;
synchronized (this)
{
R = readCounter.get() ;
W = writeCounter.get() ;
}
if ( R > 0 && W > 0 )
policyError(R, W) ;
if ( W > 1 )
policyError(R, W) ;
}
and a ConcurrentModificationException is thrown.
Support for transactions has been also added to TDB (not released yet):
http://openjena.org/wiki/TDB/Transactions
> creating images on the fly: ConcurrentModificationException
> -----------------------------------------------------------
>
> Key: CLEREZZA-280
> URL: https://issues.apache.org/jira/browse/CLEREZZA-280
> Project: Clerezza
> Issue Type: Bug
> Reporter: Tsuyoshi Ito
>
> [qtp2107786874-17] WARN org.eclipse.jetty.util.log -
> /img/original/uruguay_guri_2808-200x187.gif
> java.util.ConcurrentModificationException
> at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.checkCourrentModification(GraphTDBBase.java:209)
> at
> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.hasNext(GraphTDBBase.java:217)
> at
> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.hasNext(JenaGraphAdaptor.java:80)
> at
> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.hasNext(AbstractTripleCollection.java:77)
> at
> org.apache.clerezza.rdf.core.access.LockingIterator.hasNext(LockingIterator.java:47)
> at
> org.apache.clerezza.rdf.utils.UnionMGraph$1.hasNext(UnionMGraph.java:90)
> at
> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.hasNext(AbstractTripleCollection.java:77)
> at
> org.apache.clerezza.rdf.utils.GraphNode$5.hasNext(GraphNode.java:269)
> at
> org.apache.clerezza.rdf.utils.GraphNode$4.prepareNext(GraphNode.java:223)
> at
> org.apache.clerezza.rdf.utils.GraphNode$4.<init>(GraphNode.java:203)
> at
> org.apache.clerezza.rdf.utils.GraphNode.getLiterals(GraphNode.java:201)
> at
> org.apache.clerezza.platform.content.InfoDiscobit.getContentType(InfoDiscobit.java:61)
> at
> org.apache.clerezza.platform.content.InfoDiscobitWriter.writeTo(InfoDiscobitWriter.java:64)
> at
> org.apache.clerezza.platform.content.InfoDiscobitWriter.writeTo(InfoDiscobitWriter.java:42)
> at
> org.apache.clerezza.triaxrs.ResponseProcessor$1.writeTo(ResponseProcessor.java:326)
> at
> org.apache.clerezza.triaxrs.ResponseProcessor$1.access$200(ResponseProcessor.java:273)
> at
> org.apache.clerezza.triaxrs.ResponseProcessor$1$3.run(ResponseProcessor.java:306)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:396)
> at
> org.apache.clerezza.triaxrs.ResponseProcessor$1.writeTo(ResponseProcessor.java:302)
> at
> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:112)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:423)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
> at org.eclipse.jetty.server.Server.handle(Server.java:337)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595)
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549)
> at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211)
> at
> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
> at java.lang.Thread.run(Thread.java:619)
--
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