We found that there was a deadlock on the TypeDB server side caused by a failing schema query in a schema transaction not closing the transaction, which led to the schema lock being forever active, not allowing other transactions to be opened.
This PR adds a behaviour test to cover this scenario after the server's fix is merged.
It's uncomfortable to cover this scenario in the connection package to run it for the server itself as we have to manually work with transactions in the test code, which doesn't really test this mechanism. This means that we need a higher level of abstraction, where we only send commands through a connection to the server, where our drivers come to help.
Usage and product changes
We found that there was a deadlock on the TypeDB server side caused by a failing schema query in a schema transaction not closing the transaction, which led to the schema lock being forever active, not allowing other transactions to be opened.
This PR adds a behaviour test to cover this scenario after the server's fix is merged.
It's uncomfortable to cover this scenario in the
connection
package to run it for the server itself as we have to manually work with transactions in the test code, which doesn't really test this mechanism. This means that we need a higher level of abstraction, where we only send commands through a connection to the server, where our drivers come to help.