Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-73661

Improve applyOperation_inlock() API.

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 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)

            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            suganthi.mani@mongodb.com Suganthi Mani
            0 Vote for this issue
            8 Start watching this issue