summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2014-02-27 18:27:34 +1100
committerSpencer T Brody <spencer@mongodb.com>2014-02-28 12:40:12 +1100
commit5f4dfa51a90066547f4856b8cff6096870b29810 (patch)
tree903a7c3baf6121094a49710aefa4a14927e4f560
parent59de90f6d4b1aa9e753921031f1f821611720a2f (diff)
downloadmongo-5f4dfa51a90066547f4856b8cff6096870b29810.tar.gz
SERVER-12921 Make sure mongorestore runs cleanup routines on error
-rw-r--r--src/mongo/tools/restore.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/mongo/tools/restore.cpp b/src/mongo/tools/restore.cpp
index 42a59a45a23..734189bba0c 100644
--- a/src/mongo/tools/restore.cpp
+++ b/src/mongo/tools/restore.cpp
@@ -588,11 +588,13 @@ public:
if (_curdb == "admin" && obj.hasField("credentials")) { // Treat non-admin db like 2.4
if (_serverAuthzVersion == AuthorizationManager::schemaVersion24) {
// v3 user, v1 system
- toolError() << "Server has authorization schema version " <<
- AuthorizationManager::schemaVersion24 << ", but found a schema "
- "version " << AuthorizationManager::schemaVersion26Final << " user: " <<
- obj.toString() << endl;
- exit(EXIT_FAILURE);
+ uasserted(17407,
+ mongoutils::str::stream()
+ << "Server has authorization schema version "
+ << AuthorizationManager::schemaVersion24
+ << ", but found a schema version "
+ << AuthorizationManager::schemaVersion26Final << " user: "
+ << obj.toString());
} else {
// v3 user, v3 system
if (mongoRestoreGlobalParams.drop && _users.count(UserName(obj["user"].String(),
@@ -626,11 +628,13 @@ public:
// v1 user, v3 system
// TODO(spencer): SERVER-12491 Rather than failing here, we should convert the
// v1 user to an equivalent v3 schema user
- toolError() << "Server has authorization schema version " <<
- AuthorizationManager::schemaVersion26Final << ", but found a schema "
- "version " << AuthorizationManager::schemaVersion24 << " user: " <<
- obj.toString() << endl;
- exit(EXIT_FAILURE);
+ uasserted(17408,
+ mongoutils::str::stream()
+ << "Server has authorization schema version "
+ << AuthorizationManager::schemaVersion26Final
+ << ", but found a schema version "
+ << AuthorizationManager::schemaVersion24 << " user: "
+ << obj.toString());
}
}
}