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

Correlate the parts of distributed ops in db.currentOp() output

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Query Execution

      It would greatly help debugging of long running distributed operations in a sharded cluster (such as scatter-gather aggregation queries) if db.currentOp() grouped together the parts of the operation in a logical way. Currently the operations running on the shards are displayed in the db.currentOp() output returned from a mongos, but it is difficult to tie together all the operations that originated from a single client request.

      Provide a cluster-wide db.currentOp() that can be run from a mongos and clearly lists all running operations including all parts of the op that are distributed to the shards

      e.g. for a running aggregation op that is currently at the merge cursors stage, we should clearly see all parts of the op displayed together and hierarchically. i.e.

      details of op on mongos
        |----> details of op on primary shard
                   |----> details of op on shard 1
                   |----> details of op on shard 2
                   ... 
      

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            jon.rangel@mongodb.com Jon Rangel (Inactive)
            Votes:
            3 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved: