summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp
diff options
context:
space:
mode:
authorA. Jesse Jiryu Davis <jesse@mongodb.com>2020-10-02 11:11:45 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-02 18:44:07 +0000
commit9b8d4c2f029e2384fa769014c00091e4de362ea4 (patch)
tree179772b6808276c49fb3c69d22c411993773dc09 /src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp
parent0b805a4119272e83f9ffe9bf7990397be9b0c7e9 (diff)
downloadmongo-9b8d4c2f029e2384fa769014c00091e4de362ea4.tar.gz
SERVER-50375 Ensure mongos forwards API parameters to shards
Diffstat (limited to 'src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp')
-rw-r--r--src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp11
1 files changed, 8 insertions, 3 deletions
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<mongo::KillAllSessionsByPattern> 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;