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

ASF subversion and git services commented on JENA-1486:
-------------------------------------------------------

Commit 4add7df01950bb24f84f4a20a28129804e59b8a6 in jena's branch 
refs/heads/JENA-1486 from [~rvesse]
[ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=4add7df ]

Make sure to use datasets transactionally (JENA-1486)

textindexer did not use datasets transactionally which could fail for
dataset implementations that require transactional usage.  And it is
safer to always use transactions where provided anyway.


> textindexer CLI tool does not use a read transaction preventing usage with 
> TDB2 datasets
> ----------------------------------------------------------------------------------------
>
>                 Key: JENA-1486
>                 URL: https://issues.apache.org/jira/browse/JENA-1486
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: TDB2, Text
>    Affects Versions: Jena 3.6.0
>            Reporter: Rob Vesse
>            Assignee: Rob Vesse
>            Priority: Major
>
> Reported via mailing list: 
> https://lists.apache.org/thread.html/01e5c0993e616cc33e82ca8351ca8a24ad857fa5ebc9567392e7786a@%3Cusers.jena.apache.org%3E
> Stack trace like so:
> {noformat}
> $ 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)
> {noformat}
> It looks like the {{textindexer}} code doesn't attempt to use a read 
> transaction so it should be changed to do so.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to