[SERVER-34319] unify exception and error status handling in applyOplogBatchPerWorker Created: 04/Apr/18 Updated: 06/Dec/22 Resolved: 19/Dec/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Benety Goh | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | former-quick-wins, oplog-applier | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Replication
|
||||||||
| Participants: | |||||||||
| Description |
|
applyOplogBatchPerWorker is responsible for applying vectors of oplog entries assigned to each thread of a pool of writer threads. It calls applyOplogEntryOrGroupedInserts to apply the CRUD/command entry. Depending on how applyOplogEntryOrGroupedInserts returns an error (return error status or throw exception), any given error code that requires special handling (eg. NamespaceNotFound) may be handled either in the exception handling block or after applyOplogEntryOrGroupedInserts returns an error Status object. It would be desirable to unify this error handling behavior while accounting for any exceptions that should not be converted to a Status (eg. WriteConflictException). |
| Comments |
| Comment by A. Jesse Jiryu Davis [ 17/Oct/19 ] |
|
multiInitialSyncApply was removed in |
| Comment by Judah Schvimer [ 17/Oct/19 ] |
|
jesse, can you please update this with the new function names while this is fresh? |