[SERVER-78271] Add writeEndOfTransaction internal command Created: 21/Jun/23  Updated: 19/Jul/23

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Ivan Fefer Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-78273 Write endOfTransaction oplog entries ... Backlog
Assigned Teams:
Query Execution
Participants:

 Description   

This command will be used by transaction coordinator to tell shards to write endOfTransaction no-op oplog entry.

It should accept:
1. Transaction information (lsid, txnNumber, retryCounter)
2. List of affected namespaces with shard versions.

It should:

  1. Check for each affected namespace that this shard has at least one chunk for this namespace.
  2. Return stale error if it is not true
  3. Return ok and write end-of-transaction oplog entry if true.

 

Optionally, we can do checks independently for each namespaces, so if shard has only some namespaces, it can return to the caller the list of "accepted" namespaces and "rejected" namespaces. This will introduce some complexity, but may potentially lower the number of retries in volatile environment


Generated at Thu Feb 08 06:37:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.