summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2019-01-22 19:40:16 -0500
committerTess Avitabile <tess.avitabile@mongodb.com>2019-01-23 12:28:49 -0500
commitdf418ee0e6a4ab7071007a88a307219421adf304 (patch)
tree73571b4bbbded339046dc14a7b7113f9891fdd6a
parentb87f723dceb3f2b1bbfe12ebf23b6cae21144e9e (diff)
downloadmongo-df418ee0e6a4ab7071007a88a307219421adf304.tar.gz
SERVER-39142 ServerWriteConcernMetrics must lock _mutex before modifying members
(cherry picked from commit f0c439824a621d9318fb8f32ac3e314542683e34)
-rw-r--r--src/mongo/db/stats/server_write_concern_metrics.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/stats/server_write_concern_metrics.h b/src/mongo/db/stats/server_write_concern_metrics.h
index 355a63bff90..c7a17dcc5d7 100644
--- a/src/mongo/db/stats/server_write_concern_metrics.h
+++ b/src/mongo/db/stats/server_write_concern_metrics.h
@@ -54,6 +54,7 @@ public:
*/
void recordWriteConcernForInserts(const WriteConcernOptions& writeConcernOptions,
size_t numInserts) {
+ stdx::lock_guard<stdx::mutex> lg(_mutex);
_insertMetrics.recordWriteConcern(writeConcernOptions, numInserts);
}
@@ -68,6 +69,7 @@ public:
* Updates the update metrics according to the 'w' value of 'writeConcernOptions'.
*/
void recordWriteConcernForUpdate(const WriteConcernOptions& writeConcernOptions) {
+ stdx::lock_guard<stdx::mutex> lg(_mutex);
_updateMetrics.recordWriteConcern(writeConcernOptions);
}
@@ -75,6 +77,7 @@ public:
* Updates the delete metrics according to the 'w' value of 'writeConcernOptions'.
*/
void recordWriteConcernForDelete(const WriteConcernOptions& writeConcernOptions) {
+ stdx::lock_guard<stdx::mutex> lg(_mutex);
_deleteMetrics.recordWriteConcern(writeConcernOptions);
}