= Precondition =
Db created with versioning enabled.
= Reproduce =
Add some malformed data from a file using CLI "stardog data add" (malformed meaning for example TTL using an undefined prefix). CLI gives correct error message.
On subsequent attempts to add good data however, CLI responds with "There was an error starting the transaction".
= Details =
The contents of the two test data files are:
[conradL@momerath ~]$ cat test-bad.ttl
person:a21e573e-cb83-408f-85e9-945878a8a1d2 a foaf:Person .
[conradL@momerath ~]$ cat test-good.ttl
person:a21e573e-cb83-408f-85e9-945878a8a1d2 a foaf:Person .
Adding these two in order, without versioning and all is ok:
[conradL@momerath ~]$ stardog-admin db drop "versiondb"; stardog-admin db create -n "versiondb"; stardog data add versiondb test-bad.ttl; stardog data add versiondb test-good.ttl
Successfully deleted database 'versiondb'.
Creating index: 100% complete in 00:00:00 (0.0K triples/sec)
Creating index finished in 00:00:00.002
Loading complete.
Inserted 0 triples in 00:00:00.337 at 0.0K triples/sec
Successfully created database 'versiondb'.
Adding data from file: test-bad.ttl
Namespace prefix 'person' used but not defined [line 1]
Adding data from file: test-good.ttl
Added 1 triples in 00:00:00.127
Adding these two in order, with versioning and we get this:
[conradL@momerath ~]$ stardog-admin db drop "versiondb"; stardog-admin db create -o "versioning.enabled=true" -n "versiondb"; stardog data add versiondb test-bad.ttl; stardog data add versiondb test-good.ttl
Successfully deleted database 'versiondb'.
Creating index: 100% complete in 00:00:00 (0.0K triples/sec)
Creating index finished in 00:00:00.001
Loading complete.
Inserted 0 triples in 00:00:00.354 at 0.0K triples/sec
Successfully created database 'versiondb'.
Adding data from file: test-bad.ttl
Namespace prefix 'person' used but not defined [line 1]
There was an error starting the transaction
The message "There was an error starting the transaction" persists even after waiting some time (10 minutes) and retrying the addition of good data. AFAICT a server restart is required to be able to add any more data once the db is in this state.