diff options
author | Andy Schwerin <schwerin@mongodb.com> | 2015-05-22 15:24:52 -0400 |
---|---|---|
committer | Andy Schwerin <schwerin@mongodb.com> | 2015-05-29 10:28:03 -0400 |
commit | 4ea38c308da292f43e29d32b1b53b7324db0bafe (patch) | |
tree | 22d166a388262ae5837d0c4e44f42748194e3e47 /src/mongo/db/curop_test.cpp | |
parent | 5c2d133871b2ad2adf6c617364d036ca25261f2d (diff) | |
download | mongo-4ea38c308da292f43e29d32b1b53b7324db0bafe.tar.gz |
SERVER-14995 Move operation id, lockState and client fields to OperationContext.
They have been moved from OperationContextImpl. Furthermore, the CurOp stack is
now attached to OperationContext, instead of Client.
With this change, an operation's lifetime is governed by the lifetime of an
OperationContext object. The "_active" field of CurOp is therefore no longer
meaingful. This required fixing the lifetime of OperationContext in a few
places.
A future change will adjust operation lifetime timing to time the lifetime of
the OperationContext object, as well.
Diffstat (limited to 'src/mongo/db/curop_test.cpp')
-rw-r--r-- | src/mongo/db/curop_test.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mongo/db/curop_test.cpp b/src/mongo/db/curop_test.cpp index 17ac612c3a3..1f4f58153eb 100644 --- a/src/mongo/db/curop_test.cpp +++ b/src/mongo/db/curop_test.cpp @@ -33,6 +33,7 @@ #include "mongo/base/init.h" #include "mongo/db/client.h" #include "mongo/db/curop.h" +#include "mongo/db/operation_context_noop.h" #include "mongo/db/service_context.h" #include "mongo/db/service_context_noop.h" #include "mongo/stdx/memory.h" @@ -77,7 +78,8 @@ namespace mongo { TEST(TimeHasExpired, PosSimple) { auto service = stdx::make_unique<ServiceContextNoop>(); auto client = service->makeClient("CurOpTest"); - CurOp curOp(client.get()); + OperationContextNoop txn(client.get(), 100); + CurOp curOp(&txn); curOp.setMaxTimeMicros(intervalShort); curOp.ensureStarted(); sleepmicros(intervalLong); @@ -88,7 +90,8 @@ namespace mongo { TEST(TimeHasExpired, NegSimple) { auto service = stdx::make_unique<ServiceContextNoop>(); auto client = service->makeClient("CurOpTest"); - CurOp curOp(client.get()); + OperationContextNoop txn(client.get(), 100); + CurOp curOp(&txn); curOp.setMaxTimeMicros(intervalLong); curOp.ensureStarted(); sleepmicros(intervalShort); |