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

Fix missing condition variable notifications in OplogBufferBlockingQueue::tryPop()

    • Replication
    • Fully Compatible
    • ALL
    • v8.0
    • Repl 2024-07-22
    • 200

      Consider the following case:

      1. The buffer is currently not empty.
      2. Caller wants to push one entry with number of ops > `_maxCount`, thus being blocked.
      3. The last entry in the buffer is popped out, but since this condition cannot be met (`_waitCount` alone is larger than `_maxCount`), we never notify the condition variable and thus blocks the caller forever.

            Assignee:
            wenbin.zhu@mongodb.com Wenbin Zhu
            Reporter:
            wenbin.zhu@mongodb.com Wenbin Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: