-
Type: Question
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Concurrency, Storage
-
None
-
Fully Compatible
-
Storage NYC 2019-04-08, Storage NYC 2019-04-22
Currently, when a non-transactional write conflicts with an active transaction, that write may keep retrying thousands of times until the transaction finally commits or aborts. This situation is hard to diagnose, because currentOp doesn't show that the active non-transactional writes have occurred so many retries.
Changes made by this ticket:
The top-level fields 'writeConflicts' and 'prepareReadConflicts' are now present in the currentOp() output.
The number of write conflicts represents the number of times a write attempt conflicted with another operation on the same document.
The number of prepare conflicts represents the number of times the operation blocked waiting for a write by a prepared transaction to commit or abort. An operation blocked on prepare conflicts holds both locks and storage engine resources while waiting.
- is related to
-
SERVER-40062 Add failpoint to skip doing retries on WriteConflictExceptions
- Closed
- related to
-
SERVER-79123 Tests enabling skipWriteConflictRetries failpoint incompatible with index build abort
- Closed