Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-1667

Union graph does not fully handle read-transactions.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Jena 3.10.0
    • None
    • None
    • None

    Description

      See discussion on JENA-1663.

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

      that is, graph from different TDB2 datasets, causes:

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

      Attachments

        Issue Links

          Activity

            People

              andy Andy Seaborne
              andy Andy Seaborne
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: