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

XMLWordPrintableJSON

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

      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:
              [DO NOT USE] Backlog - Replication Team
              Reporter:
              Cheahuychou Mao
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: