FoundationDB

"Transaction may or may not have committed" receive during scheduled node


(Daniil Gitelson) #1

I’ve tried to check client behaviour during scheduled server shutdown.
I wrote client that updated single key (during transaction), repeatedly. I set up cluster of 3 nodes with 2-level replication. Runed client, waited for some time. Then I excluded one server using fdbcli exclude command.
For a few transactions I received “Transaction may or may not have committed”.
Is this expected behaviour for a scheduled downtime?


(A.J. Beamon) #2

Yes, this is the expected behavior. This error can occur when the transaction subsystem is restarted because we might not be able to tell whether an in-progress commit was made durable and will be recovered by the new transaction subsystem. Excluding certain processes in the cluster causes the transaction subsystem to restart, leading to this behavior.

For general information about this error, see: https://apple.github.io/foundationdb/developer-guide.html#transactions-with-unknown-results