[
https://issues.apache.org/jira/browse/JENA-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16930622#comment-16930622
]
A. Soroka commented on JENA-1667:
---------------------------------
Related thread:
https://lists.apache.org/thread.html/ea87ca3eff5bfac3fa4c723b9bf02c0908d7146c161f9820b1b8b526@%3Cusers.jena.apache.org%3E
> Union graph does not fully handle read-transactions.
> ----------------------------------------------------
>
> Key: JENA-1667
> URL: https://issues.apache.org/jira/browse/JENA-1667
> Project: Apache Jena
> Issue Type: Bug
> Affects Versions: Jena 3.10.0
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
> Priority: Major
>
> See discussion on JENA-1663.
> {noformat}
> :service_union_all a fuseki:Service ;
> rdfs:label "Union of all caches" ;
> fuseki:dataset :ds_union_all ;
> fuseki:name "union_all" ;
> fuseki:serviceQuery "query" , "sparql" ;
> # READ ONLY, no Update/Upload-enpoints
> fuseki:serviceReadGraphStore "get" .
> :union_all_model rdf:type ja:UnionModel ;
> ja:subModel :g1 ;
> ja:subModel :g2 ;
> ja:subModel :g3 ;
> ja:subModel :g4 .
> :ds_union_all a ja:RDFDataset ;
> ja:defaultGraph :union_all_model .
> :ds1_tdb2 a tdb2:DatasetTDB2 ;
> tdb2:location "tdb2_1" .
> :g1 a tdb2:GraphTDB2 ;
> tdb2:dataset :ds1_tdb2 .
> :ds2_tdb2 a tdb2:DatasetTDB2 ;
> tdb2:location "tdb2_2" .
> :g2 a tdb2:GraphTDB2 ;
> tdb2:dataset :ds2_tdb2 .
> :ds3_tdb a tdb:DatasetTDB ;
> tdb:location "tdb_3" .
>
> :g3 a tdb:GraphTDB ;
> tdb:dataset :ds3_tdb .
> :ds4_tdb2 a tdb2:DatasetTDB2 ;
> tdb2:location "tdb2_4" .
>
> :g4 a tdb2:GraphTDB2 ;
> tdb2:dataset :ds4_tdb2 .
> {noformat}
> that is, graph from different TDB2 datasets, causes:
> {noformat}
> [2019-02-06 15:53:18] Fuseki WARN [12] RC = 500 : Not in a transaction
> org.apache.jena.dboe.transaction.txn.TransactionException: Not in a
> transaction
> at
> org.apache.jena.dboe.transaction.txn.TransactionalComponentLifecycle.checkTxn(TransactionalComponentLifecycle.java:417)
> at
> org.apache.jena.dboe.trans.bplustree.BPlusTree.getRootRead(BPlusTree.java:159)
> at
> org.apache.jena.dboe.trans.bplustree.BPlusTree.iterator(BPlusTree.java:348)
> at
> org.apache.jena.tdb2.store.tupletable.TupleIndexRecord.all(TupleIndexRecord.java:251)
> at org.apache.jena.tdb2.store.tupletable.TupleTable.find(TupleTable.java:148)
> at
> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:161)
> at
> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.find(NodeTupleTableConcrete.java:150)
> at
> org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:141)
> at org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64)
> at
> org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(DatasetGraphTDB.java:104)
> at
> org.apache.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:47)
> at
> org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:167)
> at org.apache.jena.sparql.core.GraphView.graphBaseFind(GraphView.java:124)
> at org.apache.jena.sparql.core.GraphView.graphBaseFind(GraphView.java:116)
> at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:241)
> at
> org.apache.jena.graph.compose.MultiUnion.multiGraphFind(MultiUnion.java:170)
> at
> org.apache.jena.graph.compose.MultiUnion.graphBaseFind(MultiUnion.java:147)
> at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:241)
> at org.apache.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:258)
> at org.apache.jena.graph.impl.GraphBase.find(GraphBase.java:255)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.<init>(QueryIterTriplePattern.java:75)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern.nextStage(QueryIterTriplePattern.java:49)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:108)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterBlockTriples.hasNextBinding(QueryIterBlockTriples.java:63)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:58)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.iterator.QueryIterSlice.hasNextBinding(QueryIterSlice.java:76)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
> at
> org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:114)
> at
> org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
> at
> org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:55)
> at
> org.apache.jena.fuseki.servlets.SPARQL_Query.executeQuery(SPARQL_Query.java:350)
> at
> org.apache.jena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:288)
> at
> org.apache.jena.fuseki.servlets.SPARQL_Query.executeWithParameter(SPARQL_Query.java:242)
> at
> org.apache.jena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:227)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)