summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2016-04-26 19:25:09 -0400
committerMathias Stearn <mathias@10gen.com>2016-05-10 14:23:16 -0400
commitbef7b9a89f3a24ed563e958ab789595ac1cc39cc (patch)
treef3baed779e45e03a6f80b1b96dd31fb16f47b1b4 /src/mongo
parent23c5d7e44c5447769a46e6d4e10ae6237e8de5fd (diff)
downloadmongo-bef7b9a89f3a24ed563e958ab789595ac1cc39cc.tar.gz
SERVER-23873 Optimize checking for interrupt
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/client.h4
-rw-r--r--src/mongo/db/commands/copydb_start_commands.cpp1
-rw-r--r--src/mongo/db/commands/list_databases.cpp1
-rw-r--r--src/mongo/db/curop_metrics.cpp2
-rw-r--r--src/mongo/db/operation_context.cpp12
-rw-r--r--src/mongo/db/operation_context.h13
-rw-r--r--src/mongo/db/operation_context_impl.cpp4
-rw-r--r--src/mongo/db/operation_context_impl.h2
-rw-r--r--src/mongo/db/server_parameters_test.cpp2
-rw-r--r--src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store_test.cpp3
-rw-r--r--src/mongo/db/storage/kv/kv_database_catalog_entry.cpp2
-rw-r--r--src/mongo/db/storage/mmap_v1/dur.cpp1
-rw-r--r--src/mongo/db/storage/mmap_v1/dur_journal_writer.cpp1
-rw-r--r--src/mongo/db/storage/mmap_v1/heap_record_store_btree.cpp2
-rw-r--r--src/mongo/db/storage/mmap_v1/mmap_v1_record_store_test.cpp2
-rw-r--r--src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp1
-rw-r--r--src/mongo/db/storage/record_store_test_capped_visibility.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_datafor.cpp3
-rw-r--r--src/mongo/db/storage/record_store_test_datasize.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_deleterecord.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_harness.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_insertrecord.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_manyiter.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_randomiter.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_recorditer.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_recordstore.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_repairiter.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_storagesize.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_touch.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_truncate.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_updaterecord.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_updatewithdamages.cpp2
-rw-r--r--src/mongo/db/storage/record_store_test_validate.cpp2
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp5
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp2
-rw-r--r--src/mongo/rpc/metadata/config_server_metadata.cpp2
-rw-r--r--src/mongo/s/s_only.cpp1
37 files changed, 75 insertions, 23 deletions
diff --git a/src/mongo/db/client.h b/src/mongo/db/client.h
index 5a500f4cf78..407a0bac868 100644
--- a/src/mongo/db/client.h
+++ b/src/mongo/db/client.h
@@ -38,7 +38,6 @@
#include "mongo/db/client_basic.h"
#include "mongo/db/namespace_string.h"
-#include "mongo/db/operation_context.h"
#include "mongo/db/service_context.h"
#include "mongo/platform/random.h"
#include "mongo/platform/unordered_set.h"
@@ -48,8 +47,9 @@
namespace mongo {
-class Collection;
class AbstractMessagingPort;
+class Collection;
+class OperationContext;
typedef long long ConnectionId;
diff --git a/src/mongo/db/commands/copydb_start_commands.cpp b/src/mongo/db/commands/copydb_start_commands.cpp
index e37695e4181..609c1167184 100644
--- a/src/mongo/db/commands/copydb_start_commands.cpp
+++ b/src/mongo/db/commands/copydb_start_commands.cpp
@@ -44,6 +44,7 @@
#include "mongo/db/commands.h"
#include "mongo/db/commands/copydb.h"
#include "mongo/db/jsobj.h"
+#include "mongo/db/operation_context.h"
#include "mongo/rpc/get_status_from_command_result.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/db/commands/list_databases.cpp b/src/mongo/db/commands/list_databases.cpp
index 88978246b19..7867efa38e6 100644
--- a/src/mongo/db/commands/list_databases.cpp
+++ b/src/mongo/db/commands/list_databases.cpp
@@ -33,6 +33,7 @@
#include "mongo/db/catalog/database_holder.h"
#include "mongo/db/client.h"
#include "mongo/db/commands.h"
+#include "mongo/db/operation_context.h"
#include "mongo/db/service_context.h"
#include "mongo/db/storage/storage_engine.h"
diff --git a/src/mongo/db/curop_metrics.cpp b/src/mongo/db/curop_metrics.cpp
index 78d2ca3d41c..558659ae554 100644
--- a/src/mongo/db/curop_metrics.cpp
+++ b/src/mongo/db/curop_metrics.cpp
@@ -26,6 +26,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/base/counter.h"
#include "mongo/db/curop.h"
#include "mongo/db/operation_context.h"
diff --git a/src/mongo/db/operation_context.cpp b/src/mongo/db/operation_context.cpp
index 1434ee5ddc7..c8e4ad61137 100644
--- a/src/mongo/db/operation_context.cpp
+++ b/src/mongo/db/operation_context.cpp
@@ -38,21 +38,9 @@ namespace mongo {
OperationContext::OperationContext(Client* client, unsigned int opId, Locker* locker)
: _client(client), _opId(opId), _locker(locker) {}
-ServiceContext* OperationContext::getServiceContext() const {
- return _client->getServiceContext();
-}
-
-Client* OperationContext::getClient() const {
- return _client;
-}
-
void OperationContext::markKilled(ErrorCodes::Error killCode) {
invariant(killCode != ErrorCodes::OK);
_killCode.compareAndSwap(ErrorCodes::OK, killCode);
}
-ErrorCodes::Error OperationContext::getKillStatus() const {
- return _killCode.loadRelaxed();
-}
-
} // namespace mongo
diff --git a/src/mongo/db/operation_context.h b/src/mongo/db/operation_context.h
index 249b89bdf37..0c26404dae1 100644
--- a/src/mongo/db/operation_context.h
+++ b/src/mongo/db/operation_context.h
@@ -30,6 +30,7 @@
#include "mongo/base/disallow_copying.h"
#include "mongo/base/status.h"
+#include "mongo/db/client.h"
#include "mongo/db/concurrency/d_concurrency.h"
#include "mongo/db/storage/recovery_unit.h"
#include "mongo/db/storage/storage_options.h"
@@ -140,12 +141,16 @@ public:
/**
* Returns the service context under which this operation context runs.
*/
- ServiceContext* getServiceContext() const;
+ ServiceContext* getServiceContext() const {
+ return _client->getServiceContext();
+ }
/**
* Returns the client under which this context runs.
*/
- Client* getClient() const;
+ Client* getClient() const {
+ return _client;
+ }
virtual uint64_t getRemainingMaxTimeMicros() const = 0;
@@ -201,7 +206,9 @@ public:
* May be called by any thread that has locked the Client owning this operation context, or
* without lock by the thread executing on behalf of this operation context.
*/
- ErrorCodes::Error getKillStatus() const;
+ ErrorCodes::Error getKillStatus() const {
+ return _killCode.loadRelaxed();
+ }
/**
* Shortcut method, which checks whether getKillStatus returns a non-OK value. Has the same
diff --git a/src/mongo/db/operation_context_impl.cpp b/src/mongo/db/operation_context_impl.cpp
index dc4fc72df33..67483b4c961 100644
--- a/src/mongo/db/operation_context_impl.cpp
+++ b/src/mongo/db/operation_context_impl.cpp
@@ -79,7 +79,7 @@ OperationContextImpl::OperationContextImpl()
: OperationContext(
&cc(), nextOpId.fetchAndAdd(1), clientOperationInfoDecoration(cc()).getLocker()),
_writesAreReplicated(true) {
- StorageEngine* storageEngine = getGlobalServiceContext()->getGlobalStorageEngine();
+ StorageEngine* storageEngine = getServiceContext()->getGlobalStorageEngine();
_recovery.reset(storageEngine->newRecoveryUnit());
auto client = getClient();
@@ -172,7 +172,7 @@ void OperationContextImpl::checkForInterrupt() {
}
Status OperationContextImpl::checkForInterruptNoAssert() {
- if (getGlobalServiceContext()->getKillAllOperations()) {
+ if (getServiceContext()->getKillAllOperations()) {
return Status(ErrorCodes::InterruptedAtShutdown, "interrupted at shutdown");
}
diff --git a/src/mongo/db/operation_context_impl.h b/src/mongo/db/operation_context_impl.h
index e3474939d7b..1ebee1a0f77 100644
--- a/src/mongo/db/operation_context_impl.h
+++ b/src/mongo/db/operation_context_impl.h
@@ -33,7 +33,7 @@
namespace mongo {
-class OperationContextImpl : public OperationContext {
+class OperationContextImpl final : public OperationContext {
public:
virtual ~OperationContextImpl();
diff --git a/src/mongo/db/server_parameters_test.cpp b/src/mongo/db/server_parameters_test.cpp
index 379a9947154..fc480be9e02 100644
--- a/src/mongo/db/server_parameters_test.cpp
+++ b/src/mongo/db/server_parameters_test.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/unittest/unittest.h"
#include "mongo/db/operation_context_noop.h"
diff --git a/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store_test.cpp b/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store_test.cpp
index 6da2107aa61..5fa803ea2e0 100644
--- a/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store_test.cpp
+++ b/src/mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store_test.cpp
@@ -28,8 +28,9 @@
* it in the license file.
*/
-#include "mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store.h"
+#include "mongo/platform/basic.h"
+#include "mongo/db/storage/ephemeral_for_test/ephemeral_for_test_record_store.h"
#include "mongo/db/storage/ephemeral_for_test/ephemeral_for_test_recovery_unit.h"
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/kv/kv_database_catalog_entry.cpp b/src/mongo/db/storage/kv/kv_database_catalog_entry.cpp
index b88eeb6bc20..158d638b142 100644
--- a/src/mongo/db/storage/kv/kv_database_catalog_entry.cpp
+++ b/src/mongo/db/storage/kv/kv_database_catalog_entry.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/kv/kv_database_catalog_entry.h"
#include "mongo/db/operation_context.h"
diff --git a/src/mongo/db/storage/mmap_v1/dur.cpp b/src/mongo/db/storage/mmap_v1/dur.cpp
index 0bfb6d44e45..d7037b87b19 100644
--- a/src/mongo/db/storage/mmap_v1/dur.cpp
+++ b/src/mongo/db/storage/mmap_v1/dur.cpp
@@ -81,6 +81,7 @@
#include "mongo/db/client.h"
#include "mongo/db/commands/server_status.h"
#include "mongo/db/concurrency/lock_state.h"
+#include "mongo/db/operation_context.h"
#include "mongo/db/storage/mmap_v1/aligned_builder.h"
#include "mongo/db/storage/mmap_v1/dur_commitjob.h"
#include "mongo/db/storage/mmap_v1/dur_journal.h"
diff --git a/src/mongo/db/storage/mmap_v1/dur_journal_writer.cpp b/src/mongo/db/storage/mmap_v1/dur_journal_writer.cpp
index ff24018a0c6..176cf3b3ae6 100644
--- a/src/mongo/db/storage/mmap_v1/dur_journal_writer.cpp
+++ b/src/mongo/db/storage/mmap_v1/dur_journal_writer.cpp
@@ -40,6 +40,7 @@
#include "mongo/stdx/functional.h"
#include "mongo/stdx/thread.h"
#include "mongo/util/log.h"
+#include "mongo/util/timer.h"
namespace mongo {
namespace dur {
diff --git a/src/mongo/db/storage/mmap_v1/heap_record_store_btree.cpp b/src/mongo/db/storage/mmap_v1/heap_record_store_btree.cpp
index 123a94fdeb9..eaf0981c688 100644
--- a/src/mongo/db/storage/mmap_v1/heap_record_store_btree.cpp
+++ b/src/mongo/db/storage/mmap_v1/heap_record_store_btree.cpp
@@ -31,6 +31,8 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/mmap_v1/heap_record_store_btree.h"
#include "mongo/base/checked_cast.h"
diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_record_store_test.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_record_store_test.cpp
index 3386bb057d1..0328ea2d7c5 100644
--- a/src/mongo/db/storage/mmap_v1/mmap_v1_record_store_test.cpp
+++ b/src/mongo/db/storage/mmap_v1/mmap_v1_record_store_test.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/operation_context_noop.h"
#include "mongo/db/storage/mmap_v1/extent.h"
#include "mongo/db/storage/mmap_v1/record.h"
diff --git a/src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp b/src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp
index 350a9fc1cdf..1c678074ace 100644
--- a/src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp
+++ b/src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp
@@ -33,6 +33,7 @@
#include "mongo/db/storage/mmap_v1/record_store_v1_capped.h"
#include "mongo/db/client.h"
+#include "mongo/db/operation_context.h"
#include "mongo/db/storage/mmap_v1/extent.h"
#include "mongo/db/storage/mmap_v1/extent_manager.h"
#include "mongo/db/storage/mmap_v1/mmap.h"
diff --git a/src/mongo/db/storage/record_store_test_capped_visibility.cpp b/src/mongo/db/storage/record_store_test_capped_visibility.cpp
index 1f7d7afa87c..addf258d4f3 100644
--- a/src/mongo/db/storage/record_store_test_capped_visibility.cpp
+++ b/src/mongo/db/storage/record_store_test_capped_visibility.cpp
@@ -26,6 +26,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
#include <memory>
diff --git a/src/mongo/db/storage/record_store_test_datafor.cpp b/src/mongo/db/storage/record_store_test_datafor.cpp
index 4bb9a0fbca1..f29300d9525 100644
--- a/src/mongo/db/storage/record_store_test_datafor.cpp
+++ b/src/mongo/db/storage/record_store_test_datafor.cpp
@@ -28,8 +28,9 @@
* it in the license file.
*/
-#include "mongo/db/storage/record_store_test_harness.h"
+#include "mongo/platform/basic.h"
+#include "mongo/db/storage/record_store_test_harness.h"
#include "mongo/db/record_id.h"
#include "mongo/db/storage/record_data.h"
diff --git a/src/mongo/db/storage/record_store_test_datasize.cpp b/src/mongo/db/storage/record_store_test_datasize.cpp
index b39d62d27b3..03f06bd0834 100644
--- a/src/mongo/db/storage/record_store_test_datasize.cpp
+++ b/src/mongo/db/storage/record_store_test_datasize.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_deleterecord.cpp b/src/mongo/db/storage/record_store_test_deleterecord.cpp
index 87249d51a17..372b67e1915 100644
--- a/src/mongo/db/storage/record_store_test_deleterecord.cpp
+++ b/src/mongo/db/storage/record_store_test_deleterecord.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_harness.cpp b/src/mongo/db/storage/record_store_test_harness.cpp
index 75561e1429b..6512e3bfff1 100644
--- a/src/mongo/db/storage/record_store_test_harness.cpp
+++ b/src/mongo/db/storage/record_store_test_harness.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_insertrecord.cpp b/src/mongo/db/storage/record_store_test_insertrecord.cpp
index 03f8bcebc7a..0ebca91645a 100644
--- a/src/mongo/db/storage/record_store_test_insertrecord.cpp
+++ b/src/mongo/db/storage/record_store_test_insertrecord.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_manyiter.cpp b/src/mongo/db/storage/record_store_test_manyiter.cpp
index 842e2681abc..ead99310fc4 100644
--- a/src/mongo/db/storage/record_store_test_manyiter.cpp
+++ b/src/mongo/db/storage/record_store_test_manyiter.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_randomiter.cpp b/src/mongo/db/storage/record_store_test_randomiter.cpp
index 140e063069a..18379372f83 100644
--- a/src/mongo/db/storage/record_store_test_randomiter.cpp
+++ b/src/mongo/db/storage/record_store_test_randomiter.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_recorditer.cpp b/src/mongo/db/storage/record_store_test_recorditer.cpp
index 1815352b6af..c9367e81ce4 100644
--- a/src/mongo/db/storage/record_store_test_recorditer.cpp
+++ b/src/mongo/db/storage/record_store_test_recorditer.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
#include <algorithm>
diff --git a/src/mongo/db/storage/record_store_test_recordstore.cpp b/src/mongo/db/storage/record_store_test_recordstore.cpp
index 2e2fb9c3bfd..3f9603575fa 100644
--- a/src/mongo/db/storage/record_store_test_recordstore.cpp
+++ b/src/mongo/db/storage/record_store_test_recordstore.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_repairiter.cpp b/src/mongo/db/storage/record_store_test_repairiter.cpp
index fd71f1a7523..7c158d4b6e7 100644
--- a/src/mongo/db/storage/record_store_test_repairiter.cpp
+++ b/src/mongo/db/storage/record_store_test_repairiter.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_storagesize.cpp b/src/mongo/db/storage/record_store_test_storagesize.cpp
index 61303b7967d..76c870404bf 100644
--- a/src/mongo/db/storage/record_store_test_storagesize.cpp
+++ b/src/mongo/db/storage/record_store_test_storagesize.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_touch.cpp b/src/mongo/db/storage/record_store_test_touch.cpp
index 14181ec0c9b..50cb891cca1 100644
--- a/src/mongo/db/storage/record_store_test_touch.cpp
+++ b/src/mongo/db/storage/record_store_test_touch.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_truncate.cpp b/src/mongo/db/storage/record_store_test_truncate.cpp
index b38ee3cb806..8f29c838705 100644
--- a/src/mongo/db/storage/record_store_test_truncate.cpp
+++ b/src/mongo/db/storage/record_store_test_truncate.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_updaterecord.cpp b/src/mongo/db/storage/record_store_test_updaterecord.cpp
index cd27acf9c69..0d1f4749460 100644
--- a/src/mongo/db/storage/record_store_test_updaterecord.cpp
+++ b/src/mongo/db/storage/record_store_test_updaterecord.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_updaterecord.h"
diff --git a/src/mongo/db/storage/record_store_test_updatewithdamages.cpp b/src/mongo/db/storage/record_store_test_updatewithdamages.cpp
index efbac5038d7..30850daffe5 100644
--- a/src/mongo/db/storage/record_store_test_updatewithdamages.cpp
+++ b/src/mongo/db/storage/record_store_test_updatewithdamages.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_harness.h"
diff --git a/src/mongo/db/storage/record_store_test_validate.cpp b/src/mongo/db/storage/record_store_test_validate.cpp
index d55d8229526..f8d08afbef4 100644
--- a/src/mongo/db/storage/record_store_test_validate.cpp
+++ b/src/mongo/db/storage/record_store_test_validate.cpp
@@ -28,6 +28,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/record_store_test_validate.h"
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
index 45669016720..4b85a47c304 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.cpp
@@ -30,9 +30,12 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
+#include "mongo/platform/basic.h"
+
+#include "mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h"
+
#include "mongo/base/init.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_session_cache.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_util.h"
#include "mongo/stdx/condition_variable.h"
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp
index 4acc3e34e05..4b45925bc08 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp
@@ -31,6 +31,8 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
+#include "mongo/platform/basic.h"
+
#include "mongo/db/storage/wiredtiger/wiredtiger_session_cache.h"
#include "mongo/base/error_codes.h"
diff --git a/src/mongo/rpc/metadata/config_server_metadata.cpp b/src/mongo/rpc/metadata/config_server_metadata.cpp
index 1eaa2ef112f..dae494bc505 100644
--- a/src/mongo/rpc/metadata/config_server_metadata.cpp
+++ b/src/mongo/rpc/metadata/config_server_metadata.cpp
@@ -26,6 +26,8 @@
* it in the license file.
*/
+#include "mongo/platform/basic.h"
+
#include "mongo/rpc/metadata/config_server_metadata.h"
#include "mongo/bson/util/bson_check.h"
diff --git a/src/mongo/s/s_only.cpp b/src/mongo/s/s_only.cpp
index 8d63a0cb05b..56d4238f3bc 100644
--- a/src/mongo/s/s_only.cpp
+++ b/src/mongo/s/s_only.cpp
@@ -38,6 +38,7 @@
#include "mongo/db/auth/authorization_session.h"
#include "mongo/db/client.h"
#include "mongo/db/commands.h"
+#include "mongo/db/operation_context.h"
#include "mongo/db/service_context.h"
#include "mongo/db/stats/counters.h"
#include "mongo/db/write_concern_options.h"