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

currentOp command silently fails to apply match conditions when result is truncated

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.2.9
    • Component/s: Querying
    • Labels:
    • Query Execution
    • ALL
    • Hide

      Please refer to these tickets SERVER-51450, SERVER-51102

      Please refer to these tickets SERVER-51450 , SERVER-51102

      If the result of the currentOp command gets truncated, the command fails to apply the match conditions received.

      The currentOp command has been deprecated in 3.6 in favor of the new $currentOp aggregation stage, due to the response size limitation. The problem is that we are still extensively relying on the currentOp command in our javascript test and recently some tests that were trying to match a count command started failing (SERVER-51450, SERVER-51102).

      One strange thing that I've noticed debugging those failure is that the result of the currentOp command got truncated even if it didn't reached 16MB as described in our docs.

      The other problem is that the command failed to apply the match conditions silently without any warning or error.

      If we can't rely on this command anymore we should change all our tests to use the new $currentOp pipeline stage, or at least make it evident that they are failing for this reason.

      Also if this is not a bug we should mention in the documentation that currentOp can fail to apply match conditions when the result gets truncated.

            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            tommaso.tocci@mongodb.com Tommaso Tocci
            0 Vote for this issue
            5 Start watching this issue