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

ApplyOpsCommandInfo::areOpsCrudOnly() considers "n" ops as crud

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Replication

      ApplyOpsCommandInfo::areOpsCrudOnly() currently considers "n" ops as crud ops although OplogEntry::isCrudOpType() doesn't consider them as crud ops. This ticket is to determine if we should reconcile these different definitions since they can lead to unexpected errors. For example, the ReshardingOplogPreparer uses areOpsCrudOnly() to validate each applyOps oplog entry and isCrudOpType()  to validate each individual applyOps operation. So if there is an applyOps oplog entry with a noop operation, the ReshardingOplogPreparer would hit this invariant here.

       

       

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: