diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2019-11-22 20:15:48 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-11-22 20:15:48 +0000 |
commit | 257f01131fd83915c7ac6c5964075ce7a805569c (patch) | |
tree | dba1c8552bde13c847572ed46cc4e4132095eadf | |
parent | 8ff79f256f1e57b32edccae37dc260b342323d26 (diff) | |
download | mongo-257f01131fd83915c7ac6c5964075ce7a805569c.tar.gz |
SERVER-44675 Handle race in repl metrics test
-rw-r--r-- | jstests/replsets/server_status_metrics.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/jstests/replsets/server_status_metrics.js b/jstests/replsets/server_status_metrics.js index 7b271d197f4..d33f61347bc 100644 --- a/jstests/replsets/server_status_metrics.js +++ b/jstests/replsets/server_status_metrics.js @@ -1,7 +1,7 @@ /** * Test replication metrics */ -function testSecondaryMetrics(secondary, opCount, baseOpsApplied, baseOpsReceived) { +function _testSecondaryMetricsHelper(secondary, opCount, baseOpsApplied, baseOpsReceived) { var ss = secondary.getDB("test").serverStatus(); printjson(ss.metrics); @@ -30,6 +30,19 @@ function testSecondaryMetrics(secondary, opCount, baseOpsApplied, baseOpsReceive assert.eq(ss.metrics.repl.apply.ops, opCount + baseOpsApplied, "wrong number of applied ops"); } +// Metrics are racy, e.g. repl.buffer.count could over- or under-reported briefly. Retry on error. +function testSecondaryMetrics(secondary, opCount, baseOpsApplied, baseOpsReceived) { + assert.soon(() => { + try { + _testSecondaryMetricsHelper(secondary, opCount, baseOpsApplied, baseOpsReceived); + return true; + } catch (exc) { + jsTestLog(`Caught ${exc}, retrying`); + return false; + } + }); +} + var rt = new ReplSetTest({name: "server_status_metrics", nodes: 2, oplogSize: 100}); rt.startSet(); rt.initiate(); |