[
https://issues.apache.org/jira/browse/JENA-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16740742#comment-16740742
]
Amit Kumar commented on JENA-1658:
----------------------------------
[~andy.seaborne] You are right,
here are the commands I was running
{code:java}
./apache-jena-3.10.0/bin/tdb2.tdbloader --loc=data/db data/input/input.nq
./apache-jena-3.10.0/bin/tdb2.tdbstats --loc=data/db
{code}
and then when i was trying to run
{code:java}
./fuseki-server --loc=../data/db --debug -v /my{code}
it was giving the error. Running the fuseki with tdb2 parameter fixed it
{code:java}
./fuseki-server --loc=../data/db --debug -v --tdb2 /my{code}
I'm just starting to play around with these and probably missed it. I now see
some mention of this on
[https://jena.apache.org/documentation/fuseki2/fuseki-run.html#fuseki-standalone-server]
page. Probably the message printed on the command line with the --help option
could be better. At least it should say that we should use the --tdb2 command
if we want to use an existing tdb2 db
{code:java}
./fuseki-server --help
fuseki [--config=FILE] [--mem|--desc=AssemblerFile|--file=FILE] [--port PORT]
/DatasetPathName
Fuseki
--desc= Assembler description file
--mem Create an in-memory, non-persistent dataset for the server
--file=FILE Create an in-memory, non-persistent dataset for the server,
initialised with the contents of the file
--tdb2 Create command line persistent datasets with TDB2
--loc=DIR Use an existing TDB database (or create if does not exist){code}
> tdb2.tdbstats leaves behind tdb.lock
> --------------------------------------
>
> Key: JENA-1658
> URL: https://issues.apache.org/jira/browse/JENA-1658
> Project: Apache Jena
> Issue Type: Bug
> Components: Cmd line tools, Fuseki, TDB2
> Affects Versions: Jena 3.8.0, Jena 3.9.0, Jena 3.10.0
> Environment: Mac OS X 10.14.2 2.8 GHz Intel Core i7 16 GB 1600 MHz
> DDR3
> Reporter: Amit Kumar
> Priority: Minor
>
> Running tdb2.tdbstats on an existing TDB2 db leaves behind the *tdb.lock*
> file. Then if we try to start a fuseki-server using the same tdb directory it
> gives an error
>
> {code:java}
> org.apache.jena.assembler.exceptions.AssemblerException: caught: Unable to
> check TDB lock owner as the lock file contains invalid data
> doing:
> root: file:///my#tdb_dataset_readwrite with type:
> http://jena.hpl.hp.com/2008/tdb#DatasetTDB assembler class: class
> org.apache.jena.tdb.assembler.DatasetAssemblerTDB
> at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:165)
> at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
> at
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
> at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
> at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
> at org.apache.jena.fuseki.build.FusekiConfig.getDataset(FusekiConfig.java:345)
> at
> org.apache.jena.fuseki.build.FusekiConfig.buildDataService(FusekiConfig.java:299)
> ...
> ...
> Caused by: org.apache.jena.tdb.base.file.FileException: Unable to check TDB
> lock owner as the lock file contains invalid data
> at org.apache.jena.tdb.base.file.LocationLock.getOwner(LocationLock.java:111)
> at org.apache.jena.tdb.base.file.LocationLock.canObtain(LocationLock.java:130)
> at org.apache.jena.tdb.StoreConnection._makeAndCache(StoreConnection.java:267)
> at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:231)
> at org.apache.jena.tdb.StoreConnection.make(StoreConnection.java:245)
> at
> org.apache.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:72)
> at org.apache.jena.tdb.sys.TDBMaker._create(TDBMaker.java:80)
> at
> org.apache.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:44)
> at org.apache.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:89)
> at org.apache.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:71)
> at
> org.apache.jena.tdb.assembler.DatasetAssemblerTDB.make(DatasetAssemblerTDB.java:57)
> at
> org.apache.jena.tdb.assembler.DatasetAssemblerTDB.createDataset(DatasetAssemblerTDB.java:48)
> at
> org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43)
> at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
> ... 41 more
> Caused by: java.lang.NumberFormatException: For input string: "41080
> "
> at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.lang.Integer.parseInt(Integer.java:580)
> at java.lang.Integer.parseInt(Integer.java:615)
> at org.apache.jena.tdb.base.file.LocationLock.getOwner(LocationLock.java:106)
> ... 54 more{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)