If the coordinator restarts during a global transaction, due to shutdown, failover or server failure, transaction behavior depends on the user-defined timeout and the command being executed.
Command Status | Command Behavior | Result |
---|---|---|
Actively executing command | Command suspends and transfers control to server, except for ROLLBACK, which executes locally on writer. | Commands succeed |
New DML command | Command suspends and transfers control to server. ROLLBACK and ROLLBACK TO SAVEPOINT execute locally instead of suspending. | Commands succeed |
Command Status | Command Behavior | Result |
---|---|---|
Suspended DML command on connection | The suspended command fails and returns an error. | Transaction rolls back |
No suspended DML command on connection | The next command returns an error. | Transaction rolls back |
For example, if a transaction suspends and the write server becomes inaccessible, you can roll back the transaction to release resources held by the coordinator for suspended transactions belonging to that writer.