diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2020-10-02 11:11:45 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-10-02 18:44:07 +0000 |
commit | 9b8d4c2f029e2384fa769014c00091e4de362ea4 (patch) | |
tree | 179772b6808276c49fb3c69d22c411993773dc09 /src/mongo/db/commands/kill_all_sessions_by_pattern_command.cpp | |
parent | 0b805a4119272e83f9ffe9bf7990397be9b0c7e9 (diff) | |
download | mongo-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.cpp | 11 |
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; |