To reproduce:
- Create a new database, with all default settings except ‘Automatic consistency checking’: enabled
- Do a consistency check (
stardog reasoning consistency <dbname>
) - Observe ‘There was an unexpected error on the server.’ as only line of output
Note this happens both with and without adding any data.
stardog.log :
WARN 2018-04-14 21:26:24,556 [stardog-user-17] com.complexible.stardog.StardogKernel:createDatabase(1416): Following options cannot be set at creation time and/or contradict with other options: [index.persist.sync]
INFO 2018-04-14 21:26:28,092 [stardog-user-17] com.complexible.stardog.StardogKernel:write(77): Successfully created database 'ddd'.
ERROR 2018-04-14 21:26:42,406 [stardog-user-18] com.stardog.http.server.undertow.ErrorHandling:writeError(180): Unexpected error on the server
java.lang.NullPointerException: null
at com.complexible.stardog.reasoning.blackout.BlackoutConnection.getConsistency(BlackoutConnection.java:334) ~[stardog-reasoning-core-5.2.2.jar:?]
at com.complexible.stardog.reasoning.blackout.BlackoutConnection.isConsistent(BlackoutConnection.java:328) ~[stardog-reasoning-core-5.2.2.jar:?]
at com.complexible.stardog.reasoning.ConnectableReasonerConnectionImpl.isConsistent(ConnectableReasonerConnectionImpl.java:195) ~[stardog-reasoning-core-5.2.2.jar:?]
at com.complexible.stardog.protocols.http.reasoning.server.ReasoningHttpService.isConsistent(ReasoningHttpService.java:203) ~[stardog-reasoning-protocols-http-server-5.2.2.jar:?]
at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:196) ~[stardog-protocols-http-server-5.2.2.jar:?]
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) ~[shiro-core-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) ~[shiro-core-1.2.3.jar:1.2.3]
at com.stardog.http.server.undertow.ErrorHandling.lambda$safeDispatch$1(ErrorHandling.java:71) ~[stardog-protocols-http-server-5.2.2.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
I see the ‘Following options cannot be set at creation time and/or contradict with other options: [index.persist.sync]’, but I don’t understand why that would be the case. If there is a good reason, I think the user should be warned in the UI and the API should throw a descriptive error, not 500.
Using stardog 5.2.2 on ubuntu 17.10 .
edit: is also the case with stardog 5.2.3