Failing WriteOnlyGraph may close database session
After failed Write only:
INFO [2021-10-27 13:31:15,877] org.simantics.acorn.GraphClientImpl2: executorTerminated=true, saverTerminated=true
ERROR [2021-10-27 13:31:15,881] org.simantics.db.impl.query.QueryThread: FATAL BUG: QueryThread task processing caused unexpected exception.
java.lang.IllegalStateException: fi.vtt.simantics.procore.internal.SessionImplDb@12d44a2a: writeCount=0
at fi.vtt.simantics.procore.internal.State.commitWriteTransaction(State.java:365)
... 3 common frames omitted
Wrapped by: java.lang.IllegalStateException: java.lang.IllegalStateException: fi.vtt.simantics.procore.internal.SessionImplDb@12d44a2a: writeCount=0
at fi.vtt.simantics.procore.internal.State.commitWriteTransaction(State.java:394)
at fi.vtt.simantics.procore.internal.SessionRequestManager$4.run0(SessionRequestManager.java:236)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:231)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:238)
After that:
org.simantics.db.exception.RuntimeDatabaseException: Session has been shut down.
at fi.vtt.simantics.procore.internal.SessionImplSocket.assertAlive(SessionImplSocket.java:3403)
Executed code:
public static Resource write(WriteOnlyGraph graph, PipeSystem system) throws DatabaseException {
Resource systemResource = graph.newResource();
graph.claim(systemResource, L0.InstanceOf, null, idf.PipeSystem);
Which failed on second line, since L0 = null
.