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

Investigate changes in SERVER-65289: Improvements to Mirrored Reads Metrics and Visibility

      Original Downstream Change Summary

      This ticket adds new serverStatus metrics for the mirrored reads section (https://www.mongodb.com/docs/manual/reference/command/serverStatus/#mirroredreads).

      The new user-facing field is mirroredReads.processedAsSecondary:

      • the number of mirrored reads processed successfully by a secondary.

        Description of Linked Ticket

        Hi Team,

      Starting in v4.4 we introduced the Mirrored Reads feature, and we have a couple of server metrics tracking that:

      • ss mirroredReads seen: tracks the number of operations that can be mirrored ("mirrorable").
      • ss mirroredReads sent: tracks the numbe of "mirrorable" operations that were actually sent to Secondaries.

      The problem is that there is no indication in the Secondaries' Diagnostic Data or Logs of the amount of reads executed as a result of the Mirror Reads feature.

      For Troubleshooting purposes, it would be nice to have the following:

      1. When an instance is a Secondary and it receives mirrored reads, track them in the Diagnostic Data with a metric similar to ss mirroredReads executed.
      2. When an instance is a Secondary and it eventually logs a "slow" (as per slowms threshold) mirrored read, add a field in the logs to clearly show the origin of this call like "mirrored: true"

      These changes should be very helpful when troubleshooting, and the suggested changes should be added to both v4.4 and v5.0.

            Assignee:
            kenneth.dyer@mongodb.com Kenneth Dyer
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              1 year, 26 weeks, 3 days ago