Stop mixing Timestamp and Date_t in ReplSetHeartbeatResponse

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Replication
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Timestamp != Date_t

      More specifically, Timestamp is ((seconds << 32) | low_bits), while Date_t is milliseconds. They're both 64 bit, but converting between them by assigning the same bits is wrong. It existed in some of our ancient legacy code (per Mathias) because of a need to send 64 bit timestamps before BSON Timestamp existed.

      ReplSetHeartbeatResponse appears to be the last place in the codebase we take a Timestamp in memory and send it as a BSON Date over the wire. It's long past time that was cleaned up.

            Assignee:
            Unassigned
            Reporter:
            Ronald Steinke
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: