Uncertainty window conflict in a transaction

What changes in Uncertainty window conflict in a transaction compared with MongoDB and what your application has to do.

This difference is of the Different kind.

What MongoDB does

A transaction reads its snapshot without error even if another client just wrote the document.

What TeselaDB does

If a statement other than the first finds a version inside its uncertainty window, it fails with WriteConflict and TransientTransactionError, and the transaction aborts.

What your application has to do

Retry the whole transaction on TransientTransactionError, as withTransaction already does.

See also