diff options
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 0aa0f1f44f1..db309f66c1b 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -1342,13 +1342,19 @@ void WiredTigerKVEngine::alterIdentMetadata(OperationContext* opCtx, const IndexDescriptor* desc) { WiredTigerSession session(_conn); std::string uri = _uri(ident); + auto sessionHandle = session.getSession(); // Make the alter call to update metadata without taking exclusive lock to avoid conflicts with // concurrent operations. std::string alterString = WiredTigerIndex::generateAppMetadataString(*desc) + "exclusive_refreshed=false,"; - invariantWTOK( - session.getSession()->alter(session.getSession(), uri.c_str(), alterString.c_str())); + int ret = sessionHandle->alter(sessionHandle, uri.c_str(), alterString.c_str()); + if (ret) { + severe() << "Failed to alter ident metadata. Uri: " << uri << " Ret: " << ret + << " Ident: " << ident << " alterString: " << redact(alterString) + << " Msg: " << sessionHandle->strerror(sessionHandle, ret); + fassertFailed(31013); + } } Status WiredTigerKVEngine::dropIdent(OperationContext* opCtx, StringData ident) { |