[SERVER-70904] use OplogApplierImpl to process batched writes Created: 27/Oct/22 Updated: 23/Feb/23 Resolved: 23/Feb/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Benety Goh | Assignee: | Benety Goh |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||
| Sprint: | Execution Team 2023-02-20, Execution Team 2023-02-06, Execution Team 2023-03-06 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
Batched writes are currently replicated using the atomic applyOps format, which are handled by applyCommand_inlock() in oplog.cpp. We have separate applyOps oplog entry processing logic in OplogApplierImpl/TransactionHistoryIterator which happens earlier in the oplog application logic as we fetch entries off the wire. It would be idea to look into using OplogApplierImpl to handle batched writes and atomic applyOps. This ticket will be limited to handling the single applyOps entry format for batched writes and not the multi-oplog format we will eventually support. |