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

replica set members should be able to replicate off members that don't build indexes

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Replication
    • None
    • Replication

    Description

      Currently, if member 'A' does not build indexes, then other members that do build indexes cannot replicate oplog data off of A. Here is why this is problematic.

      Suppose member 'A' finds itself to be further ahead than all other members, because it was the only member to replicate data some data off the primary before the primary disappeared. Because other members cannot sync from A, other members cannot catch up to A. Also, because A is ahead of everyone else, A will veto every possible election of a new primary. You are stuck with a situation where no primary can be elected.

      Perhaps Member::syncable() should distinguish cases where we wish to replicate oplog data or do an initial sync. It makes sense for members that don't build indexes to be ineligible for being the source of an initial sync. However, for the reasons above, they should be allowed to be the source of oplog data during normal replication

      Attachments

        Activity

          People

            backlog-server-repl Backlog - Replication Team
            zardosht Zardosht Kasheff
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: