-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
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.