Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11768

Explore what we should do as our condition variable implementation diverges from the standard definition

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • StorEng - Refinement Pipeline
    • None

      WiredTiger has its own implementation of "condition variable". However, the guarantee it provides is different to the definition of the standard condition variable.

      The rules for a standard condition variables are that all operations are as-if atomic, so a wait cannot see a notification that came before. In other words, a condition variable guarantees that earlier notifications don't wake later waiters While in our implementation, an earlier notification will wake a later waiter.

      This creates confusion.

      We can either rename our condition variable or explore whether we can use the standard implementation instead.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: