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

Re-introduce majority commit point advancement notification mechanism and use for change streams

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.0.0-rc0, 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • v7.0
    • QE 2023-04-03, QE 2023-04-17, QE 2023-05-01
    • 35

      An optimization to only wake up a tailable + awaitData cursor when the majority commit point advances (when reading only majority committed data) was originally introduced in SERVER-69959. However, in SERVER-74526 we discovered that this change did not work correctly for $changeStream cursors opened against secondary nodes; rather than blocking, the change stream thread would wake up repeatedly and spin with high CPU utilization.

      The work for this ticket is to continue investigating the reason for this high CPU utilization on secondaries. Once we understand the problem better, we should reimplement SERVER-69959 in such a way that is not subject to the bug from SERVER-74526.

            Assignee:
            denis.grebennicov@mongodb.com Denis Grebennicov
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: