thanks Andy, how can I track commits? I went to http://svn.apache.org/viewvc?rev=1398525&view=rev, which allows me to look at individual revision numbers, but can I subscribe to a mailing list where the revisions are sent to? Or, can I use viewvc to just see the commits to Jena components?
Simon From: Andy Seaborne <[email protected]> To: [email protected] Date: 10/16/2012 08:08 AM Subject: Re: concurrent modification in BlockMgrJournal On 15/10/12 22:38, Simon Helsen wrote: > thanks for the quick analysis. I am pretty sure there is no concurrent > access inside one active transaction (Our code doesn't do that kind of > thing). But we are using TDB's ability to insert a quad filter and during > the query calculations, you escape to our registered filter which may on > its turn perform a graph find action. This is what you can see in the > stack trace, i.e. we enter ARQ in > com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext and Jena jumps back > in org.openjena.atlas.iterator.RepeatApplyIterator.hasNext, which then > calls com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.find. However, > it all happens in one and the same thread. > > Can you tell me what classes I need to look at? I will probably have to > backport and patch 2.7.1 for our earlier release based on that version. I > would be able to provide a patch to our test team and have them restart a > run > > Simon The changes are all in BlockMgrJournal: the commit email to [email protected] has all the details - see below for a copy of the start of that message which includes a link to the diff. Re: quad filtering. That does not cause this problem as it does not result in two threads in Set<>.add. Don't see why if shouldn't work, it's just like another read action inside a transaction. The filtering is applied outside the core index access code, (it filters a NodeId binding iterator) so, to the TDB system, it looks just like another read action during iteration of another read action which is fine. Andy Author: andy Date: Mon Oct 15 21:10:21 2012 New Revision: 1398525 URL: http://svn.apache.org/viewvc?rev=1398525&view=rev Log: Only record read/readIterator blocks during a transaction. Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/BlockMgrJournal.java Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/BlockMgrJournal.java URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/transaction/BlockMgrJournal.java?rev=1398525&r1=1398524&r2=1398525&view=diff
