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

Oplog query with higher timestamp but lower term than the sync source shouldn't time out due to afterClusterTime

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.0.13, 4.2.1, 4.3.1
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • v4.2, v4.0
    • Repl 2019-08-26

    Description

      SERVER-33812 attach afterClusterTime to all oplog queries. A node with higher timestamp but lower term than the sync source should roll back due to an empty batch, e.g. the old primary has (ts: 9, term: 1), while the new primary has (ts: 8, term: 2). However, the oplog query failed with MaxTimeMSExpired added in SERVER-35200. I believe the query times out while waiting for afterClusterTime. In production, it's very likely the old primary will roll back when new writes arrive with even higher timestamp, maybe by the periodic no-op writer. However, it is still a liveness issue.

       

       

      Attachments

        Activity

          People

            siyuan.zhou@mongodb.com Siyuan Zhou
            siyuan.zhou@mongodb.com Siyuan Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: