Skip to content

Commit 8a08ced

Browse files
committed
SERVER-23905 Move writesAreReplicated flag from OperationContextImpl to OperationContext.
This removes the last difference between OperationContextNoop and OperationContextReplMock, so this patch also deletes the latter.
1 parent 0ed0496 commit 8a08ced

9 files changed

+14
-143
lines changed

src/mongo/db/operation_context.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,5 +203,4 @@ Status OperationContext::checkForInterruptNoAssert() {
203203

204204
return Status::OK();
205205
}
206-
207206
} // namespace mongo

src/mongo/db/operation_context.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,16 @@ class OperationContext : public Decorable<OperationContext> {
180180
/**
181181
* Set whether or not operations should generate oplog entries.
182182
*/
183-
virtual void setReplicatedWrites(bool writesAreReplicated = true) = 0;
183+
void setReplicatedWrites(bool writesAreReplicated = true) {
184+
_writesAreReplicated = writesAreReplicated;
185+
}
184186

185187
/**
186188
* Returns true if operations should generate oplog entries.
187189
*/
188-
virtual bool writesAreReplicated() const = 0;
190+
bool writesAreReplicated() const {
191+
return _writesAreReplicated;
192+
}
189193

190194
/**
191195
* Marks this operation as killed so that subsequent calls to checkForInterrupt and
@@ -318,6 +322,8 @@ class OperationContext : public Decorable<OperationContext> {
318322

319323
// Timer counting the elapsed time since the construction of this OperationContext.
320324
Timer _elapsedTime;
325+
326+
bool _writesAreReplicated = true;
321327
};
322328

323329
class WriteUnitOfWork {

src/mongo/db/operation_context_impl.cpp

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ using std::string;
7272

7373
OperationContextImpl::OperationContextImpl()
7474
: OperationContext(
75-
&cc(), nextOpId.fetchAndAdd(1), clientOperationInfoDecoration(cc()).getLocker()),
76-
_writesAreReplicated(true) {
75+
&cc(), nextOpId.fetchAndAdd(1), clientOperationInfoDecoration(cc()).getLocker()) {
7776
StorageEngine* storageEngine = getServiceContext()->getGlobalStorageEngine();
7877
_recovery.reset(storageEngine->newRecoveryUnit());
7978

@@ -120,11 +119,4 @@ bool OperationContextImpl::isPrimaryFor(StringData ns) {
120119
return repl::getGlobalReplicationCoordinator()->canAcceptWritesFor(NamespaceString(ns));
121120
}
122121

123-
void OperationContextImpl::setReplicatedWrites(bool writesAreReplicated) {
124-
_writesAreReplicated = writesAreReplicated;
125-
}
126-
127-
bool OperationContextImpl::writesAreReplicated() const {
128-
return _writesAreReplicated;
129-
}
130122
} // namespace mongo

src/mongo/db/operation_context_impl.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,12 @@ class OperationContextImpl final : public OperationContext {
5252

5353
virtual bool isPrimaryFor(StringData ns) override;
5454

55-
virtual void setReplicatedWrites(bool writesAreReplicated = true) override;
56-
virtual bool writesAreReplicated() const override;
57-
5855
private:
5956
friend class ServiceContextMongoD;
6057

6158
OperationContextImpl();
6259

6360
std::unique_ptr<RecoveryUnit> _recovery;
64-
bool _writesAreReplicated;
6561
};
6662

6763
} // namespace mongo

src/mongo/db/operation_context_noop.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,6 @@ class OperationContextNoop : public OperationContext {
100100
return std::string();
101101
};
102102

103-
void setReplicatedWrites(bool writesAreReplicated = true) override {}
104-
105-
bool writesAreReplicated() const override {
106-
return false;
107-
}
108-
109103
private:
110104
std::unique_ptr<RecoveryUnit> _recoveryUnit;
111105
std::unique_ptr<Locker> _locker;

src/mongo/db/repl/SConscript

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,6 @@ env.Library('repl_coordinator_global',
521521
env.Library(
522522
target='replmocks',
523523
source=[
524-
'operation_context_repl_mock.cpp',
525524
'replication_coordinator_external_state_mock.cpp',
526525
'replication_coordinator_mock.cpp',
527526
'service_context_repl_mock.cpp',

src/mongo/db/repl/operation_context_repl_mock.cpp

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/mongo/db/repl/operation_context_repl_mock.h

Lines changed: 0 additions & 62 deletions
This file was deleted.

src/mongo/db/repl/service_context_repl_mock.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,16 @@
3232

3333
#include <memory>
3434

35-
#include "mongo/db/repl/operation_context_repl_mock.h"
35+
#include "mongo/db/concurrency/lock_state.h"
36+
#include "mongo/db/concurrency/locker.h"
37+
#include "mongo/db/operation_context_noop.h"
3638

3739
namespace mongo {
3840
namespace repl {
3941

4042
std::unique_ptr<OperationContext> ServiceContextReplMock::_newOpCtx(Client* client) {
41-
return std::unique_ptr<OperationContextReplMock>(
42-
new OperationContextReplMock(client, _nextOpId.fetchAndAdd(1)));
43+
return std::unique_ptr<OperationContext>(
44+
new OperationContextNoop(client, _nextOpId.fetchAndAdd(1), new MMAPV1LockerImpl()));
4345
}
4446

4547
} // namespace repl

0 commit comments

Comments
 (0)