Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-13315

Investigate changes in SERVER-39596: While a node is not in primary/secondary state, dbStats/collStats should not hang

      Description

      Downstream Change Summary

      The 'dbStats' and 'collStats' commands no longer hang during the initial sync of a node.

      Description of Linked Ticket

      Currently when a node is in initial sync (STARTUP2), running a query on a collection (except collections in local database) returns error "NotMasterOrSecondary":

      > db.docs.find()
      Error: error: {
          "operationTime" : Timestamp(0, 0),
          "ok" : 0,
          "errmsg" : "node is not in primary or recovering state",
          "code" : 13436,
          "codeName" : "NotMasterOrSecondary",
          "$clusterTime" : {
              "clusterTime" : Timestamp(1550198882, 1),
              "signature" : {
                  "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                  "keyId" : NumberLong(0)
              }
          }
      }
      

      However, when we run the dbStats or collStats commands (on the collection that is syncing), the commands will just hang there, waiting for locks. Since the node is in STARTUP2 state (not ready for reads), will we consider just returning an error "NotMasterOrSecondary" for dbStats/collStats/listDatabases/etc commands (same as the {find}} command)?

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              4 years, 4 days ago