Skip to content

TDB data source incompatible with new Jena #53

@smalyshev

Description

@smalyshev

I tried to upgrade this package to Jena 3.10.0 (since 3.1.0 has dependencies which have some security issues) and I get Not in a transaction exceptions in tests, e.g.:

estEstimate(org.linkeddatafragments.test.datasource.JenaTDBDataSourceTest)  Time elapsed: 0.003 sec  <<< ERROR!
org.apache.jena.tdb.transaction.TDBTransactionException: Not in a transaction
	at org.apache.jena.tdb.transaction.DatasetGraphTransaction.get(DatasetGraphTransaction.java:140)
	at org.apache.jena.tdb.transaction.DatasetGraphTransaction.getDatasetGraphToQuery(DatasetGraphTransaction.java:86)
	at org.apache.jena.tdb.store.GraphTxnTDB.getDatasetGraphTDB(GraphTxnTDB.java:51)
	at org.apache.jena.tdb.store.GraphTDB.getNodeTupleTable(GraphTDB.java:89)
	at org.apache.jena.tdb.solver.SolverLib.execute(SolverLib.java:66)
	at org.apache.jena.tdb.solver.StageGeneratorDirectTDB.execute(StageGeneratorDirectTDB.java:56)
	at org.apache.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:128)
	at org.apache.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:58)
	at org.apache.jena.sparql.algebra.op.OpBGP.visit(OpBGP.java:49)
	at org.apache.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:46)
	at org.apache.jena.sparql.engine.main.OpExecutor.exec(OpExecutor.java:117)
	at org.apache.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:376)
	at org.apache.jena.sparql.engine.main.ExecutionDispatch.visit(ExecutionDispatch.java:323)
	at org.apache.jena.sparql.algebra.op.OpTopN.visit(OpTopN.java:50)
	at org.apache.jena.sparql.engine.main.ExecutionDispatch.exec(ExecutionDispatch.java:46)
	at org.apache.jena.sparql.engine.main.OpExecutor.exec(OpExecutor.java:117)
	at org.apache.jena.sparql.engine.main.OpExecutor.execute(OpExecutor.java:88)
	at org.apache.jena.sparql.engine.main.QC.execute(QC.java:52)
	at org.apache.jena.sparql.engine.main.QueryEngineMain.eval(QueryEngineMain.java:55)
	at org.apache.jena.sparql.engine.QueryEngineBase.evaluate(QueryEngineBase.java:175)
	at org.apache.jena.sparql.engine.QueryEngineBase.createPlan(QueryEngineBase.java:131)
	at org.apache.jena.sparql.engine.QueryEngineBase.getPlan(QueryEngineBase.java:112)
	at org.apache.jena.sparql.engine.main.QueryEngineMain$QueryEngineMainFactory.create(QueryEngineMain.java:90)
	at org.apache.jena.sparql.engine.QueryExecutionBase.getPlan(QueryExecutionBase.java:600)
	at org.apache.jena.sparql.engine.QueryExecutionBase.startQueryIterator(QueryExecutionBase.java:545)
	at org.apache.jena.sparql.engine.QueryExecutionBase.execConstructTriples(QueryExecutionBase.java:238)
	at org.apache.jena.sparql.engine.QueryExecutionBase.execConstruct(QueryExecutionBase.java:211)
	at org.linkeddatafragments.datasource.tdb.JenaTDBBasedRequestProcessorForTPFs$Worker.createFragment(JenaTDBBasedRequestProcessorForTPFs.java:116)
	at org.linkeddatafragments.datasource.AbstractRequestProcessorForTriplePatterns$Worker.createRequestedFragment(AbstractRequestProcessorForTriplePatterns.java:102)
	at org.linkeddatafragments.datasource.AbstractRequestProcessor.createRequestedFragment(AbstractRequestProcessor.java:29)
	at org.linkeddatafragments.test.datasource.DataSourceTest.testEstimate(DataSourceTest.java:151)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.junit.runners.Suite.runChild(Suite.java:127)
	at org.junit.runners.Suite.runChild(Suite.java:26)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Looks like something needs to be done to keep compatibility with latest Jena?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions