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

Investigate changes in SERVER-43832: Expose readConcern and writeConcern defaults in serverStatus

      Description

      Downstream Change Summary

      This ticket added a new serverStatus output field - "defaultRWConcern" - that is included by default. This field is a BSON object that may contain the following fields:

      • defaultReadConcern -> Optional field representing the default read concern set by an administrator through the setDefaultRWConcern command. Present if a default is currently set.
      • defaultWriteConcern - Optional field representing the default write concern set by an administrator through the setDefaultRWConcern command. Present if a default is currently set.
      • epoch -> The epoch (unique generation id) of when the default read or write concern was last set. Present if a default has ever been set.
      • setTime -> The wall clock time when the default read or write concern was last set by an administrator. Present if a default has ever been set.
      • localSetTime -> The wall clock time when this node updated its understanding of the default read or write concern. Always present, even if a default has never been set.

      Notably when FTDC calls serverStatus every second, this section is disabled. FTDC instead calls getDefaultRWConcern on every file rotation to collect the defaults.

      Description of Linked Ticket

      Specifically, I'd like the following to be exposed in serverStatus (this is from the design document):

       

      getDefaultRWConcern
       defaults:
      { readConcern: \{ ... }, // empty obj if not set
       writeConcern: { ... } // empty obj if not set
      

      This is for metrics, to see how many people are using it once it launches.

      My assumptions: If a user does not configure it, there will be no object. If a user does configure it, even to the default value, it will exist. (these are assumptions, not requirements, so if you envision something different let's talk)

      Example:

      user sets readConcern but not writeConcern:

      defaultRWConcern:

      { readConcern: "local" , }

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

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

            Assignee:
            Unassigned Unassigned
            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:
              3 years, 47 weeks ago