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

Race in CurrentOpExhaustCursorTest calling DBClientCursor more() concurrently in two threads

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.3.4
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2020-02-10, Repl 2020-02-24
    • 0

    Description

      Similar to SERVER-45934, since DBClientCursor APIs are not thread safe, calling DBClientCursor::more concurrently in two different threads can race in setting private members. In particular, one thread can set cursorId to 0 during dataReceived while the other thread checking the cursorId in more(). Thus, in CurrentOpExhaustCursorTest, runOneGetMore can race with the startExhaustQuery thread on calling more(), resulting in false positive failures.

      Attachments

        Activity

          People

            lingzhi.deng@mongodb.com Lingzhi Deng
            lingzhi.deng@mongodb.com Lingzhi Deng
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: