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

killOp() doesn't always kill

    • Type: Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • ALL

      When a server is experiencing high load a DBA may issue a killOp on a session or multiple sessions in order to try to restore the overall health of the server. In some cases this is needed if the client has timed-out on a query, but the server is still running it. Thus, killOp() is a key tool in the DBA's hands. For instance, let's say a bad query is hitting the live DB, the DBA may killOp() that query over and over in order to not block other queries while the index is created, we have a script that does just that.

      However, sometimes when killOp() is run it doesn't actually kill the session, especially under high load and/or high queue activity. It actually appears the killOp() gets queued along with other requests and MongoDB will get to it when it can.

      The killOp() operation must have a higher priority than the operations being killed or it's not an effective tool.

      I am sorry I don't have logs or more definitive data surrounding the bug, if it's needed please let me know an I can build a test case to illustrate the problem.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kgorman Kenny Gorman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: