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

Fixed race conditions in the C++ driver (BackgroundJob)

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 1.7.2
    • 1.6.2
    • Internal Client
    • None
    • ALL

    Description

      While using the C++ driver, my application would randomly fail to connect under load. I tracked the problem down to a race condition in BackgroundJob. I have attached a patch which fixes the race condition. The problem was the inefficient sleepmillis() loops, which would cause the connection timeout to be reached even though the connection was successful.

      Attachments

        Activity

          People

            alerner Alberto Lerner
            toffaletti Jason Toffaletti
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: