summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/SConscript2
-rw-r--r--src/mongo/db/cloner.cpp3
-rw-r--r--src/mongo/db/commands/apply_ops.cpp2
-rw-r--r--src/mongo/db/dbcommands.cpp1
-rw-r--r--src/mongo/db/dbhelpers.cpp31
-rw-r--r--src/mongo/db/instance.cpp1
-rw-r--r--src/mongo/db/ops/delete.cpp10
-rw-r--r--src/mongo/db/ops/query.cpp6
-rw-r--r--src/mongo/db/ops/update.cpp16
-rw-r--r--src/mongo/db/ops/update_internal.cpp8
-rw-r--r--src/mongo/db/ops/update_internal.h7
-rw-r--r--src/mongo/db/pdfile.cpp1
-rw-r--r--src/mongo/db/repl/bgsync.cpp1
-rw-r--r--src/mongo/db/repl/connections.h1
-rw-r--r--src/mongo/db/repl/health.cpp1
-rw-r--r--src/mongo/db/repl/master_slave.cpp2
-rw-r--r--src/mongo/db/repl/oplog.cpp (renamed from src/mongo/db/oplog.cpp)15
-rw-r--r--src/mongo/db/repl/oplog.h (renamed from src/mongo/db/oplog.h)34
-rw-r--r--src/mongo/db/repl/optime.cpp15
-rw-r--r--src/mongo/db/repl/repl_start.cpp1
-rw-r--r--src/mongo/db/repl/rs.cpp1
-rw-r--r--src/mongo/db/repl/rs.h2
-rw-r--r--src/mongo/db/repl/rs_config.cpp20
-rw-r--r--src/mongo/db/repl/rs_initialsync.cpp4
-rw-r--r--src/mongo/db/repl/rs_initiate.cpp20
-rw-r--r--src/mongo/db/repl/rs_rollback.cpp1
-rw-r--r--src/mongo/db/repl/rs_sync.cpp1
-rw-r--r--src/mongo/db/repl/rs_sync.h1
-rw-r--r--src/mongo/dbtests/replsettests.cpp16
-rw-r--r--src/mongo/dbtests/repltests.cpp1
30 files changed, 123 insertions, 102 deletions
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
index cbdc59643ad..4dc1991daa0 100644
--- a/src/mongo/SConscript
+++ b/src/mongo/SConscript
@@ -384,7 +384,7 @@ serverOnlyFiles = [ "db/curop.cpp",
"db/repl/oplogreader.cpp",
"db/repl/replication_server_status.cpp",
"db/repl/repl_reads_ok.cpp",
- "db/oplog.cpp",
+ "db/repl/oplog.cpp",
"db/prefetch.cpp",
"db/repl_block.cpp",
"db/btreecursor.cpp",
diff --git a/src/mongo/db/cloner.cpp b/src/mongo/db/cloner.cpp
index 54ebe774d2a..783d0d7bb69 100644
--- a/src/mongo/db/cloner.cpp
+++ b/src/mongo/db/cloner.cpp
@@ -25,11 +25,12 @@
#include "mongo/db/commands.h"
#include "mongo/db/commands/rename_collection.h"
#include "mongo/db/db.h"
+#include "mongo/db/dbhelpers.h"
#include "mongo/db/instance.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/kill_current_op.h"
#include "mongo/db/namespacestring.h"
-#include "mongo/db/oplog.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/pdfile.h"
#include "mongo/db/sort_phase_one.h"
diff --git a/src/mongo/db/commands/apply_ops.cpp b/src/mongo/db/commands/apply_ops.cpp
index 5ddd63c24d4..6c04cc5f3ec 100644
--- a/src/mongo/db/commands/apply_ops.cpp
+++ b/src/mongo/db/commands/apply_ops.cpp
@@ -23,7 +23,7 @@
#include "mongo/db/commands.h"
#include "mongo/db/instance.h"
#include "mongo/db/matcher.h"
-#include "mongo/db/oplog.h"
+#include "mongo/db/repl/oplog.h"
namespace mongo {
class ApplyOpsCmd : public Command {
diff --git a/src/mongo/db/dbcommands.cpp b/src/mongo/db/dbcommands.cpp
index 52c42d289cc..64dc67b83e3 100644
--- a/src/mongo/db/dbcommands.cpp
+++ b/src/mongo/db/dbcommands.cpp
@@ -51,6 +51,7 @@
#include "mongo/db/queryoptimizer.h"
#include "mongo/db/repl_block.h"
#include "mongo/db/replutil.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/stats/timer_stats.h"
#include "mongo/s/d_writeback.h"
#include "mongo/s/stale_exception.h" // for SendStaleConfigException
diff --git a/src/mongo/db/dbhelpers.cpp b/src/mongo/db/dbhelpers.cpp
index 95fbb15e0db..e21440f71e1 100644
--- a/src/mongo/db/dbhelpers.cpp
+++ b/src/mongo/db/dbhelpers.cpp
@@ -16,25 +16,26 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
-#include "db.h"
-#include "dbhelpers.h"
-#include "json.h"
-#include "mongo/db/btreecursor.h"
-#include "pdfile.h"
-#include "oplog.h"
-#include "ops/update.h"
-#include "ops/delete.h"
-#include "queryoptimizercursor.h"
-#include "mongo/client/dbclientinterface.h"
-#include "mongo/db/pagefault.h"
-#include "mongo/db/repl_block.h"
-#include "mongo/s/d_logic.h"
+#include "mongo/pch.h"
-#include <fstream>
+#include "mongo/db/dbhelpers.h"
#include <boost/filesystem/convenience.hpp>
#include <boost/filesystem/operations.hpp>
+#include <fstream>
+
+#include "mongo/client/dbclientinterface.h"
+#include "mongo/db/btreecursor.h"
+#include "mongo/db/db.h"
+#include "mongo/db/json.h"
+#include "mongo/db/ops/delete.h"
+#include "mongo/db/ops/update.h"
+#include "mongo/db/pagefault.h"
+#include "mongo/db/pdfile.h"
+#include "mongo/db/queryoptimizercursor.h"
+#include "mongo/db/repl/oplog.h"
+#include "mongo/db/repl_block.h"
+#include "mongo/s/d_logic.h"
namespace mongo {
diff --git a/src/mongo/db/instance.cpp b/src/mongo/db/instance.cpp
index c90a44c7b7b..78e817ea4d4 100644
--- a/src/mongo/db/instance.cpp
+++ b/src/mongo/db/instance.cpp
@@ -53,6 +53,7 @@
#include "mongo/db/ops/update.h"
#include "mongo/db/pagefault.h"
#include "mongo/db/replutil.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/stats/counters.h"
#include "mongo/s/d_logic.h"
#include "mongo/s/stale_exception.h" // for SendStaleConfigException
diff --git a/src/mongo/db/ops/delete.cpp b/src/mongo/db/ops/delete.cpp
index 790dd543cd0..8085cdc5ab6 100644
--- a/src/mongo/db/ops/delete.cpp
+++ b/src/mongo/db/ops/delete.cpp
@@ -16,11 +16,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
-#include "delete.h"
-#include "../queryutil.h"
-#include "../oplog.h"
+#include "mongo/pch.h"
+
+#include "mongo/db/ops/delete.h"
+
#include "mongo/client/dbclientinterface.h"
+#include "mongo/db/queryutil.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/util/stacktrace.h"
namespace mongo {
diff --git a/src/mongo/db/ops/query.cpp b/src/mongo/db/ops/query.cpp
index f929afef163..8e8e78cfd95 100644
--- a/src/mongo/db/ops/query.cpp
+++ b/src/mongo/db/ops/query.cpp
@@ -16,21 +16,21 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
#include "mongo/db/ops/query.h"
#include "mongo/bson/util/builder.h"
#include "mongo/db/clientcursor.h"
#include "mongo/db/commands.h"
-#include "mongo/db/oplog.h"
#include "mongo/db/pagefault.h"
#include "mongo/db/pdfile.h"
#include "mongo/db/queryoptimizer.h"
#include "mongo/db/queryoptimizercursor.h"
-#include "mongo/db/replutil.h"
#include "mongo/db/repl/finding_start_cursor.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/repl_reads_ok.h"
+#include "mongo/db/replutil.h"
#include "mongo/db/scanandorder.h"
#include "mongo/s/d_logic.h"
#include "mongo/s/stale_exception.h" // for SendStaleConfigException
diff --git a/src/mongo/db/ops/update.cpp b/src/mongo/db/ops/update.cpp
index 034b0849759..ac77173487d 100644
--- a/src/mongo/db/ops/update.cpp
+++ b/src/mongo/db/ops/update.cpp
@@ -16,15 +16,19 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
-#include "mongo/db/oplog.h"
+#include "mongo/db/ops/update.h"
+
+#include "mongo/client/dbclientinterface.h"
+#include "mongo/db/clientcursor.h"
+#include "mongo/db/namespace_details.h"
#include "mongo/db/pagefault.h"
+#include "mongo/db/pdfile.h"
#include "mongo/db/queryutil.h"
-#include "mongo/client/dbclientinterface.h"
-
-#include "update.h"
-#include "update_internal.h"
+#include "mongo/db/record.h"
+#include "mongo/db/repl/oplog.h"
+#include "mongo/db/ops/update_internal.h"
//#define DEBUGUPDATE(x) cout << x << endl;
#define DEBUGUPDATE(x)
diff --git a/src/mongo/db/ops/update_internal.cpp b/src/mongo/db/ops/update_internal.cpp
index 8046adfd492..bb5856921c4 100644
--- a/src/mongo/db/ops/update_internal.cpp
+++ b/src/mongo/db/ops/update_internal.cpp
@@ -16,18 +16,18 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
+
+#include "mongo/db/ops/update_internal.h"
#include <algorithm> // for max
#include "mongo/db/field_ref.h"
#include "mongo/db/jsobjmanipulator.h"
#include "mongo/db/pdfile.h"
-#include "mongo/db/oplog.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/util/mongoutils/str.h"
-#include "update_internal.h"
-
//#define DEBUGUPDATE(x) cout << x << endl;
#define DEBUGUPDATE(x)
diff --git a/src/mongo/db/ops/update_internal.h b/src/mongo/db/ops/update_internal.h
index c8397bf9a49..620f5d4889c 100644
--- a/src/mongo/db/ops/update_internal.h
+++ b/src/mongo/db/ops/update_internal.h
@@ -16,15 +16,16 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "mongo/pch.h"
-
-#include "mongo/bson/bson_builder_base.h"
+#include "mongo/db/index_set.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/jsobjmanipulator.h"
#include "mongo/db/matcher.h"
#include "mongo/util/embedded_builder.h"
+#include "mongo/util/mongoutils/str.h"
#include "mongo/util/stringutils.h"
+using namespace mongoutils;
+
namespace mongo {
class ModState;
diff --git a/src/mongo/db/pdfile.cpp b/src/mongo/db/pdfile.cpp
index 72472ef5f77..3f9e22c6af3 100644
--- a/src/mongo/db/pdfile.cpp
+++ b/src/mongo/db/pdfile.cpp
@@ -54,6 +54,7 @@ _ disallow system* manipulations from the database.
#include "mongo/db/ops/delete.h"
#include "mongo/db/replutil.h"
#include "mongo/db/sort_phase_one.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/util/file.h"
#include "mongo/util/file_allocator.h"
#include "mongo/util/hashtab.h"
diff --git a/src/mongo/db/repl/bgsync.cpp b/src/mongo/db/repl/bgsync.cpp
index 626a575afae..1a27a095d1e 100644
--- a/src/mongo/db/repl/bgsync.cpp
+++ b/src/mongo/db/repl/bgsync.cpp
@@ -20,6 +20,7 @@
#include "mongo/db/commands/fsync.h"
#include "mongo/db/commands/server_status.h"
#include "mongo/db/repl/bgsync.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/rs_sync.h"
#include "mongo/util/fail_point_service.h"
#include "mongo/base/counter.h"
diff --git a/src/mongo/db/repl/connections.h b/src/mongo/db/repl/connections.h
index e533767e352..0ebc162eed1 100644
--- a/src/mongo/db/repl/connections.h
+++ b/src/mongo/db/repl/connections.h
@@ -21,6 +21,7 @@
#include <map>
#include "mongo/db/auth/authorization_manager.h"
+#include "mongo/db/repl/rs.h" // extern Tee* rslog
namespace mongo {
diff --git a/src/mongo/db/repl/health.cpp b/src/mongo/db/repl/health.cpp
index 7c2f85f6c87..46bc53c3860 100644
--- a/src/mongo/db/repl/health.cpp
+++ b/src/mongo/db/repl/health.cpp
@@ -23,6 +23,7 @@
#include "mongo/db/dbhelpers.h"
#include "mongo/db/repl/bgsync.h"
#include "mongo/db/repl/connections.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/rs.h"
#include "mongo/util/background.h"
#include "mongo/util/concurrency/task.h"
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
index 7e0c2f47468..ab31c44228c 100644
--- a/src/mongo/db/repl/master_slave.cpp
+++ b/src/mongo/db/repl/master_slave.cpp
@@ -31,8 +31,8 @@
#include "mongo/db/cloner.h"
#include "mongo/db/commands.h"
#include "mongo/db/instance.h"
-#include "mongo/db/oplog.h"
#include "mongo/db/ops/update.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/replication_server_status.h" // replSettings
#include "mongo/db/repl/rs.h" // replLocalAuth()
#include "mongo/db/server_parameters.h"
diff --git a/src/mongo/db/oplog.cpp b/src/mongo/db/repl/oplog.cpp
index 4d4c8fff80c..dbea2e6097a 100644
--- a/src/mongo/db/oplog.cpp
+++ b/src/mongo/db/repl/oplog.cpp
@@ -18,7 +18,7 @@
#include "mongo/pch.h"
-#include "mongo/db/oplog.h"
+#include "mongo/db/repl/oplog.h"
#include <vector>
@@ -411,19 +411,6 @@ namespace mongo {
// -------------------------------------
- struct TestOpTime : public StartupTest {
- void run() {
- OpTime t;
- for ( int i = 0; i < 10; i++ ) {
- OpTime s = OpTime::_now();
- verify( s != t );
- t = s;
- }
- OpTime q = t;
- verify( q == t );
- verify( !(q != t) );
- }
- } testoptime;
/** @param fromRepl false if from ApplyOpsCmd
@return true if was and update should have happened and the document DNE. see replset initial sync code.
*/
diff --git a/src/mongo/db/oplog.h b/src/mongo/db/repl/oplog.h
index 21cfc64e0f2..fa0a8709eab 100644
--- a/src/mongo/db/oplog.h
+++ b/src/mongo/db/repl/oplog.h
@@ -1,5 +1,3 @@
-// oplog.h - writing to and reading from oplog
-
/**
* Copyright (C) 2008 10gen Inc.
*
@@ -16,22 +14,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/*
-
- local.oplog.$main is the default
-*/
-
#pragma once
-#include "pdfile.h"
-#include "db.h"
-#include "dbhelpers.h"
-#include "clientcursor.h"
-#include "mongo/db/repl/optime.h"
-#include "../util/timer.h"
-
namespace mongo {
+ class BSONObj;
+ class Database;
// These functions redefine the function for logOp(),
// for either master/slave or replica sets.
@@ -39,13 +27,18 @@ namespace mongo {
void newRepl(); // replica set starting up
void newReplUp();// replica set after startup
+ // Create a new capped collection for the oplog if it doesn't yet exist.
+ // This will be either local.oplog.rs (replica sets) or local.oplog.$main (master/slave)
+ // If the collection already exists, set the 'last' OpTime if master/slave (side effect!)
void createOplog();
+ // This poorly-named function writes an op into the replica-set oplog;
+ // used internally by replication secondaries after they have applied an op
void _logOpObjRS(const BSONObj& op);
const char rsoplog[] = "local.oplog.rs";
- /** Write operation to the log (local.oplog.$main)
+ /** Log an operation to the local oplog
@param opstr
"i" insert
@@ -57,8 +50,10 @@ namespace mongo {
See _logOp() in oplog.cpp for more details.
*/
- void logOp( const char *opstr, const char *ns, const BSONObj& obj, BSONObj *patt = 0, bool *b = 0, bool fromMigrate = false );
+ void logOp( const char *opstr, const char *ns, const BSONObj& obj,
+ BSONObj *patt = 0, bool *b = 0, bool fromMigrate = false );
+ // Log an empty no-op operation to the local oplog
void logKeepalive();
/** puts obj in the oplog as a comment (a no-op). Just for diags.
@@ -67,13 +62,18 @@ namespace mongo {
*/
void logOpComment(const BSONObj& obj);
+ // Flush out the cached pointers to the local database and oplog.
+ // Used by the closeDatabase command to ensure we don't cache closed things.
void oplogCheckCloseDatabase( Database * db );
/**
* take an op and apply locally
* used for applying from an oplog
* @param fromRepl really from replication or for testing/internal/command/etc...
+ * @param convertUpdateToUpsert convert some updates to upserts for idempotency reasons
* Returns if the op was an update that could not be applied (true on failure)
*/
- bool applyOperation_inlock(const BSONObj& op, bool fromRepl = true, bool convertUpdateToUpsert = false);
+ bool applyOperation_inlock(const BSONObj& op,
+ bool fromRepl = true,
+ bool convertUpdateToUpsert = false);
}
diff --git a/src/mongo/db/repl/optime.cpp b/src/mongo/db/repl/optime.cpp
index 0f31d6c07b4..b993c62da9c 100644
--- a/src/mongo/db/repl/optime.cpp
+++ b/src/mongo/db/repl/optime.cpp
@@ -21,6 +21,7 @@
#include "mongo/bson/inline_decls.h"
#include "mongo/util/debug_util.h"
#include "mongo/util/log.h"
+#include "mongo/util/startup_test.h"
namespace mongo {
@@ -80,4 +81,18 @@ namespace mongo {
}
}
+ struct TestOpTime : public StartupTest {
+ void run() {
+ OpTime t;
+ for ( int i = 0; i < 10; i++ ) {
+ OpTime s = OpTime::_now();
+ verify( s != t );
+ t = s;
+ }
+ OpTime q = t;
+ verify( q == t );
+ verify( !(q != t) );
+ }
+ } testoptime;
+
}
diff --git a/src/mongo/db/repl/repl_start.cpp b/src/mongo/db/repl/repl_start.cpp
index 7de3a9b1a93..f015d127f46 100644
--- a/src/mongo/db/repl/repl_start.cpp
+++ b/src/mongo/db/repl/repl_start.cpp
@@ -22,6 +22,7 @@
#include "mongo/db/cmdline.h"
#include "mongo/db/repl/master_slave.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/replication_server_status.h"
#include "mongo/db/repl/rs.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/db/repl/rs.cpp b/src/mongo/db/repl/rs.cpp
index 11c51287e1b..e3322b8997a 100644
--- a/src/mongo/db/repl/rs.cpp
+++ b/src/mongo/db/repl/rs.cpp
@@ -26,6 +26,7 @@
#include "mongo/db/instance.h"
#include "mongo/db/repl/bgsync.h"
#include "mongo/db/repl/connections.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/replication_server_status.h" // replSettings
#include "mongo/db/repl/rs.h"
#include "mongo/db/server_parameters.h"
diff --git a/src/mongo/db/repl/rs.h b/src/mongo/db/repl/rs.h
index d72e3f50b0b..aea1517eb8c 100644
--- a/src/mongo/db/repl/rs.h
+++ b/src/mongo/db/repl/rs.h
@@ -20,7 +20,7 @@
#include "mongo/db/commands.h"
#include "mongo/db/index.h"
-#include "mongo/db/oplog.h"
+//#include "mongo/db/oplog.h"
#include "mongo/db/repl/oplogreader.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/rs_config.h"
diff --git a/src/mongo/db/repl/rs_config.cpp b/src/mongo/db/repl/rs_config.cpp
index bf383d83082..c6fb5a3c01e 100644
--- a/src/mongo/db/repl/rs_config.cpp
+++ b/src/mongo/db/repl/rs_config.cpp
@@ -16,17 +16,19 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
-#include "rs.h"
-#include "../../client/syncclusterconnection.h"
-#include "../../util/net/hostandport.h"
-#include "../dbhelpers.h"
-#include "connections.h"
-#include "../oplog.h"
-#include "../instance.h"
-#include "../../util/text.h"
+#include "mongo/pch.h"
+
#include <boost/algorithm/string.hpp>
+#include "mongo/client/syncclusterconnection.h"
+#include "mongo/db/dbhelpers.h"
+#include "mongo/db/instance.h"
+#include "mongo/db/repl/connections.h"
+#include "mongo/db/repl/oplog.h"
+#include "mongo/db/repl/rs.h"
+#include "mongo/util/net/hostandport.h"
+#include "mongo/util/text.h"
+
using namespace bson;
namespace mongo {
diff --git a/src/mongo/db/repl/rs_initialsync.cpp b/src/mongo/db/repl/rs_initialsync.cpp
index ddeb0ec1036..87f010d5ef3 100644
--- a/src/mongo/db/repl/rs_initialsync.cpp
+++ b/src/mongo/db/repl/rs_initialsync.cpp
@@ -14,15 +14,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
#include "mongo/db/repl/rs.h"
#include "mongo/db/client.h"
#include "mongo/db/cloner.h"
#include "mongo/db/dbhelpers.h"
-#include "mongo/db/oplog.h"
#include "mongo/db/repl/bgsync.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/oplogreader.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/replication_server_status.h" // replSettings
diff --git a/src/mongo/db/repl/rs_initiate.cpp b/src/mongo/db/repl/rs_initiate.cpp
index 42f244fb00f..4e8e00c4119 100644
--- a/src/mongo/db/repl/rs_initiate.cpp
+++ b/src/mongo/db/repl/rs_initiate.cpp
@@ -17,22 +17,22 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
#include <vector>
#include "mongo/db/auth/action_set.h"
#include "mongo/db/auth/action_type.h"
#include "mongo/db/auth/privilege.h"
-#include "../cmdline.h"
-#include "../commands.h"
-#include "../../util/mmap.h"
-#include "../../util/mongoutils/str.h"
-#include "health.h"
-#include "rs.h"
-#include "rs_config.h"
-#include "../dbhelpers.h"
-#include "../oplog.h"
+#include "mongo/db/cmdline.h"
+#include "mongo/db/commands.h"
+#include "mongo/db/dbhelpers.h"
+#include "mongo/db/repl/health.h"
+#include "mongo/db/repl/oplog.h"
+#include "mongo/db/repl/rs.h"
+#include "mongo/db/repl/rs_config.h"
+#include "mongo/util/mmap.h"
+#include "mongo/util/mongoutils/str.h"
using namespace bson;
using namespace mongoutils;
diff --git a/src/mongo/db/repl/rs_rollback.cpp b/src/mongo/db/repl/rs_rollback.cpp
index 8ac3800794b..b44841d84a1 100644
--- a/src/mongo/db/repl/rs_rollback.cpp
+++ b/src/mongo/db/repl/rs_rollback.cpp
@@ -21,6 +21,7 @@
#include "mongo/db/cloner.h"
#include "mongo/db/ops/update.h"
#include "mongo/db/ops/delete.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/rs.h"
/* Scenarios
diff --git a/src/mongo/db/repl/rs_sync.cpp b/src/mongo/db/repl/rs_sync.cpp
index 2f1081f5dac..47a57d87cee 100644
--- a/src/mongo/db/repl/rs_sync.cpp
+++ b/src/mongo/db/repl/rs_sync.cpp
@@ -28,6 +28,7 @@
#include "mongo/db/namespacestring.h"
#include "mongo/db/prefetch.h"
#include "mongo/db/repl/bgsync.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/rs.h"
#include "mongo/db/repl/rs_sync.h"
#include "mongo/util/fail_point_service.h"
diff --git a/src/mongo/db/repl/rs_sync.h b/src/mongo/db/repl/rs_sync.h
index 523f45d1900..d068aa4d2ad 100644
--- a/src/mongo/db/repl/rs_sync.h
+++ b/src/mongo/db/repl/rs_sync.h
@@ -22,7 +22,6 @@
#include "mongo/db/client.h"
#include "mongo/db/dur.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/oplog.h"
#include "mongo/db/repl/sync.h"
#include "mongo/util/concurrency/thread_pool.h"
diff --git a/src/mongo/dbtests/replsettests.cpp b/src/mongo/dbtests/replsettests.cpp
index 3e95a313bbe..4c679628fb7 100644
--- a/src/mongo/dbtests/replsettests.cpp
+++ b/src/mongo/dbtests/replsettests.cpp
@@ -17,17 +17,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "pch.h"
+#include "mongo/pch.h"
-#include "../db/db.h"
-#include "../db/instance.h"
-#include "../db/json.h"
-
-#include "dbtests.h"
-#include "../db/oplog.h"
-
-#include "mongo/db/repl/rs.h"
+#include "mongo/db/db.h"
+#include "mongo/db/instance.h"
+#include "mongo/db/json.h"
#include "mongo/db/repl/bgsync.h"
+#include "mongo/db/repl/oplog.h"
+#include "mongo/db/repl/rs.h"
+#include "mongo/dbtests/dbtests.h"
namespace mongo {
void createOplog();
diff --git a/src/mongo/dbtests/repltests.cpp b/src/mongo/dbtests/repltests.cpp
index 759356d6d21..aac9044c015 100644
--- a/src/mongo/dbtests/repltests.cpp
+++ b/src/mongo/dbtests/repltests.cpp
@@ -26,6 +26,7 @@
#include "mongo/db/queryoptimizer.h"
#include "mongo/db/repl/finding_start_cursor.h"
#include "mongo/db/repl/master_slave.h"
+#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/replication_server_status.h"
#include "mongo/db/repl/rs.h"