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

Cannot Connect During Long Query

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical - P2
    • Resolution: Duplicate
    • Affects Version/s: 2.2.1, 2.2.3, 2.4.1
    • Fix Version/s: None
    • Component/s: Concurrency
    • Labels:
      None
    • Environment:
      Ubuntu Linux, OSX
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      1. Start a mongod.
      2. Setup auth.
      3. Run a long query using the credentials of a user.
      4. Attempt to connect with mongo during this time using the same DB and user as above.

      Show
      1. Start a mongod. 2. Setup auth. 3. Run a long query using the credentials of a user. 4. Attempt to connect with mongo during this time using the same DB and user as above.

      Description

      In production we have noticed that we cannot connect to the DB while it is busy doing a long query. I tried to reproduce this locally and could not until I realized that we have auth turned on in production. When I enabled auth I also saw this behavior in my development environment. I CAN successfully connect to a DIFFERENT DB than the currently busy db.

      I assume this is because auth requires a lock and the DB query is holding the lock.

      I have not looked at the connection with wireshark to see if the connection completes and THEN the client blocks waiting to auth or whether there is never a connection established in the first place.

      The upshot of what I'm saying is that the title of this ticket may be misleading.

      In case it is important the long-running query in question is a Geo query.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: