You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Preserve record-lock holder versions across explicit transaction retries #3487
A held-record write inside an explicit transaction() can be re-stamped during a conflict retry. DatabaseTransaction.save() preserves a TransactionWrite across retries, while the record lock's holder stamp is used to order the write against prior versions. If the retry changes that version, the holder's ordering can differ between attempts and may no longer match the version the caller first staged.
Add a regression that forces an explicit transaction conflict after the lock-backed write is staged, then verify the retry preserves the intended holder version and persists the expected record. Keep this scoped to explicit-transaction retry semantics; ordinary lock admission and ImmediateTransaction writes are covered separately by harper#3248.
Activity
Keep a record-lock write at its transaction's version when an explici…
Keep a lock write's version when an explicit transaction retries or r…