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

Overhaul currentOp output for createIndexes

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Storage
    • Labels:
      None

      Description

      The output for createIndexes used to look like this before removing MMAPv1:

       
          "inprog" : [
              {
                  "host" : "delphi:28022",
                  "desc" : "repl index builder 1",
                  "active" : true,
                  "currentOpTime" : "2018-08-20T08:31:38.210-0400",
                  "opid" : 225,
                  "secs_running" : NumberLong(0),
                  "microsecs_running" : NumberLong(13816),
                  "op" : "none",
                  "ns" : "test.system.indexes",
                  "command" : {
                      "v" : 2,
                      "key" : {
                      "x" : 1
                      },
                      "name" : "x_1",
                      "background" : true,
                      "ns" : "test.index_bigkeys_downgrade_during_index_build"
                  },
                  "numYields" : 0,
                  "locks" : {
                      "Global" : "w",
                      "Database" : "W"
                  },
                  "waitingForLock" : false,
                  "lockStats" : {
                      "Global" : {
                      "acquireCount" : {
                      "w" : NumberLong(1)
                      }
                      },
                      "Database" : {
                      "acquireCount" : {
                      "W" : NumberLong(1)
                      }
                      }
                  }
              }
          ],
          "ok" : 1,
          "$clusterTime" : {
              "clusterTime" : Timestamp(1534768298, 2),
              "signature" : {
                  "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                  "keyId" : NumberLong(0)
              }
          },
          "operationTime" : Timestamp(1534768298, 1)
      }
      

      It is basically only intelligible because of the ns field value of "<db>.system.indexes", and that's only to engineers, not users.
      After SERVER-36015, it looks like this:

      {
          "inprog" : [
              {
                  "host" : "delphi:28022",
                  "desc" : "repl index builder 1",
                  "active" : true,
                  "currentOpTime" : "2018-08-20T10:29:38.499-0400",
                  "opid" : 223,
                  "op" : "none",
                  "ns" : "",
                  "command" : {
                      "v" : 2,
                      "key" : {
                          "x" : 1
                      },
                      "name" : "x_1",
                      "background" : true,
                      "ns" : "test.index_bigkeys_downgrade_during_index_build"
                  },
                  "msg" : "Index Build (background) Index Build (background): 0/10 0%",
                  "progress" : {
                      "done" : 0,
                      "total" : 10
                  },
                  "numYields" : 0,
                  "locks" : {
                      "Global" : "w",
                      "Database" : "w",
                      "Collection" : "w"
                  },
                  "waitingForLock" : false,
                  "lockStats" : {
                      "Global" : {
                          "acquireCount" : {
                              "w" : NumberLong(1)
                          }
                      },
                      "Database" : {
                          "acquireCount" : {
                              "w" : NumberLong(1),
                              "W" : NumberLong(1)
                          }
                      },
                      "Collection" : {
                          "acquireCount" : {
                              "w" : NumberLong(1)
                          }
                      }
                  }
              }
          ],
          "ok" : 1,
          "$clusterTime" : {
              "clusterTime" : Timestamp(1534775378, 2),
              "signature" : {
                  "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                  "keyId" : NumberLong(0)
              }
          },
          "operationTime" : Timestamp(1534775378, 1)
      }
      

      This entry should say "createIndexes" somewhere. The code starting point to investigate how currentOp puts this entry together – and thus where to put the code to improve it – is here: I tracked that code starting from here, but I didn't go any further.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-execution Backlog - Storage Execution Team
              Reporter:
              dianna.hohensee Dianna Hohensee
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: