summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Rassi <rassi@10gen.com>2014-05-19 16:56:55 -0400
committerDan Pasette <dan@mongodb.com>2014-05-24 19:37:38 -0400
commitc86d218c92820da50d97849af2c057498d6c7283 (patch)
tree423fe2bedd1a92ba7f53448f2a7133cdd47cdab5
parent81b9d6df4f2476f46a5896bafc1639c5899e3130 (diff)
downloadmongo-c86d218c92820da50d97849af2c057498d6c7283.tar.gz
SERVER-13976 Cloner::go() should check return value of userCreateNS
(cherry picked from commit f89e280ef9946edf1904ffb91751461554be78b9) Conflicts: src/mongo/db/cloner.cpp
-rw-r--r--src/mongo/db/cloner.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/cloner.cpp b/src/mongo/db/cloner.cpp
index 6a03ea30906..10f911427d1 100644
--- a/src/mongo/db/cloner.cpp
+++ b/src/mongo/db/cloner.cpp
@@ -466,8 +466,14 @@ namespace mongo {
string err;
const char *toname = to_name.c_str();
/* we defer building id index for performance - building it in batch is much faster */
- userCreateNS(toname, options, err, opts.logForRepl, false);
+ bool createStatus = userCreateNS(toname, options, err, opts.logForRepl, false);
+ if ( !createStatus ) {
+ errmsg = str::stream() << "failed to create collection \"" << to_name << "\": "
+ << err;
+ return false;
+ }
}
+
LOG(1) << "\t\t cloning " << from_name << " -> " << to_name << endl;
Query q;
if( opts.snapshot )