diff options
Diffstat (limited to 'src/mongo/db/session/sessions_collection_rs.cpp')
| -rw-r--r-- | src/mongo/db/session/sessions_collection_rs.cpp | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/src/mongo/db/session/sessions_collection_rs.cpp b/src/mongo/db/session/sessions_collection_rs.cpp index 865f0b825e9..5483466eaa7 100644 --- a/src/mongo/db/session/sessions_collection_rs.cpp +++ b/src/mongo/db/session/sessions_collection_rs.cpp @@ -117,32 +117,31 @@ auto SessionsCollectionRS::_dispatch(const NamespaceString& ns, } void SessionsCollectionRS::setupSessionsCollection(OperationContext* opCtx) { - _dispatch( - NamespaceString::kLogicalSessionsNamespace, - opCtx, - [&] { - try { - checkSessionsCollectionExists(opCtx); - } catch (const DBException& ex) { - - DBDirectClient client(opCtx); - BSONObj cmd; - - if (ex.code() == ErrorCodes::IndexOptionsConflict) { - cmd = generateCollModCmd(); - } else { - // Creating the TTL index will auto-generate the collection. - cmd = generateCreateIndexesCmd(); - } - - BSONObj info; - if (!client.runCommand( - NamespaceString::kLogicalSessionsNamespace.db().toString(), cmd, info)) { - uassertStatusOK(getStatusFromCommandResult(info)); - } - } - }, - [&](DBClientBase*) { checkSessionsCollectionExists(opCtx); }); + _dispatch(NamespaceString::kLogicalSessionsNamespace, + opCtx, + [&] { + try { + checkSessionsCollectionExists(opCtx); + } catch (const DBException& ex) { + + DBDirectClient client(opCtx); + BSONObj cmd; + + if (ex.code() == ErrorCodes::IndexOptionsConflict) { + cmd = generateCollModCmd(); + } else { + // Creating the TTL index will auto-generate the collection. + cmd = generateCreateIndexesCmd(); + } + + BSONObj info; + if (!client.runCommand( + NamespaceString::kLogicalSessionsNamespace.dbName(), cmd, info)) { + uassertStatusOK(getStatusFromCommandResult(info)); + } + } + }, + [&](DBClientBase*) { checkSessionsCollectionExists(opCtx); }); } void SessionsCollectionRS::checkSessionsCollectionExists(OperationContext* opCtx) { |
