[ 
https://issues.apache.org/jira/browse/JENA-131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143485#comment-13143485
 ] 

Simon Helsen commented on JENA-131:
-----------------------------------

I finally found some time to investigate this further. This is quite tricky for 
me since I don't know much of the transaction code, but I can try to gather 
evidence which may show the problematic path. First, in order to find out what 
the path is of the concurrent threads trying to remove the iterator, I had to 
instrument the Transaction code. I replaced the one-liner :

public void removeIterator(Iterator<?> iter)    { iterators.remove(iter) ; }

with the following:

   private StackTraceElement[] enteredThread = null;
    private String previousThreadName = null;
    public void removeIterator(Iterator<?> iter)    { 
        StackTraceElement[] previousThread = enteredThread;
        if (previousThread != null) {
                System.out.println("2 threads accessing removeIterator at the 
same time in transaction " + this.toString());
                System.out.println("previous thread:" + previousThreadName);
                
                for(int i = 0; i < previousThread.length; i++) {
                        System.out.println(previousThread[i].toString());
                }
                
                System.out.println("current thread:" + 
Thread.currentThread().getName());
                StackTraceElement[] currentStackTrace = 
Thread.currentThread().getStackTrace();
                for(int i = 0; i < currentStackTrace.length; i++) {
                        System.out.println(currentStackTrace[i].toString());
                }
        }
        enteredThread = Thread.currentThread().getStackTrace();
        previousThreadName = Thread.currentThread().getName();
        iterators.remove(iter) ;
        enteredThread = null;}

Now, in order to show that the threads which concurrently try to remove the 
iterator are actually being started in separated transactions (different ones 
it turns out - see below), I also instrumented my own invocation in the 
respective JenaTdbTxProvider.storeOperation methods (as you will see from the 
traces below). I got some curious results:

starting Transaction: 102 : Mode=READ : State=ACTIVE : 
D:\jfsDev\working_dir\indices\0ed6df84396e4d16801f7daf97c16ecb\jfs-rdfindex\ in 
thread 300814830@qtp-48235232-6
starting Transaction: 117 : Mode=READ : State=ACTIVE : 
D:\jfsDev\working_dir\indices\0ed6df84396e4d16801f7daf97c16ecb\jfs-rdfindex\ in 
thread 81462491@qtp-48235232-5

2 threads accessing removeIterator at the same time in transaction Transaction: 
94 : Mode=WRITE : State=CLOSED : 
D:\jfsDev\working_dir\indices\0ed6df84396e4d16801f7daf97c16ecb\jfs-rdfindex\
previous thread:300814830@qtp-48235232-6
java.lang.Thread.getStackTraceImpl(Native Method)
java.lang.Thread.getStackTrace(Thread.java:1042)
com.hp.hpl.jena.tdb.transaction.Transaction.removeIterator(Transaction.java:207)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:312)
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.endIterator(BlockMgrWrapper.java:134)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.close(RecordRangeIterator.java:155)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:112)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.hasNext(DatasetControlMRSW.java:119)
org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:173)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:173)
org.openjena.atlas.iterator.Iter.hasNext(Iter.java:766)
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:42)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConcat.hasNextBinding(QueryIterConcat.java:83)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:79)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPeek.hasNextBinding(QueryIterPeek.java:57)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:65)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterSlice.hasNextBinding(QueryIterSlice.java:76)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
com.ibm.team.jfs.rdf.internal.jena.InternalResultSet.retrieveFirstPage(InternalResultSet.java:61)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.renderSelect(JenaTdbTxProvider.java:1756)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.performSelect(JenaTdbTxProvider.java:1510)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider$15.run(JenaTdbTxProvider.java:1626)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider$15.run(JenaTdbTxProvider.java:1)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.storeOperation(JenaTdbTxProvider.java:196)

current thread:81462491@qtp-48235232-5
java.lang.Thread.getStackTraceImpl(Native Method)
java.lang.Thread.getStackTrace(Thread.java:1042)
com.hp.hpl.jena.tdb.transaction.Transaction.removeIterator(Transaction.java:202)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:312)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:313)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:313)
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.endIterator(BlockMgrWrapper.java:134)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.close(RecordRangeIterator.java:155)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:112)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.hasNext(DatasetControlMRSW.java:119)
org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:173)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:173)
org.openjena.atlas.iterator.Iter.hasNext(Iter.java:766)
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:42)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConcat.hasNextBinding(QueryIterConcat.java:83)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:79)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConcat.hasNextBinding(QueryIterConcat.java:83)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:79)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPeek.hasNextBinding(QueryIterPeek.java:57)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:287)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterProcessBinding.hasNextBinding(QueryIterProcessBinding.java:60)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:65)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIterSlice.hasNextBinding(QueryIterSlice.java:76)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
com.ibm.team.jfs.rdf.internal.jena.InternalResultSet.retrieveFirstPage(InternalResultSet.java:61)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.renderSelect(JenaTdbTxProvider.java:1756)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.performSelect(JenaTdbTxProvider.java:1510)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider$15.run(JenaTdbTxProvider.java:1626)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider$15.run(JenaTdbTxProvider.java:1)
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTdbTxProvider.storeOperation(JenaTdbTxProvider.java:196)

First note that the transaction which is concurrently modified is not the same 
transaction in which the 2 concurrent threads run(!). Second, without too much 
knowledge about the details of the transaction code, I suspect something is not 
right somewhere around here in the stacktraces:

com.hp.hpl.jena.tdb.transaction.Transaction.removeIterator(Transaction.java:207)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:312)
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.endIterator(BlockMgrWrapper.java:134)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.close(RecordRangeIterator.java:155)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:112)

and respectively

com.hp.hpl.jena.tdb.transaction.Transaction.removeIterator(Transaction.java:202)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:312)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:313)
com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:313)
com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.endIterator(BlockMgrWrapper.java:134)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.close(RecordRangeIterator.java:155)
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:112)

Hopefully you can make sense of it. The one thing that is 100% is that the 
IndexOutOfBounds is caused by an attempt to concurrently remove the iterator in 
this one transaction.


                
> TxTDB problem during concurrent execution
> -----------------------------------------
>
>                 Key: JENA-131
>                 URL: https://issues.apache.org/jira/browse/JENA-131
>             Project: Jena
>          Issue Type: Bug
>          Components: TDB
>         Environment: arq-2.8.9-20111001.145524-39 and 
> tx-tdb-0.9.0-20111006.082548-13 on IBM JRE 6
>            Reporter: Simon Helsen
>         Attachments: patch.txt
>
>
> In a massive concurrent test with many reads and writes, I am running into 
> the problems shown below. I suspect the problem only occurs if a read and 
> write are trying to operate on the same data at the same time, i.e. the 
> transactions don't isolate enough. My test case is inside the framework. I 
> currently have no test case for you to try, but I am hoping you can see 
> something by inspecting the stack trace
> ModelWriteActivity: 1579ms
> 17:46:27,183 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterConcat/55657
> 17:46:27,254 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterSingleton/55658
> 17:46:27,257 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterPeek/55659
> 17:46:27,261 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterTDB/55660
> 17:46:27,264 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterOptionalIndex/55661
> 17:46:27,335 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterOptionalIndex/55662
> 17:46:27,338 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterDefaulting/55803
> 17:46:27,395 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterDefaulting/55807
> 17:46:27,399 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterPeek/55808
> 17:46:27,403 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterTDB/55809
> 17:46:27,406 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterAssign/55810
> 17:46:27,410 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterSingleton/55811
> 17:46:27,490 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterPeek/55812
> 17:46:27,493 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterTDB/55813
> 17:46:27,497 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterOptionalIndex/55814
> 17:46:27,502 [1948218399@qtp-533667791-14]  WARN 
> hpl.jena.sparql.engine.iterator.QueryIteratorCheck  - Open iterator: 
> QueryIterOptionalIndex/55815
> 17:46:27,507 [1948218399@qtp-533667791-14] ERROR com.ibm.team.jfs             
>                        - Originating Exception:
> java.lang.IndexOutOfBoundsException: Index: 20, Size: 18
>       at java.util.ArrayList.remove(ArrayList.java:552)
>       at java.util.ArrayList.remove(ArrayList.java:572)
>       at 
> com.hp.hpl.jena.tdb.transaction.Transaction.removeIterator(Transaction.java:188)
>       at 
> com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:312)
>       at 
> com.hp.hpl.jena.tdb.transaction.BlockMgrJournal.endIterator(BlockMgrJournal.java:313)
>       at 
> com.hp.hpl.jena.tdb.base.block.BlockMgrWrapper.endIterator(BlockMgrWrapper.java:134)
>       at 
> com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.close(RecordRangeIterator.java:155)
>       at 
> com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:112)
>       at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:274)
>       at 
> com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.hasNext(DatasetControlMRSW.java:119)
>       at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:164)
>       at org.openjena.atlas.iterator.Iter$6.hasNext(Iter.java:359)
>       at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:164)
>       at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:274)
>       at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:164)
>       at org.openjena.atlas.iterator.Iter.hasNext(Iter.java:742)
>       at 
> org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:58)
>       at 
> org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
>       at 
> org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
>       at 
> org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
>       at 
> org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
>       at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:274)
>       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:107)
>       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:107)
>       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:107)
>       at 
> com.hp.hpl.jena.tdb.solver.OpExecutorTDB.optimizeExecuteQuads(OpExecutorTDB.java:215)
>       at 
> com.hp.hpl.jena.tdb.solver.OpExecutorTDB.execute(OpExecutorTDB.java:152)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:63)
>       at 
> com.hp.hpl.jena.sparql.algebra.op.OpQuadPattern.visit(OpQuadPattern.java:97)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:43)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.executeOp(OpExecutor.java:119)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:208)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:105)
>       at 
> com.hp.hpl.jena.sparql.algebra.op.OpSequence.visit(OpSequence.java:73)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:45)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.executeOp(OpExecutor.java:119)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:464)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:246)
>       at com.hp.hpl.jena.sparql.algebra.op.OpAssign.visit(OpAssign.java:116)
>       at 
> com.hp.hpl.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:45)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.executeOp(OpExecutor.java:119)
>       at 
> com.hp.hpl.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:92)
>       at com.hp.hpl.jena.sparql.engine.main.QC.execute(QC.java:52)
>       at 
> com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterUnion.nextStage(QueryIterUnion.java:55)
>       at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:113)
>       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:107)
>       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:107)
>       at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterSlice.hasNextBinding(QueryIterSlice.java:76)
>       at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:107)
>       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:107)
>       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:107)
>       at 
> com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:70)
>       at 
> com.hp.hpl.jena.sparql.engine.QueryExecutionBase.execDescribe(QueryExecutionBase.java:278)
>       at 
> com.hp.hpl.jena.sparql.engine.QueryExecutionBase.execDescribe(QueryExecutionBase.java:256)
>         <snip>
> DataSetReadActivity: 1249ms

--
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

        

Reply via email to