-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Replication
Currently applyOperation_inlock() accepts 2 input parameters bool isDataConsistent and OplogApplication::Mode mode .
isDataConsistent value is determined based on repl consistency marker minvalid. And, used to determine if we need to record pre/postimage for change collection and retryable writes.
In general, mode value is used for taking many decisions in our code-base , notable ones are 1) Need to ignore errors or not? 2) Record pre-post-images or not? 3) processing behavior of oplog entries
I am wondering if we can combine the essence of those 2 parameters into a single parameter to improve code clarity.
Just to be noted, FCBIS apply oplog entries with mode kRecovering. This means, only logical initial uses kInitialSync mode who data is always inconsistent in initial syncing mode. And, any change we do as part of ticket should ensure that we don't break backup and restore code (See here for historical related discussion)
- is related to
-
SERVER-69001 Initial sync should set the minValid document to the "stopTimestamp"
- Closed
- related to
-
SERVER-41371 Unify NamespaceNotFound handling when calling applyOperation_inlock
- Backlog
-
SERVER-78834 Unify constraint checking knobs used in oplog application.
- Backlog