summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/authz_manager_external_state_d.cpp
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@10gen.com>2013-10-25 18:15:23 -0400
committerAndy Schwerin <schwerin@10gen.com>2013-10-25 18:15:23 -0400
commit774860337ea71d1f8b4711971dc9fa61115cd003 (patch)
tree221abb74c9c050ab62399028d966c2cdec8fc311 /src/mongo/db/auth/authz_manager_external_state_d.cpp
parentff9f15747c7f9e3d20436a66b2d90384e06fd4f2 (diff)
downloadmongo-774860337ea71d1f8b4711971dc9fa61115cd003.tar.gz
Revert "SERVER-9516 Write version document to admin.system.version as needed in mongod."
This reverts commit 3d61067308f7f526ec00d79bcbb158d31fd413fa, which breaks multi-version because it replicates writes to admin.system.version at startup.
Diffstat (limited to 'src/mongo/db/auth/authz_manager_external_state_d.cpp')
-rw-r--r--src/mongo/db/auth/authz_manager_external_state_d.cpp35
1 files changed, 2 insertions, 33 deletions
diff --git a/src/mongo/db/auth/authz_manager_external_state_d.cpp b/src/mongo/db/auth/authz_manager_external_state_d.cpp
index 808ea32ba04..99c61c95fb4 100644
--- a/src/mongo/db/auth/authz_manager_external_state_d.cpp
+++ b/src/mongo/db/auth/authz_manager_external_state_d.cpp
@@ -108,45 +108,14 @@ namespace {
}
} // namespace
- void AuthzManagerExternalStateMongod::writeAuthSchemaVersionDocumentIfNeeded() {
- Client::WriteContext ctx(AuthorizationManager::versionCollectionNamespace.ns());
- BSONObj ignored;
- if (Helpers::findOne(AuthorizationManager::versionCollectionNamespace.ns(),
- AuthorizationManager::versionDocumentQuery,
- ignored)) {
- return;
- }
-
- const bool hasPrivDocs = Helpers::findOne(
- AuthorizationManager::usersCollectionNamespace.ns(), BSONObj(), ignored);
- const int version = hasPrivDocs ?
- AuthorizationManager::schemaVersion24 :
- AuthorizationManager::schemaVersion26Final;
-
- DBDirectClient client;
- BSONObjBuilder versionDocBuilder;
- versionDocBuilder.appendElements(AuthorizationManager::versionDocumentQuery);
- versionDocBuilder.append(AuthorizationManager::schemaVersionFieldName, version);
- BSONObj versionDoc = versionDocBuilder.done();
- client.insert(AuthorizationManager::versionCollectionNamespace.ns(), versionDoc);
- std::string err = client.getLastError(
- AuthorizationManager::versionCollectionNamespace.db().toString());
- if (!err.empty()) {
- warning() << "Failed to write auth schema version document " << versionDoc <<
- " to " << AuthorizationManager::versionCollectionNamespace.ns() << ": " <<
- err;
- }
- }
-
Status AuthzManagerExternalStateMongod::getStoredAuthorizationVersion(int* outVersion) {
{
Client::ReadContext ctx(AuthorizationManager::versionCollectionNamespace.ns());
BSONObj versionDoc;
if (Helpers::findOne(AuthorizationManager::versionCollectionNamespace.ns(),
- AuthorizationManager::versionDocumentQuery,
+ BSON("_id" << 1),
versionDoc)) {
- BSONElement versionElement = versionDoc[
- AuthorizationManager::schemaVersionFieldName];
+ BSONElement versionElement = versionDoc["currentVersion"];
if (versionElement.isNumber()) {
*outVersion = versionElement.numberInt();
return Status::OK();