summaryrefslogtreecommitdiff
path: root/src/mongo/db/range_deleter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/range_deleter.cpp')
-rw-r--r--src/mongo/db/range_deleter.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mongo/db/range_deleter.cpp b/src/mongo/db/range_deleter.cpp
index cb00ad28554..caa2c63804c 100644
--- a/src/mongo/db/range_deleter.cpp
+++ b/src/mongo/db/range_deleter.cpp
@@ -448,6 +448,8 @@ namespace {
while (!inShutdown() && !stopRequested()) {
string errMsg;
+ boost::scoped_ptr<OperationContext> txn(getGlobalServiceContext()->newOpCtx());
+
RangeDeleteEntry* nextTask = NULL;
{
@@ -470,11 +472,12 @@ namespace {
RangeDeleteEntry* entry = *iter;
set<CursorId> cursorsNow;
- if (entry->options.waitForOpenCursors) {
- auto txn = getGlobalServiceContext()->newOpCtx();
- _env->getCursorIds(txn.get(),
- entry->options.range.ns,
- &cursorsNow);
+ {
+ if (entry->options.waitForOpenCursors) {
+ _env->getCursorIds(txn.get(),
+ entry->options.range.ns,
+ &cursorsNow);
+ }
}
set<CursorId> cursorsLeft;
@@ -513,7 +516,6 @@ namespace {
}
{
- auto txn = getGlobalServiceContext()->newOpCtx();
nextTask->stats.deleteStartTS = jsTime();
bool delResult = _env->deleteRange(txn.get(),
*nextTask,