summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@mongodb.com>2015-10-23 18:00:22 -0400
committerAndy Schwerin <schwerin@mongodb.com>2015-10-23 18:02:06 -0400
commit0ca67590714744c2cb5242d0536bae48ea8c6795 (patch)
treed5dcc643be5b87977798b01b37f7ef4a51d8475c
parent9284edb11f0626c77017117ef02790881586aa26 (diff)
downloadmongo-0ca67590714744c2cb5242d0536bae48ea8c6795.tar.gz
SERVER-21097 Add a lint rule to prohibit std::atomic, add NOLINT to existing uses.
-rwxr-xr-xbuildscripts/cpplint.py8
-rw-r--r--src/mongo/client/replica_set_monitor.cpp2
-rw-r--r--src/mongo/client/replica_set_monitor.h2
-rw-r--r--src/mongo/db/auth/sasl_options.h4
-rw-r--r--src/mongo/db/auth/user_cache_invalidator_job.cpp2
-rw-r--r--src/mongo/db/concurrency/write_conflict_exception.cpp2
-rw-r--r--src/mongo/db/concurrency/write_conflict_exception.h2
-rw-r--r--src/mongo/db/ftdc/ftdc_mongod.cpp15
-rw-r--r--src/mongo/db/fts/fts_enabled.cpp2
-rw-r--r--src/mongo/db/query/expression_index_knobs.h10
-rw-r--r--src/mongo/db/query/query_knobs.h34
-rw-r--r--src/mongo/db/repl/master_slave.cpp2
-rw-r--r--src/mongo/db/server_options.h2
-rw-r--r--src/mongo/db/server_parameters.h2
-rw-r--r--src/mongo/db/server_parameters_test.cpp2
-rw-r--r--src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp2
-rw-r--r--src/mongo/db/storage/storage_options.h4
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp2
-rw-r--r--src/mongo/dbtests/plan_ranking.cpp4
-rw-r--r--src/mongo/dbtests/query_stage_multiplan.cpp2
-rw-r--r--src/mongo/executor/network_interface_asio.h2
-rw-r--r--src/mongo/executor/network_interface_perf_test.cpp2
-rw-r--r--src/mongo/platform/atomic_proxy.h2
-rw-r--r--src/mongo/platform/atomic_word.h2
-rw-r--r--src/mongo/s/query/cluster_cursor_cleanup_job.cpp2
-rw-r--r--src/mongo/s/query/cluster_cursor_cleanup_job.h2
-rw-r--r--src/mongo/s/strategy.h2
-rw-r--r--src/mongo/util/assert_util.cpp2
-rw-r--r--src/mongo/util/assert_util.h2
29 files changed, 66 insertions, 57 deletions
diff --git a/buildscripts/cpplint.py b/buildscripts/cpplint.py
index 2eb7de4258c..be4c7d0de68 100755
--- a/buildscripts/cpplint.py
+++ b/buildscripts/cpplint.py
@@ -1657,6 +1657,13 @@ def CheckForMongoPolyfill(filename, clean_lines, linenum, error):
error(filename, linenum, 'mongodb/polyfill', 5,
'Illegal use of banned name from std::/boost::, use mongo::stdx:: variant instead')
+def CheckForMongoAtomic(filename, clean_lines, linenum, error):
+ line = clean_lines.elided[linenum]
+ if re.search('std::atomic', line):
+ error(filename, linenum, 'mongodb/stdatomic', 5,
+ 'Illegal use of prohibited std::atomic<T>, use AtomicWord<T> or other types '
+ 'from "mongo/platform/atomic_word.h"')
+
def CheckForCopyright(filename, lines, error):
"""Logs an error if no Copyright message appears at the top of the file."""
@@ -5799,6 +5806,7 @@ def ProcessLine(filename, file_extension, clean_lines, line,
CheckForNamespaceIndentation(filename, nesting_state, clean_lines, line,
error)
CheckForMongoPolyfill(filename, clean_lines, line, error)
+ CheckForMongoAtomic(filename, clean_lines, line, error)
if nesting_state.InAsmBlock(): return
CheckForFunctionLengths(filename, clean_lines, line, function_state, error)
CheckForMultilineCommentsAndStrings(filename, clean_lines, line, error)
diff --git a/src/mongo/client/replica_set_monitor.cpp b/src/mongo/client/replica_set_monitor.cpp
index c7f5ab413c7..14b8b4089ef 100644
--- a/src/mongo/client/replica_set_monitor.cpp
+++ b/src/mongo/client/replica_set_monitor.cpp
@@ -252,7 +252,7 @@ struct HostNotIn {
} // namespace
// At 1 check every 10 seconds, 30 checks takes 5 minutes
-std::atomic<int> ReplicaSetMonitor::maxConsecutiveFailedChecks(30);
+std::atomic<int> ReplicaSetMonitor::maxConsecutiveFailedChecks(30); // NOLINT
// Defaults to random selection as required by the spec
bool ReplicaSetMonitor::useDeterministicHostSelection = false;
diff --git a/src/mongo/client/replica_set_monitor.h b/src/mongo/client/replica_set_monitor.h
index 654fa225078..4258431cb4c 100644
--- a/src/mongo/client/replica_set_monitor.h
+++ b/src/mongo/client/replica_set_monitor.h
@@ -189,7 +189,7 @@ public:
* finding any live nodes claiming to be in the set, the ReplicaSetMonitorWatcher will stop
* periodic background refreshes of this set.
*/
- static std::atomic<int> maxConsecutiveFailedChecks;
+ static std::atomic<int> maxConsecutiveFailedChecks; // NOLINT
//
// internal types (defined in replica_set_monitor_internal.h)
diff --git a/src/mongo/db/auth/sasl_options.h b/src/mongo/db/auth/sasl_options.h
index 55b1f8fa7ab..6139ea10fde 100644
--- a/src/mongo/db/auth/sasl_options.h
+++ b/src/mongo/db/auth/sasl_options.h
@@ -48,8 +48,8 @@ struct SASLGlobalParams {
std::string hostName;
std::string serviceName;
std::string authdPath;
- std::atomic<int> scramIterationCount;
- std::atomic<int> authFailedDelay;
+ std::atomic<int> scramIterationCount; // NOLINT
+ std::atomic<int> authFailedDelay; // NOLINT
SASLGlobalParams();
};
diff --git a/src/mongo/db/auth/user_cache_invalidator_job.cpp b/src/mongo/db/auth/user_cache_invalidator_job.cpp
index 51db5119385..a62b69370e2 100644
--- a/src/mongo/db/auth/user_cache_invalidator_job.cpp
+++ b/src/mongo/db/auth/user_cache_invalidator_job.cpp
@@ -52,7 +52,7 @@ namespace mongo {
namespace {
// How often to check with the config servers whether authorization information has changed.
-std::atomic<int> userCacheInvalidationIntervalSecs(30); // 30 second default
+std::atomic<int> userCacheInvalidationIntervalSecs(30); // NOLINT 30 second default
stdx::mutex invalidationIntervalMutex;
stdx::condition_variable invalidationIntervalChangedCondition;
Date_t lastInvalidationTime;
diff --git a/src/mongo/db/concurrency/write_conflict_exception.cpp b/src/mongo/db/concurrency/write_conflict_exception.cpp
index b4f717ff8a6..b32dfe23084 100644
--- a/src/mongo/db/concurrency/write_conflict_exception.cpp
+++ b/src/mongo/db/concurrency/write_conflict_exception.cpp
@@ -37,7 +37,7 @@
namespace mongo {
-std::atomic<bool> WriteConflictException::trace(false);
+std::atomic<bool> WriteConflictException::trace(false); // NOLINT
WriteConflictException::WriteConflictException()
: DBException("WriteConflict", ErrorCodes::WriteConflict) {
diff --git a/src/mongo/db/concurrency/write_conflict_exception.h b/src/mongo/db/concurrency/write_conflict_exception.h
index e79e165cf85..1183e93233a 100644
--- a/src/mongo/db/concurrency/write_conflict_exception.h
+++ b/src/mongo/db/concurrency/write_conflict_exception.h
@@ -79,6 +79,6 @@ public:
* If true, will call printStackTrace on every WriteConflictException created.
* Can be set via setParameter named traceWriteConflictExceptions.
*/
- static std::atomic<bool> trace;
+ static std::atomic<bool> trace; // NOLINT
};
}
diff --git a/src/mongo/db/ftdc/ftdc_mongod.cpp b/src/mongo/db/ftdc/ftdc_mongod.cpp
index dc7bf12f999..e328dbd3dff 100644
--- a/src/mongo/db/ftdc/ftdc_mongod.cpp
+++ b/src/mongo/db/ftdc/ftdc_mongod.cpp
@@ -61,7 +61,7 @@ FTDCController* getGlobalFTDCController() {
return getFTDCController(getGlobalServiceContext()).get();
}
-std::atomic<bool> localEnabledFlag(FTDCConfig::kEnabledDefault);
+std::atomic<bool> localEnabledFlag(FTDCConfig::kEnabledDefault); // NOLINT
class ExportedFTDCEnabledParameter
: public ExportedServerParameter<bool, ServerParameterType::kStartupAndRuntime> {
@@ -83,7 +83,7 @@ public:
} exportedFTDCEnabledParameter;
-std::atomic<std::int32_t> localPeriodMillis(FTDCConfig::kPeriodMillisDefault);
+std::atomic<std::int32_t> localPeriodMillis(FTDCConfig::kPeriodMillisDefault); // NOLINT
class ExportedFTDCPeriodParameter
: public ExportedServerParameter<std::int32_t, ServerParameterType::kStartupAndRuntime> {
@@ -112,10 +112,11 @@ public:
} exportedFTDCPeriodParameter;
// Scale the values down since are defaults are in bytes, but the user interface is MB
-std::atomic<std::int32_t> localMaxDirectorySizeMB(FTDCConfig::kMaxDirectorySizeBytesDefault /
- (1024 * 1024));
+std::atomic<std::int32_t> localMaxDirectorySizeMB( // NOLINT
+ FTDCConfig::kMaxDirectorySizeBytesDefault / (1024 * 1024));
-std::atomic<std::int32_t> localMaxFileSizeMB(FTDCConfig::kMaxFileSizeBytesDefault / (1024 * 1024));
+std::atomic<std::int32_t> localMaxFileSizeMB(FTDCConfig::kMaxFileSizeBytesDefault / // NOLINT
+ (1024 * 1024));
class ExportedFTDCDirectorySizeParameter
: public ExportedServerParameter<std::int32_t, ServerParameterType::kStartupAndRuntime> {
@@ -186,7 +187,7 @@ public:
} exportedFTDCFileSizeParameter;
-std::atomic<std::int32_t> localMaxSamplesPerArchiveMetricChunk(
+std::atomic<std::int32_t> localMaxSamplesPerArchiveMetricChunk( // NOLINT
FTDCConfig::kMaxSamplesPerArchiveMetricChunkDefault);
class ExportedFTDCArchiveChunkSizeParameter
@@ -215,7 +216,7 @@ public:
} exportedFTDCArchiveChunkSizeParameter;
-std::atomic<std::int32_t> localMaxSamplesPerInterimMetricChunk(
+std::atomic<std::int32_t> localMaxSamplesPerInterimMetricChunk( // NOLINT
FTDCConfig::kMaxSamplesPerInterimMetricChunkDefault);
class ExportedFTDCInterimChunkSizeParameter
diff --git a/src/mongo/db/fts/fts_enabled.cpp b/src/mongo/db/fts/fts_enabled.cpp
index 61c700f513b..4db31119e8b 100644
--- a/src/mongo/db/fts/fts_enabled.cpp
+++ b/src/mongo/db/fts/fts_enabled.cpp
@@ -38,7 +38,7 @@ namespace mongo {
namespace fts {
namespace {
-std::atomic<bool> dummyEnabledFlag(true); // Unused, needed for server parameter.
+std::atomic<bool> dummyEnabledFlag(true); // Unused, needed for server parameter. NOLINT
/**
* Declaration for the "textSearchEnabled" server parameter, which is now deprecated.
diff --git a/src/mongo/db/query/expression_index_knobs.h b/src/mongo/db/query/expression_index_knobs.h
index f75da14fe97..ef3af4f8812 100644
--- a/src/mongo/db/query/expression_index_knobs.h
+++ b/src/mongo/db/query/expression_index_knobs.h
@@ -39,24 +39,24 @@ namespace mongo {
/**
* The maximum number of cells to use for 2D geo query covering for predicate queries
*/
-extern std::atomic<int> internalGeoPredicateQuery2DMaxCoveringCells;
+extern std::atomic<int> internalGeoPredicateQuery2DMaxCoveringCells; // NOLINT
/**
* The maximum number of cells to use for 2D geo query covering for predicate queries
*/
-extern std::atomic<int> internalGeoNearQuery2DMaxCoveringCells;
+extern std::atomic<int> internalGeoNearQuery2DMaxCoveringCells; // NOLINT
//
// Geo query.
//
// What is the finest level we will cover a queried region or geoNear annulus?
-extern std::atomic<int> internalQueryS2GeoFinestLevel;
+extern std::atomic<int> internalQueryS2GeoFinestLevel; // NOLINT
// What is the coarsest level we will cover a queried region or geoNear annulus?
-extern std::atomic<int> internalQueryS2GeoCoarsestLevel;
+extern std::atomic<int> internalQueryS2GeoCoarsestLevel; // NOLINT
// What is the maximum cell count that we want? (advisory, not a hard threshold)
-extern std::atomic<int> internalQueryS2GeoMaxCells;
+extern std::atomic<int> internalQueryS2GeoMaxCells; // NOLINT
} // namespace mongo
diff --git a/src/mongo/db/query/query_knobs.h b/src/mongo/db/query/query_knobs.h
index 6166ced05cf..3c2f5055d3c 100644
--- a/src/mongo/db/query/query_knobs.h
+++ b/src/mongo/db/query/query_knobs.h
@@ -40,70 +40,70 @@ namespace mongo {
// Max number of times we call work() on plans before comparing them,
// for small collections.
-extern std::atomic<int> internalQueryPlanEvaluationWorks;
+extern std::atomic<int> internalQueryPlanEvaluationWorks; // NOLINT
// For large collections, the number times we work() candidate plans is
// taken as this fraction of the collection size.
-extern AtomicDouble internalQueryPlanEvaluationCollFraction;
+extern AtomicDouble internalQueryPlanEvaluationCollFraction; // NOLINT
// Stop working plans once a plan returns this many results.
-extern std::atomic<int> internalQueryPlanEvaluationMaxResults;
+extern std::atomic<int> internalQueryPlanEvaluationMaxResults; // NOLINT
// Do we give a big ranking bonus to intersection plans?
-extern std::atomic<bool> internalQueryForceIntersectionPlans;
+extern std::atomic<bool> internalQueryForceIntersectionPlans; // NOLINT
// Do we have ixisect on at all?
-extern std::atomic<bool> internalQueryPlannerEnableIndexIntersection;
+extern std::atomic<bool> internalQueryPlannerEnableIndexIntersection; // NOLINT
// Do we use hash-based intersection for rooted $and queries?
-extern std::atomic<bool> internalQueryPlannerEnableHashIntersection;
+extern std::atomic<bool> internalQueryPlannerEnableHashIntersection; // NOLINT
//
// plan cache
//
// How many entries in the cache?
-extern std::atomic<int> internalQueryCacheSize;
+extern std::atomic<int> internalQueryCacheSize; // NOLINT
// How many feedback entries do we collect before possibly evicting from the cache based on bad
// performance?
-extern std::atomic<int> internalQueryCacheFeedbacksStored;
+extern std::atomic<int> internalQueryCacheFeedbacksStored; // NOLINT
// How many times more works must we perform in order to justify plan cache eviction
// and replanning?
-extern AtomicDouble internalQueryCacheEvictionRatio;
+extern AtomicDouble internalQueryCacheEvictionRatio; // NOLINT
//
// Planning and enumeration.
//
// How many indexed solutions will QueryPlanner::plan output?
-extern std::atomic<int> internalQueryPlannerMaxIndexedSolutions;
+extern std::atomic<int> internalQueryPlannerMaxIndexedSolutions; // NOLINT
// How many solutions will the enumerator consider at each OR?
-extern std::atomic<int> internalQueryEnumerationMaxOrSolutions;
+extern std::atomic<int> internalQueryEnumerationMaxOrSolutions; // NOLINT
// How many intersections will the enumerator consider at each AND?
-extern std::atomic<int> internalQueryEnumerationMaxIntersectPerAnd;
+extern std::atomic<int> internalQueryEnumerationMaxIntersectPerAnd; // NOLINT
// Do we want to plan each child of the OR independently?
-extern std::atomic<bool> internalQueryPlanOrChildrenIndependently;
+extern std::atomic<bool> internalQueryPlanOrChildrenIndependently; // NOLINT
// How many index scans are we willing to produce in order to obtain a sort order
// during explodeForSort?
-extern std::atomic<int> internalQueryMaxScansToExplode;
+extern std::atomic<int> internalQueryMaxScansToExplode; // NOLINT
//
// Query execution.
//
-extern std::atomic<int> internalQueryExecMaxBlockingSortBytes;
+extern std::atomic<int> internalQueryExecMaxBlockingSortBytes; // NOLINT
// Yield after this many "should yield?" checks.
-extern std::atomic<int> internalQueryExecYieldIterations;
+extern std::atomic<int> internalQueryExecYieldIterations; // NOLINT
// Yield if it's been at least this many milliseconds since we last yielded.
-extern std::atomic<int> internalQueryExecYieldPeriodMS;
+extern std::atomic<int> internalQueryExecYieldPeriodMS; // NOLINT
// Limit the size that we write without yielding to 16MB / 64 (max expected number of indexes)
const int64_t insertVectorMaxBytes = 256 * 1024;
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
index 82b349108f5..0b662ce66dd 100644
--- a/src/mongo/db/repl/master_slave.cpp
+++ b/src/mongo/db/repl/master_slave.cpp
@@ -810,7 +810,7 @@ void ReplSource::syncToTailOfRemoteLog() {
}
}
-std::atomic<int> replApplyBatchSize(1);
+std::atomic<int> replApplyBatchSize(1); // NOLINT
class ReplApplyBatchSize
: public ExportedServerParameter<int, ServerParameterType::kStartupAndRuntime> {
diff --git a/src/mongo/db/server_options.h b/src/mongo/db/server_options.h
index ac1c1364b7f..9986561aea4 100644
--- a/src/mongo/db/server_options.h
+++ b/src/mongo/db/server_options.h
@@ -78,7 +78,7 @@ struct ServerGlobalParams {
bool indexBuildRetry; // --noIndexBuildRetry
- std::atomic<bool> quiet; // --quiet
+ std::atomic<bool> quiet; // --quiet NOLINT
bool configsvr; // --configsvr
CatalogManager::ConfigServerMode configsvrMode; // -- configsvrMode
diff --git a/src/mongo/db/server_parameters.h b/src/mongo/db/server_parameters.h
index 1c87613e110..9415d3470ab 100644
--- a/src/mongo/db/server_parameters.h
+++ b/src/mongo/db/server_parameters.h
@@ -161,7 +161,7 @@ class is_safe_runtime_parameter_type<double> : public std::true_type {};
template <typename T, ServerParameterType paramType>
class server_parameter_storage_type {
public:
- using value_type = std::atomic<T>;
+ using value_type = std::atomic<T>; // NOLINT
};
template <typename T>
diff --git a/src/mongo/db/server_parameters_test.cpp b/src/mongo/db/server_parameters_test.cpp
index 7cfd012879c..379a9947154 100644
--- a/src/mongo/db/server_parameters_test.cpp
+++ b/src/mongo/db/server_parameters_test.cpp
@@ -39,7 +39,7 @@ using std::string;
using std::vector;
TEST(ServerParameters, Simple1) {
- std::atomic<int> f(5);
+ std::atomic<int> f(5); // NOLINT
ExportedServerParameter<int, ServerParameterType::kStartupAndRuntime> ff(NULL, "ff", &f);
ASSERT_EQUALS("ff", ff.name());
diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp
index 9771fcb4ccc..ad63d494d0f 100644
--- a/src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp
+++ b/src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp
@@ -69,7 +69,7 @@ namespace {
* - setting to false will fail.
*/
// Unused, needed for server parameter.
-std::atomic<bool> newCollectionsUsePowerOf2SizesFlag(true);
+std::atomic<bool> newCollectionsUsePowerOf2SizesFlag(true); // NOLINT
class NewCollectionsUsePowerOf2SizesParameter
: public ExportedServerParameter<bool, ServerParameterType::kStartupAndRuntime> {
diff --git a/src/mongo/db/storage/storage_options.h b/src/mongo/db/storage/storage_options.h
index 1b6069242cd..447fc83a6cb 100644
--- a/src/mongo/db/storage/storage_options.h
+++ b/src/mongo/db/storage/storage_options.h
@@ -94,11 +94,11 @@ struct StorageGlobalParams {
// --journalCommitInterval
static const int kMaxJournalCommitIntervalMs;
- std::atomic<int> journalCommitIntervalMs;
+ std::atomic<int> journalCommitIntervalMs; // NOLINT
// --notablescan
// no table scans allowed
- std::atomic<bool> noTableScan;
+ std::atomic<bool> noTableScan; // NOLINT
// --directoryperdb
// Stores each database’s files in its own folder in the data directory.
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
index 70df3e595be..f23ae839bbd 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp
@@ -104,7 +104,7 @@ public:
private:
WiredTigerSessionCache* _sessionCache;
- std::atomic<bool> _shuttingDown{false};
+ std::atomic<bool> _shuttingDown{false}; // NOLINT
};
WiredTigerKVEngine::WiredTigerKVEngine(const std::string& path,
diff --git a/src/mongo/dbtests/plan_ranking.cpp b/src/mongo/dbtests/plan_ranking.cpp
index 16668a116c9..6c853e409e3 100644
--- a/src/mongo/dbtests/plan_ranking.cpp
+++ b/src/mongo/dbtests/plan_ranking.cpp
@@ -52,9 +52,9 @@
namespace mongo {
// How we access the external setParameter testing bool.
-extern std::atomic<bool> internalQueryForceIntersectionPlans;
+extern std::atomic<bool> internalQueryForceIntersectionPlans; // NOLINT
-extern std::atomic<bool> internalQueryPlannerEnableHashIntersection;
+extern std::atomic<bool> internalQueryPlannerEnableHashIntersection; // NOLINT
} // namespace mongo
diff --git a/src/mongo/dbtests/query_stage_multiplan.cpp b/src/mongo/dbtests/query_stage_multiplan.cpp
index d772c80ce5f..cda5de388cf 100644
--- a/src/mongo/dbtests/query_stage_multiplan.cpp
+++ b/src/mongo/dbtests/query_stage_multiplan.cpp
@@ -51,7 +51,7 @@
namespace mongo {
// How we access the external setParameter testing bool.
-extern std::atomic<bool> internalQueryForceIntersectionPlans;
+extern std::atomic<bool> internalQueryForceIntersectionPlans; // NOLINT
} // namespace mongo
diff --git a/src/mongo/executor/network_interface_asio.h b/src/mongo/executor/network_interface_asio.h
index 91fc0858824..74309aaf465 100644
--- a/src/mongo/executor/network_interface_asio.h
+++ b/src/mongo/executor/network_interface_asio.h
@@ -379,7 +379,7 @@ private:
asio::ip::tcp::resolver _resolver;
- std::atomic<State> _state;
+ std::atomic<State> _state; // NOLINT
std::unique_ptr<AsyncTimerFactoryInterface> _timerFactory;
diff --git a/src/mongo/executor/network_interface_perf_test.cpp b/src/mongo/executor/network_interface_perf_test.cpp
index 0c79cdb727a..99f91cec0d2 100644
--- a/src/mongo/executor/network_interface_perf_test.cpp
+++ b/src/mongo/executor/network_interface_perf_test.cpp
@@ -65,7 +65,7 @@ int timeNetworkTestMillis(std::size_t operations, NetworkInterface* net) {
auto fixture = unittest::getFixtureConnectionString();
auto server = fixture.getServers()[0];
- std::atomic<int> remainingOps(operations);
+ std::atomic<int> remainingOps(operations); // NOLINT
stdx::mutex mtx;
stdx::condition_variable cv;
Timer t;
diff --git a/src/mongo/platform/atomic_proxy.h b/src/mongo/platform/atomic_proxy.h
index 86ad898199d..ae7960cb930 100644
--- a/src/mongo/platform/atomic_proxy.h
+++ b/src/mongo/platform/atomic_proxy.h
@@ -79,7 +79,7 @@ public:
}
private:
- std::atomic<BaseWordT> _value;
+ std::atomic<BaseWordT> _value; // NOLINT
};
using AtomicDouble = AtomicProxy<double, std::uint64_t>;
diff --git a/src/mongo/platform/atomic_word.h b/src/mongo/platform/atomic_word.h
index 86a5b5ea323..c3452d827dc 100644
--- a/src/mongo/platform/atomic_word.h
+++ b/src/mongo/platform/atomic_word.h
@@ -146,7 +146,7 @@ public:
}
private:
- std::atomic<WordType> _value;
+ std::atomic<WordType> _value; // NOLINT
};
#define _ATOMIC_WORD_DECLARE(NAME, WTYPE) \
diff --git a/src/mongo/s/query/cluster_cursor_cleanup_job.cpp b/src/mongo/s/query/cluster_cursor_cleanup_job.cpp
index cf4bd4b943b..14132876df6 100644
--- a/src/mongo/s/query/cluster_cursor_cleanup_job.cpp
+++ b/src/mongo/s/query/cluster_cursor_cleanup_job.cpp
@@ -39,7 +39,7 @@
namespace mongo {
-std::atomic<long long> ClusterCursorCleanupJob::cursorTimeoutMillis(
+std::atomic<long long> ClusterCursorCleanupJob::cursorTimeoutMillis( // NOLINT
durationCount<stdx::chrono::milliseconds>(stdx::chrono::minutes(10)));
ExportedServerParameter<long long, ServerParameterType::kStartupAndRuntime>
diff --git a/src/mongo/s/query/cluster_cursor_cleanup_job.h b/src/mongo/s/query/cluster_cursor_cleanup_job.h
index 4e45d889d30..c623f4a6c0b 100644
--- a/src/mongo/s/query/cluster_cursor_cleanup_job.h
+++ b/src/mongo/s/query/cluster_cursor_cleanup_job.h
@@ -51,7 +51,7 @@ public:
* TODO: Move declaration to cpp file once CursorCache class is deleted. See SERVER-20758 for
* more details.
*/
- static std::atomic<long long> cursorTimeoutMillis;
+ static std::atomic<long long> cursorTimeoutMillis; // NOLINT
std::string name() const final;
void run() final;
diff --git a/src/mongo/s/strategy.h b/src/mongo/s/strategy.h
index 873aaf5f44c..1f1070f563a 100644
--- a/src/mongo/s/strategy.h
+++ b/src/mongo/s/strategy.h
@@ -45,7 +45,7 @@ class ServerSelectionMetadata;
} // namespace rpc
// A spigot to enable the ClusterClientCursor codepath.
-extern std::atomic<bool> useClusterClientCursor;
+extern std::atomic<bool> useClusterClientCursor; // NOLINT
/**
* Legacy interface for processing client read/write/cmd requests.
diff --git a/src/mongo/util/assert_util.cpp b/src/mongo/util/assert_util.cpp
index ceb3007ae38..764afacb140 100644
--- a/src/mongo/util/assert_util.cpp
+++ b/src/mongo/util/assert_util.cpp
@@ -74,7 +74,7 @@ void AssertionCount::condrollover(int newvalue) {
rollover();
}
-std::atomic<bool> DBException::traceExceptions(false);
+std::atomic<bool> DBException::traceExceptions(false); // NOLINT
string DBException::toString() const {
stringstream ss;
diff --git a/src/mongo/util/assert_util.h b/src/mongo/util/assert_util.h
index c32e770b0e4..3334a62182f 100644
--- a/src/mongo/util/assert_util.h
+++ b/src/mongo/util/assert_util.h
@@ -130,7 +130,7 @@ private:
static void traceIfNeeded(const DBException& e);
public:
- static std::atomic<bool> traceExceptions;
+ static std::atomic<bool> traceExceptions; // NOLINT
protected:
ExceptionInfo _ei;