summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/copydb.cpp
diff options
context:
space:
mode:
authorGeert Bosch <geert.bosch@mongodb.com>2014-06-30 16:12:03 -0400
committerGeert Bosch <geert.bosch@mongodb.com>2014-07-01 10:27:12 -0400
commitef3e85d4f5b67c039668cef805459e29711aa636 (patch)
treebced88a603d39d4d6cb3dc174c2ad19f8ad7dfaf /src/mongo/db/commands/copydb.cpp
parentf64357e485c8d46bd6fd393f7416df6117672de1 (diff)
downloadmongo-ef3e85d4f5b67c039668cef805459e29711aa636.tar.gz
SERVER-14085: Start using WriteUnitOfWork
Diffstat (limited to 'src/mongo/db/commands/copydb.cpp')
-rw-r--r--src/mongo/db/commands/copydb.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mongo/db/commands/copydb.cpp b/src/mongo/db/commands/copydb.cpp
index 6582c1172eb..597cbf62d93 100644
--- a/src/mongo/db/commands/copydb.cpp
+++ b/src/mongo/db/commands/copydb.cpp
@@ -188,8 +188,12 @@ namespace mongo {
scoped_ptr<Lock::ScopedLock> lk( fromSelf ?
static_cast<Lock::ScopedLock*>(new Lock::GlobalWrite(txn->lockState())) :
static_cast<Lock::ScopedLock*>(new Lock::DBWrite(txn->lockState(), todb)));
-
- return cloner.go(txn, todb, fromhost, cloneOptions, NULL, errmsg );
+ WriteUnitOfWork wunit(txn->recoveryUnit());
+ if (!cloner.go(txn, todb, fromhost, cloneOptions, NULL, errmsg )) {
+ return false;
+ }
+ wunit.commit();
+ return true;
}
} cmdCopyDB;