[SERVER-33209] Allow single-deletes to specify their statement Id Created: 08/Feb/18 Updated: 27/Oct/23 Resolved: 14/Feb/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Backlog - Replication Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Replication
|
||||||||
| Participants: | |||||||||
| Description |
|
Single deletes are supported by retryable writes currently, but they currently get their stmtId auto-generated by mongod. For multi-statement txns, the stmtId will be provided by the driver. We should wire the client-provided stmtId through the retryable writes machinery, and ensure we track it properly in the txn table and in-memory txn state, but only when autocommit is false. |
| Comments |
| Comment by Spencer Brody (Inactive) [ 14/Feb/18 ] |
|
Retryable writes actually already allows specifying the stmtIds explicitly |
| Comment by Kaloian Manassiev [ 09/Feb/18 ] |
|
What do you mean that they have their stmtIds generated by mongod? The way to specify stmtId(s) in the write commands is to either leave it empty (in which case yes they are auto-generated) or by including a stmtIds array of 32-bit integers which allows ids to be explicitly assigned. |