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

XMLWordPrintableJSON

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

      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
              Reporter:
              Wenbin Zhu
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: