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

ASF GitHub Bot commented on JENA-1486:
--------------------------------------

GitHub user rvesse opened a pull request:

    https://github.com/apache/jena/pull/360

    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.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/rvesse/jena JENA-1486

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jena/pull/360.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #360
    
----
commit 0eeb40db8eb8b64617b232aaf8806769c00df964
Author: Rob Vesse <rvesse@...>
Date:   2018-02-12T14:19:01Z

    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