You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by "Sweeney, Chris" <Ch...@sepa.org.uk> on 2018/02/12 12:21:45 UTC

TDB2 - text indexing error on rebuilding indexes with jena.textindexer

Using version 3.6.0 and TDB2 with Java 1.8.0_162 and running java -cp $FUSEKI_HOME/fuseki-server.jar jena.textindexer --desc=sepadcat.ttl

I tried to update the text indexes after adding a field in the assembler file and got the error below.
I deleted the indexes, reverted to the previous assembler file and tried re-building the indexes and got the same error.
The indexes are created OK if I delete the database and indexes, restart Fuseki and upload the data. 
Should I be invoking some other class when using TDB2?



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


Regards,


Chris Sweeney
SEPA
t: 01698 839437
e: chris.sweeney@sepa.org.uk


Re: TDB2 - text indexing error on rebuilding indexes with jena.textindexer

Posted by Rob Vesse <rv...@dotnetrdf.org>.
Filed as JENA-1486: https://issues.apache.org/jira/browse/JENA-1486

Rob

On 12/02/2018, 14:11, "Rob Vesse" <rv...@dotnetrdf.org> wrote:

    This is probably a bug in the command line tool textindexer, looking at the source code it just attempts to access the Dataset given in the descriptor without attempting to use a transaction.  Since TDB2 requires transactions it will not be possible to use this tool until the bug is fixed
    
    Rob
    
    On 12/02/2018, 12:23, "Sweeney, Chris" <Ch...@sepa.org.uk> wrote:
    
        Using version 3.6.0 and TDB2 with Java 1.8.0_162 and running java -cp $FUSEKI_HOME/fuseki-server.jar jena.textindexer --desc=sepadcat.ttl
        
        I tried to update the text indexes after adding a field in the assembler file and got the error below.
        I deleted the indexes, reverted to the previous assembler file and tried re-building the indexes and got the same error.
        The indexes are created OK if I delete the database and indexes, restart Fuseki and upload the data. 
        Should I be invoking some other class when using TDB2?
        
        
        
        $ 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)
        
        
        Regards,
        
        
        Chris Sweeney
        SEPA
        t: 01698 839437
        e: chris.sweeney@sepa.org.uk
        
        
    
    
    
    
    





Re: TDB2 - text indexing error on rebuilding indexes with jena.textindexer

Posted by Rob Vesse <rv...@dotnetrdf.org>.
This is probably a bug in the command line tool textindexer, looking at the source code it just attempts to access the Dataset given in the descriptor without attempting to use a transaction.  Since TDB2 requires transactions it will not be possible to use this tool until the bug is fixed

Rob

On 12/02/2018, 12:23, "Sweeney, Chris" <Ch...@sepa.org.uk> wrote:

    Using version 3.6.0 and TDB2 with Java 1.8.0_162 and running java -cp $FUSEKI_HOME/fuseki-server.jar jena.textindexer --desc=sepadcat.ttl
    
    I tried to update the text indexes after adding a field in the assembler file and got the error below.
    I deleted the indexes, reverted to the previous assembler file and tried re-building the indexes and got the same error.
    The indexes are created OK if I delete the database and indexes, restart Fuseki and upload the data. 
    Should I be invoking some other class when using TDB2?
    
    
    
    $ 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)
    
    
    Regards,
    
    
    Chris Sweeney
    SEPA
    t: 01698 839437
    e: chris.sweeney@sepa.org.uk