summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Wlodarek <gregory.wlodarek@mongodb.com>2022-03-14 20:32:52 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-04-06 15:18:22 +0000
commit60f075812816bd93175cecab9cfb80af51f49138 (patch)
treeeb4f6724ef2c7c3cb77db8bc63388429a840b9ec
parent7a71df9bd89598af22bb60143b62aee954d0d5e3 (diff)
downloadmongo-60f075812816bd93175cecab9cfb80af51f49138.tar.gz
SERVER-64031 serverStatus should not take PBWM lock and skip ticket acquisition
(cherry picked from commit 21634e3b9ce8345b5c79cf2cfee82542f4b5c7d5)
-rw-r--r--src/mongo/db/commands/server_status_command.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/commands/server_status_command.cpp b/src/mongo/db/commands/server_status_command.cpp
index f099766e564..6435da21c95 100644
--- a/src/mongo/db/commands/server_status_command.cpp
+++ b/src/mongo/db/commands/server_status_command.cpp
@@ -85,6 +85,11 @@ public:
const auto authSession = AuthorizationSession::get(Client::getCurrent());
+ // This command is important to observability, and like FTDC, does not need to acquire the
+ // PBWM lock to return correct results.
+ ShouldNotConflictWithSecondaryBatchApplicationBlock noPBWMBlock(opCtx->lockState());
+ opCtx->lockState()->skipAcquireTicket();
+
// --- basic fields that are global
result.append("host", prettyHostName());