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

Inconsistency in histogram statistics for mongos

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Diagnostics
    • Query Execution
    • ALL
    • Hide

      Attached is a script showing inconsistency in how killCursors is not counted. Put sharding-histogram-miscounts.js in jstests. This script is asserts that the killCursors command is being counted 0 times. If you run with the core executor, it will fail as expected, i.e.:

      python ./buildscripts/resmoke.py --executor=core ./jstests/sharding-histogram-miscounts.js
      

      This fails with the expected message:

      [thread1] Error: [99] != [0] are not equal : Miscounted commands :
      

      However, running the following will incorrectly succeed:

      python ./buildscripts/resmoke.py --executor=sharded_collections_jscore_passthrough ./jstests/sharding-histogram-miscounts.js
      

      However, if the test is run with the sharded_collections_jscore_passthrough executor and repeated multiple times, it will strangely fail

      python ./buildscripts/resmoke.py --repeat=30 --executor=sharded_collections_jscore_passthrough ./jstests/sharding-histogram-miscounts.js
      

      This fails with the a message similar to this one:

      [js_test:sharding-histogram-miscounts] 2016-07-01T14:23:30.530-0400 assert: [700] != [0] are not equal : Miscounted commands
      

      My current conjecture (based on logging from mongod) is that the kill cursors command are these additional commands. I'm unsure why these are counted since the script does call close on the cursors.

      Show
      Attached is a script showing inconsistency in how killCursors is not counted. Put sharding-histogram-miscounts.js in jstests. This script is asserts that the killCursors command is being counted 0 times. If you run with the core executor, it will fail as expected, i.e.: python ./buildscripts/resmoke.py --executor=core ./jstests/sharding-histogram-miscounts.js This fails with the expected message: [thread1] Error: [99] != [0] are not equal : Miscounted commands : However, running the following will incorrectly succeed: python ./buildscripts/resmoke.py --executor=sharded_collections_jscore_passthrough ./jstests/sharding-histogram-miscounts.js However, if the test is run with the sharded_collections_jscore_passthrough executor and repeated multiple times, it will strangely fail python ./buildscripts/resmoke.py --repeat=30 --executor=sharded_collections_jscore_passthrough ./jstests/sharding-histogram-miscounts.js This fails with the a message similar to this one: [js_test:sharding-histogram-miscounts] 2016-07-01T14:23:30.530-0400 assert : [700] != [0] are not equal : Miscounted commands My current conjecture (based on logging from mongod) is that the kill cursors command are these additional commands. I'm unsure why these are counted since the script does call close on the cursors.

      Statistics for the operation latency histogram are inconsistently recorded for mongos.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: