# Test errors repair failed

**URL:** <https://community.stardog.com/t/test-errors-repair-failed/2374>\
**Category:** Support\
**Created:** [April 11, 2020, 4:40pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374 "2020-04-11T16:40:58Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [April 11, 2020, 4:40pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/1 "2020-04-11T16:40:58Z")

</div>

I haven't figured out what the problem is with running my tests but I think I have a little better idea of what's going on. They used to run just fine but now are throwing the following error

`log4cplus:ERROR Unable to open file: /var/lib/stardog/starrocks.log [main] ERROR com.complexible.stardog.BaseStardogModule - System information is invalid and the repair failed: Unexpected native ordinal: 130818 java.lang.IllegalArgumentException: Unexpected native ordinal: 130818 `  
I think I have a little better idea of what might be happening here. I'm trying to isolate my test environment as much as I can from my local installation so I create a temp directory and and running an embedded instance of Stardog. I pass the temp directory to stardog with

`STARDOG = Stardog.builder().home(TEST_HOME).create();`

I need a license so before I run that I copy the license from the env var STARDOG\_HOME to TEST\_HOME before running the above.

So I'm wondering why it's still trying to open `/var/lib/stardog/starrocks.log` which is in STARDOG\_HOME not TEST\_HOME. I'm guessing it used to work because I was testing with the same version that I had installed locally but now the local version is newer so it's trying to do a repair on the db.

What seems a little off is that even though I pass it a new home directory it's still looking to the one from the env var. Is there a possibility that the db version and consistency check is using the env var rather than the one set from the api?

---

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [April 11, 2020, 4:54pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/2 "2020-04-11T16:54:50Z")

</div>

Aligning the test Stardog version with the local installed version solves the immediate problem but I'm still not sure why they aren't completely isolated from each other.

Now I'm getting the following error

```auto
com.complexible.stardog.plan.eval.ExecutionException: class com.complexible.stardog.plan.optimizer.EmptyNodeOptimize does not exist, cannot insert an optimizer before it

	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$1(ExecutablePlanFactory.java:123)
	at com.complexible.stardog.index.IndexUtils.doInTx(IndexUtils.java:156)
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:110)
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:516)
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:452)
	at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:302)
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:198)
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:184)
	at com.complexible.stardog.api.KernelDatabaseConnection.lambda$_select$2(KernelDatabaseConnection.java:394)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at com.complexible.stardog.api.KernelDatabaseConnection._select(KernelDatabaseConnection.java:400)
	at com.complexible.stardog.api.impl.AbstractConnection.executeSelect(AbstractConnection.java:456)
	at com.complexible.stardog.api.impl.SelectQueryImpl.execute(SelectQueryImpl.java:38)
	at com.complexible.stardog.api.impl.SelectQueryImpl.execute(SelectQueryImpl.java:25)
	at com.semantalytics.stardog.kibble.string.TestAbbreviate.testWrongTypeFirstArg(TestAbbreviate.java:111)
	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:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	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:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	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:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	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:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.lang.IllegalArgumentException: class com.complexible.stardog.plan.optimizer.EmptyNodeOptimize does not exist, cannot insert an optimizer before it
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline$PipelineStageBuilder.addAfter(OptimizationPipeline.java:410)
	at com.complexible.stardog.virtual.VirtualGraphConnectableConnection.optimize(VirtualGraphConnectableConnection.java:142)
	at com.complexible.stardog.db.ConnectableConnectionCollection.lambda$optimize$5(ConnectableConnectionCollection.java:154)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at com.complexible.stardog.db.ConnectableConnectionCollection.optimize(ConnectableConnectionCollection.java:154)
	at com.complexible.stardog.db.DatabaseConnectionImpl.optimize(DatabaseConnectionImpl.java:283)
	at com.complexible.stardog.db.DelegatingConnectableConnection.optimize(DelegatingConnectableConnection.java:85)
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.optimizePlan(ExecutablePlanFactory.java:140)
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$null$0(ExecutablePlanFactory.java:117)
	at com.complexible.stardog.plan.cache.SimplePlanCache.get(SimplePlanCache.java:102)
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$1(ExecutablePlanFactory.java:117)
	... 51 more

```

Did something recently change with the optimizer?

---

<div class="post-metadata">

**Author:** ![jess](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/jess/32/10_2.png) [@jess](https://community.stardog.com/u/jess)\
**Post date:** [April 11, 2020, 5:03pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/3 "2020-04-11T17:03:03Z")

</div>

1. The log file location is a known issue and will be fixed in the next release.

2. As you have noticed the Java code and Starrocks versions need to be consistent. We have improved the error message returned in the recent releases.

3. The "cache-core" module is a required dependency. Can you try adding it to your Maven/Gradle dependency list?

---

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [April 11, 2020, 10:04pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/4 "2020-04-11T22:04:56Z")

</div>

> [@jess](#):
>
> As you have noticed the Java code and Starrocks versions need to be consistent. We have improved the error message returned in the recent releases.

Ah that was at least one problem. I had used STARDOG\_HOME to set the java.library.path which explains the mismatch. Is there an artifact that contains the starrocks binaries?

> [@jess](#):
>
> The "cache-core" module is a required dependency. Can you try adding it to your Maven/Gradle dependency list?

What are the coordinates for that artifact? I can't seem to find it.

While looking I noticed that there was an artifiact for license-core. Is there any chance I could programmatically get a license as part of the test setup?

---

<div class="post-metadata">

**Author:** ![noahgorstein](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/noahgorstein/32/584_2.png) [@noahgorstein](https://community.stardog.com/u/noahgorstein)\
**Post date:** [April 13, 2020, 6:08pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/5 "2020-04-13T18:08:29Z")

</div>

Hi Zach,

The starrocks binaries are located in your `$STARDOG/lib` with `$STARDOG` being the location of the Stardog binary (e.g. `/Users/noahgorstein/opt/stardog/stardog-7.2.1/lib`).

The `cache-core` module can be added to the `build.gradle` by adding the following to the dependencies:

`compile "com.complexible.stardog.cache:stardog-cache-core:${stardogVersion}"`

Let me know if that helps or if the issue is still persisting.

Best,  
Noah

---

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [April 13, 2020, 11:20pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/6 "2020-04-13T23:20:28Z")

</div>

I was successfully referencing the starrocks libs but it isn’t ideal since it requires you to have a local install of Stardog to run your tests and it needs to be the same version. It’s not a big deal but it would be nice if there was an artifact that contained the libraries and used something like [native-utils/README.md at master · adamheinrich/native-utils · GitHub](https://github.com/adamheinrich/native-utils/blob/master/README.md)

To load them.

I’ll see if I can find the artifact now. I probably wasn’t looking at that groupId

---

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [April 27, 2020, 11:20pm UTC](https://community.stardog.com/t/test-errors-repair-failed/2374/7 "2020-04-27T23:20:32Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
