diff options
author | Spencer T Brody <spencer@mongodb.com> | 2014-02-27 18:27:34 +1100 |
---|---|---|
committer | Spencer T Brody <spencer@mongodb.com> | 2014-02-28 12:40:12 +1100 |
commit | 5f4dfa51a90066547f4856b8cff6096870b29810 (patch) | |
tree | 903a7c3baf6121094a49710aefa4a14927e4f560 | |
parent | 59de90f6d4b1aa9e753921031f1f821611720a2f (diff) | |
download | mongo-5f4dfa51a90066547f4856b8cff6096870b29810.tar.gz |
SERVER-12921 Make sure mongorestore runs cleanup routines on error
-rw-r--r-- | src/mongo/tools/restore.cpp | 24 |
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()); } } } |