Hi everyone,

in some of our testing, we are still working with 2.7.1, so I am trying to 
figure out if the issue observed might be fixed in 2.7.4 or not, or, if we 
are making a mistake ourselves. I don't have a test case right now because 
the problem only surfaced in a heavy-duty (200+ clients) 5-day reliability 
test. So, I currently have no idea about the circumstances or even a hint 
on how to reproduce, but perhaps someone will recognize this issue. I 
suspect the problem is caused by our usage of 

At some point in our code (this is in the SecuringFilter.getPropertyFor 
you see below in the stack trace), we have this

results = this.datasetGraphTransaction.find(graphNode, Node.ANY, property, 
Node.ANY);

where

this.datasetGraphTransaction = (DatasetGraphTransaction) 
(queryContext.getDataset().asDatasetGraph());

is created at the beginning of the transaction. Everything you see below 
sits in a read transaction. 

I also looked at the code in BlockMgrJournal and I am not sure what the 
purpose is of final private Set<Long> iteratorBlocks = new HashSet<Long>() 
; in which the concurrent mod seems to happen. Is it only for logging 
purposes?

thanks

Simon


Caused by: java.util.ConcurrentModificationException
    at 
java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap.java:122)
    at java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127)
    at java.util.HashMap$KeyIterator.next(HashMap.java:200)
    at java.util.HashMap.analyzeMap(HashMap.java:724)
    at java.util.HashMap.rehash(HashMap.java:710)
    at java.util.HashMap.rehash(HashMap.java:743)
    at java.util.HashMap.putImpl(HashMap.java:629)
    at java.util.HashMap.put(HashMap.java:607)
    at java.util.HashSet.add(HashSet.java:95)
    at 
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.getReadIterator(BlockMgrJournal.java:149)
    at 
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.getReadIterator(BlockMgrJournal.java:146)
    at 
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.getReadIterator(BlockMgrWrapper.java:58)
    at 
com.hp.hpl.jena.tdb.base.recordbuffer.RecordBufferPageMgr.getReadIterator(RecordBufferPageMgr.java:53)
    at com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.<init>
(RecordRangeIterator.java:82)
    at 
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.iterator(RecordRangeIterator.java:40)
    at 
com.hp.hpl.jena.tdb.index.bplustree.BPlusTree.iterator(BPlusTree.java:383)
    at 
com.hp.hpl.jena.tdb.index.bplustree.BPlusTree.iterator(BPlusTree.java:366)
    at 
com.hp.hpl.jena.tdb.index.TupleIndexRecord.findWorker(TupleIndexRecord.java:164)
    at 
com.hp.hpl.jena.tdb.index.TupleIndexRecord.findOrScan(TupleIndexRecord.java:84)
    at 
com.hp.hpl.jena.tdb.index.TupleIndexRecord.performFind(TupleIndexRecord.java:78)
    at 
com.hp.hpl.jena.tdb.index.TupleIndexBase.find(TupleIndexBase.java:91)
    at com.hp.hpl.jena.tdb.index.TupleTable.find(TupleTable.java:172)
    at 
com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:169)
    at 
com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:157)
    at 
com.hp.hpl.jena.tdb.nodetable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:146)
    at com.hp.hpl.jena.tdb.store.QuadTable.find(QuadTable.java:87)
    at 
com.hp.hpl.jena.tdb.store.DatasetGraphTDB.findInSpecificNamedGraph(DatasetGraphTDB.java:108)
    at 
com.hp.hpl.jena.sparql.core.DatasetGraphBaseFind.findNG(DatasetGraphBaseFind.java:59)
    at 
com.hp.hpl.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:48)
    at 
com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.find(DatasetGraphTrackActive.java:165)
    at 
com.ibm.team.jfs.rdf.internal.jena.SecuringFilter.getPropertyFor(SecuringFilter.java:156)
    at 
com.ibm.team.jfs.rdf.internal.jena.SecuringFilter.getContextFor(SecuringFilter.java:149)
    at 
com.ibm.team.jfs.rdf.internal.jena.SecuringFilter.checkContextFor(SecuringFilter.java:136)
    at 
com.ibm.team.jfs.rdf.internal.jena.SecuringFilter.accept(SecuringFilter.java:94)
    at 
com.ibm.team.jfs.rdf.internal.jena.SecuringFilter.accept(SecuringFilter.java:1)
    at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:187)
    at org.openjena.atlas.iterator.Iter$6.hasNext(Iter.java:386)
    at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:181)
    at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:295)
    at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:181)
    at org.openjena.atlas.iterator.Iter.hasNext(Iter.java:808)
    at 
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:58)
    at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:295)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:106)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:65)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
    at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
    at 
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
    at com.ibm.team.jfs.rdf.internal.jena.InternalResultSet.<init>
(InternalResultSet.java:26)
    at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.performSelect(JenaTxTdbProvider.java:1396)
    at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$15.run(JenaTxTdbProvider.java:1541)
    at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$15.run(JenaTxTdbProvider.java:1)
    at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.storeOperation(JenaTxTdbProvider.java:1968)

Reply via email to