diff options
| author | Kaitlin Mahar <kaitlin.mahar@mongodb.com> | 2024-04-03 15:30:20 -0400 |
|---|---|---|
| committer | MongoDB Bot <mongo-bot@mongodb.com> | 2024-04-11 19:39:50 +0000 |
| commit | ed8e56db19a0e6a33628f6c460c31ebd431b6193 (patch) | |
| tree | 48cf98007ca405e1c76c7ad101b875bb55824c58 | |
| parent | 4302b5749c563e931cd8a58f1ba6764d5993092f (diff) | |
SERVER-88864 Make nodes_eventually_sync_from_closer_data_center.js more robust to transient slow heartbeats (#20677)r7.0.9-rc0
GitOrigin-RevId: d1e1ef429d689240089187289fd6a379a282c325
(cherry picked from commit 0348832e0d5796ff6f70f84827e832b691027f26)
| -rw-r--r-- | jstests/replsets/nodes_eventually_sync_from_closer_data_center.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js b/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js index 8ba24bdaa9b..c29e7705614 100644 --- a/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js +++ b/jstests/replsets/nodes_eventually_sync_from_closer_data_center.js @@ -105,7 +105,13 @@ assert.soon(() => { const syncSourcePingTime = replSetGetStatus.members[0].pingMs; const receivedSyncSourceHb = (syncSourcePingTime > 60); - return (receivedCentralHb && receivedSyncSourceHb); + // Wait for enough heartbeat's from the desired sync source so that our understanding of the + // ping time to that node is at least 'changeSyncSourceThresholdMillis' less than the ping time + // to our current sync source. + const centralSecondaryPingTime = replSetGetStatus.members[1].pingMs; + const exceedsChangeSyncSourceThreshold = (syncSourcePingTime - centralSecondaryPingTime > 5); + + return (receivedCentralHb && receivedSyncSourceHb && exceedsChangeSyncSourceThreshold); }); const replSetGetStatus = assert.commandWorked(testNode.adminCommand({replSetGetStatus: 1})); |
