diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2019-11-22 20:13:20 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-11-22 20:13:20 +0000 |
commit | 204ab367a130a4fd2db1c54b02cd6a86e4e07f56 (patch) | |
tree | c35b28fccb649d8d542b4394189c42bf6c0543df | |
parent | 7a3bdd35b859ac8462e756b909c0a4773195b99a (diff) | |
download | mongo-204ab367a130a4fd2db1c54b02cd6a86e4e07f56.tar.gz |
SERVER-44675 Handle race in repl metrics testr3.6.16-rc0r3.6.16
-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 59054f2172a..935b454d92a 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, offset) { +function _testSecondaryMetricsHelper(secondary, opCount, offset) { var ss = secondary.getDB("test").serverStatus(); printjson(ss.metrics); @@ -31,6 +31,19 @@ function testSecondaryMetrics(secondary, opCount, offset) { assert.eq(ss.metrics.repl.apply.ops, opCount + offset, "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(); |