[SERVER-40737] Use Date_t() as default wallTime value in OpTimeAndWallTimes Created: 19/Apr/19 Updated: 29/Oct/23 Resolved: 11/Jun/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.2.0-rc1, 4.3.1 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Shane Harvey | Assignee: | Maria van Keulen |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||
| Backport Requested: |
v4.2, v4.0, v3.6
|
||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2019-06-17 | ||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Similar to See "durableOpTime: { ts: Timestamp(0, 0), t: -1 }, durableWallTime: new Date(-9223372036854775808)"
And "lastOpCommitted: { ts: Timestamp(0, 0), t: -1 }, lastCommittedWall: new Date(-9223372036854775808)"
I imagine this could also happen in appliedWallTime too. |
| Comments |
| Comment by Githook User [ 11/Jun/19 ] | |||||||||||
|
Author: {'name': 'Maria van Keulen', 'email': 'maria@mongodb.com', 'username': 'mvankeulen94'}Message: (cherry picked from commit cc24f2022c761b32eecb18f6f5c841c3a43fe7c1) | |||||||||||
| Comment by Githook User [ 11/Jun/19 ] | |||||||||||
|
Author: {'name': 'Maria van Keulen', 'email': 'maria@mongodb.com', 'username': 'mvankeulen94'}Message: | |||||||||||
| Comment by Shane Harvey [ 06/Jun/19 ] | |||||||||||
|
I've attached a python script (SERVER-40737.py
| |||||||||||
| Comment by Maria van Keulen [ 26/Apr/19 ] | |||||||||||
|
Initializing wall clock times to Date_t() everywhere where they are currently initialized to Date_t::min() for OpTimeAndWallTimes (e.g., here) should address the issues posed in this ticket. Any usages of isFormattable() or equality comparisons against Date_t::min() to check that the wall clock time is not equal to the default should be replaced with equality checks against Date_t(). |