[SERVER-78273] Write endOfTransaction oplog entries to remote shards from transaction coordinator Created: 21/Jun/23 Updated: 19/Jul/23 |
|
| Status: | Backlog |
| 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: |
|
||||||||
| Assigned Teams: |
Query Execution
|
||||||||
| Participants: | |||||||||
| Description |
|
Transaction coordinator should send writeEndOfTransaction commands to some shards to persist no-op oplog endOfTransaction entry. The set of shards for it is determined by the list of affected namespaces: for each affected namespaces there should be at least one shard that owns a chunk from this namespaces with endOfTransaction entry. This is needed so if a change stream targets this namespace, it will be able to pick up at least one endOfTransaction entry. This process should not block transaction from completing and allow next transaction to be started on the session. |