You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2019/02/09 16:00:00 UTC
[jira] [Created] (JENA-1667) Union graph does not fully handle
read-transactions.
Andy Seaborne created JENA-1667:
-----------------------------------
Summary: 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
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
(v7.6.3#76005)