summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Alabi <alabidan@gmail.com>2015-05-13 15:02:57 -0400
committerDaniel Alabi <alabidan@gmail.com>2015-05-14 11:04:49 -0400
commit825567624244ab595ef9468ca50473e489363a6a (patch)
tree4d367c5117ab3063a9ba159055437767062a19b7
parent256c7a5f5673ba42b24d008b59e814ce59542fd9 (diff)
downloadmongo-825567624244ab595ef9468ca50473e489363a6a.tar.gz
SERVER-18127 User cache invalidator job should use the catalog manager to get cache generation
-rw-r--r--src/mongo/db/auth/user_cache_invalidator_job.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/mongo/db/auth/user_cache_invalidator_job.cpp b/src/mongo/db/auth/user_cache_invalidator_job.cpp
index 7c4494adc2b..0989c05a354 100644
--- a/src/mongo/db/auth/user_cache_invalidator_job.cpp
+++ b/src/mongo/db/auth/user_cache_invalidator_job.cpp
@@ -41,7 +41,8 @@
#include "mongo/db/client.h"
#include "mongo/db/commands.h"
#include "mongo/db/server_parameters.h"
-#include "mongo/s/config.h"
+#include "mongo/s/catalog/catalog_manager.h"
+#include "mongo/s/grid.h"
#include "mongo/util/background.h"
#include "mongo/util/exit.h"
#include "mongo/util/log.h"
@@ -90,19 +91,15 @@ namespace {
StatusWith<OID> getCurrentCacheGeneration() {
try {
- ConnectionString config = configServer.getConnectionString();
- ScopedDbConnection conn(config.toString(), 30);
-
- BSONObj result;
- conn->runCommand("admin", BSON("_getUserCacheGeneration" << 1), result);
- conn.done();
-
- Status status = Command::getStatusFromCommandResult(result);
- if (!status.isOK()) {
- return StatusWith<OID>(status);
+ BSONObjBuilder result;
+ const bool ok = grid.catalogManager()->runUserManagementReadCommand(
+ "admin",
+ BSON("_getUserCacheGeneration" << 1),
+ &result);
+ if (!ok) {
+ return Command::getStatusFromCommandResult(result.obj());
}
-
- return StatusWith<OID>(result["cacheGeneration"].OID());
+ return result.obj()["cacheGeneration"].OID();
} catch (const DBException& e) {
return StatusWith<OID>(e.toStatus());
} catch (const std::exception& e) {