ExportXMLWordPrintableJSON

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

      The pipelined oplog applier has several behaviors that should be tunable: the advancer's spurious-wakeup interval (currently a hardcoded 100ms backstop), the backpressure thresholds, and the split prepared transactions toggle. This ticket adds these as server parameters with sensible defaults, so they can be adjusted via setParameter.

      This ticket should include:

      • pipelinedOplogApplierAdvancerWakeupIntervalMillis — the advancer's spurious-wakeup backstop.
      • pipelinedOplogApplierMaxQueueDepth — maximum work items in any single worker's queue before the dispatcher triggers backpressure. 0 disables the depth signal. Default 100.
      • pipelinedOplogApplierMaxQueueBytes — the maximum queued bytes in any single worke's queue before backpressure is engaged. 0 disables the byte signal.
      • pipelinedOplogApplierMaxInflightBatches — maximum dispatched-but-unpopped in-flight batches before the dispatcher pauses. 0 disables the in-flight signal.
      • pipelinedOplogApplierSplitPrepares — whether prepared transactions are split across workers (mirroring classic's split-prepare) instead of applied inline behind a full drain. Default true.
      • All runtime-tunable (set_at: runtime) with validators (gte: 0 for the numeric thresholds). We will likely need to drain and restart the applier prior to setting any of these parameters.

            Assignee:
            Unassigned
            Reporter:
            Ali Mir
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: