[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:
Related
related to SERVER-41371 Unify NamespaceNotFound handling when... Backlog
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 SERVER-32335, and multiSyncApply was renamed applyOplogBatchPerWorker, so this is now just about one function.

Comment by Judah Schvimer [ 17/Oct/19 ]

jesse, can you please update this with the new function names while this is fresh?

Generated at Thu Feb 08 04:36:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.