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

Add new command to allow applications to append notes to the oplog.

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.5.4
    • Fix Version/s: 2.5.5
    • Component/s: Replication, Security
    • Labels:

      Description

      Some cluster operations applications, such as backup or monitoring services, may wish to add note entries to the replication oplog. These entries would have no affect on the operation of a replica set, but could be used by such applications to learn about the relative progress of nodes applying an oplog.

      This can be accomplished today by directly appending "n"-type entries to the oplog, but there is no way to create a privilege for only appending "n"-type entries to the oplog. As a result, services cannot be given the least privilege needed to just leave notes in the oplog.

      The proposal is to introduce a new command and corresponding action type, appendOplogNote. The target of the action would be the cluster resource, and the target of the command would be the "admin" database. The command would take one argument, the "data" field, which would be stored in the "o" field of an n-type oplog entry.

      This privilege would be given to the backup@admin role.

      NOTE: The command should write to the appropriate oplog, depending on if the node is a replica set member (local.oplog.rs), a master/slave replication node (local.oplog.$main) or a config server (local.oplog.$main).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              spencer Spencer Brody
              Reporter:
              schwerin Andy Schwerin
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: