From 9b8d4c2f029e2384fa769014c00091e4de362ea4 Mon Sep 17 00:00:00 2001 From: "A. Jesse Jiryu Davis" Date: Fri, 2 Oct 2020 11:11:45 -0400 Subject: SERVER-50375 Ensure mongos forwards API parameters to shards --- .../db/commands/kill_all_sessions_by_pattern_command.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp') diff --git a/src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp b/src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp index c7687db6782..220c585ae78 100644 --- a/src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp +++ b/src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp @@ -96,7 +96,10 @@ public: // The empty command kills all if (ksc.getKillAllSessionsByPattern().empty()) { - ksc.setKillAllSessionsByPattern({makeKillAllSessionsByPattern(opCtx)}); + auto item = makeKillAllSessionsByPattern(opCtx); + std::vector patterns; + patterns.push_back({std::move(item.pattern)}); + ksc.setKillAllSessionsByPattern(std::move(patterns)); } else { // If a pattern is passed, you may only pass impersonate data if you have the // impersonate privilege. @@ -114,8 +117,10 @@ public: } } - KillAllSessionsByPatternSet patterns{ksc.getKillAllSessionsByPattern().begin(), - ksc.getKillAllSessionsByPattern().end()}; + KillAllSessionsByPatternSet patterns; + for (auto& pattern : ksc.getKillAllSessionsByPattern()) { + patterns.insert({std::move(pattern), APIParameters::get(opCtx)}); + } uassertStatusOK(killSessionsCmdHelper(opCtx, result, patterns)); return true; -- cgit v1.2.1