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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0.13, 4.2.1, 4.3.1
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • ALL
    • v4.2, v4.0
    • Repl 2019-08-26

      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.



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