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

textindexer CLI tool does not use a read transaction preventing usage with TDB2 datasets

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Jena 3.6.0
    • Jena 3.7.0
    • TDB2, Text
    • None

    Description

      Reported via mailing list: https://lists.apache.org/thread.html/01e5c0993e616cc33e82ca8351ca8a24ad857fa5ebc9567392e7786a@%3Cusers.jena.apache.org%3E

      Stack trace like so:

      $ java -cp $FUSEKI_HOME/fuseki-server.jar jena.textindexer --desc=sepadcat.ttl 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.find(BPlusTree.java:239) at org.apache.jena.tdb2.store.nodetable.NodeTableNative.accessIndex(NodeTableNative.java:133) at org.apache.jena.tdb2.store.nodetable.NodeTableNative._idForNode(NodeTableNative.java:118) at org.apache.jena.tdb2.store.nodetable.NodeTableNative.getNodeIdForNode(NodeTableNative.java:57) at org.apache.jena.tdb2.store.nodetable.NodeTableCache._idForNode(NodeTableCache.java:222) at org.apache.jena.tdb2.store.nodetable.NodeTableCache.getNodeIdForNode(NodeTableCache.java:114) at org.apache.jena.tdb2.store.nodetable.NodeTableWrapper.getNodeIdForNode(NodeTableWrapper.java:47) at org.apache.jena.tdb2.store.nodetable.NodeTableInline.getNodeIdForNode(NodeTableInline.java:58) at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.idForNode(NodeTupleTableConcrete.java:182) at org.apache.jena.tdb2.store.nodetupletable.NodeTupleTableConcrete.findAsNodeIds(NodeTupleTableConcrete.java:136) at org.apache.jena.tdb2.store.TripleTable.find(TripleTable.java:64) at org.apache.jena.tdb2.store.DatasetGraphTDB.findInDftGraph(DatasetGraphTDB.java:109) at org.apache.jena.sparql.core.DatasetGraphBaseFind.findAny(DatasetGraphBaseFind.java:72) at org.apache.jena.sparql.core.DatasetGraphBaseFind.find(DatasetGraphBaseFind.java:50) at org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:151) at org.apache.jena.sparql.core.DatasetGraphWrapper.find(DatasetGraphWrapper.java:151) at jena.textindexer.exec(textindexer.java:118) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at jena.textindexer.main(textindexer.java:51)

      It looks like the textindexer code doesn't attempt to use a read transaction so it should be changed to do so.

      Attachments

        Issue Links

          Activity

            People

              rvesse Rob Vesse
              rvesse Rob Vesse
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: