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

Secondary stuck with old sync source for reporting up to 30 seconds

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • Replication

      EDIT: Cancelling the reporter on changing sync source is a more robust solution.

      syncSourceFeedbackNetworkTimeoutSecs is currently hardcoded to 30s. In case of network partition, the sync source feedback report might need to take 30s before timing out on the replSetUpdatePosition remote command against the old sync source even though the node has selected a new sync source. This could result in majority commit point lag after failovers. One idea is to have the syncSourceFeedbackNetworkTimeoutSecs the same as the feedback reporter's interval (or plus a buffer). Another idea is to hardcode the syncSourceFeedbackNetworkTimeoutSecs to a smaller number because we don't generally expect replSetUpdatePosition to block and the current 30s seem too much for a socket timeout.

            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            lingzhi.deng@mongodb.com Lingzhi Deng
            1 Vote for this issue
            7 Start watching this issue