diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2018-02-08 16:53:03 -0500 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2018-02-12 14:06:14 -0500 |
commit | e6fef1f93c6daf736b69f40cc4c0c92b4df75b4b (patch) | |
tree | 47913fbeaba3b9a2c58530b264ac4132e5d27460 /src/mongo/db/commands/conn_pool_sync.cpp | |
parent | fe1587bfc8e3507eb044721a0fa98c456659b629 (diff) | |
download | mongo-e6fef1f93c6daf736b69f40cc4c0c92b4df75b4b.tar.gz |
SERVER-29908 Consolidate some sharding libraries to help break dependency cycles
Diffstat (limited to 'src/mongo/db/commands/conn_pool_sync.cpp')
-rw-r--r-- | src/mongo/db/commands/conn_pool_sync.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/mongo/db/commands/conn_pool_sync.cpp b/src/mongo/db/commands/conn_pool_sync.cpp index cd3526bb885..12e279d15fa 100644 --- a/src/mongo/db/commands/conn_pool_sync.cpp +++ b/src/mongo/db/commands/conn_pool_sync.cpp @@ -28,44 +28,47 @@ #include "mongo/platform/basic.h" -#include <sstream> - -#include "mongo/client/connpool.h" #include "mongo/client/global_conn_pool.h" #include "mongo/db/commands.h" #include "mongo/s/client/shard_connection.h" namespace mongo { +namespace { class PoolFlushCmd : public BasicCommand { public: PoolFlushCmd() : BasicCommand("connPoolSync", "connpoolsync") {} + std::string help() const override { return "internal"; } - virtual bool supportsWriteConcern(const BSONObj& cmd) const override { + + bool supportsWriteConcern(const BSONObj& cmd) const override { return false; } - virtual void addRequiredPrivileges(const std::string& dbname, - const BSONObj& cmdObj, - std::vector<Privilege>* out) const { + + AllowedOnSecondary secondaryAllowed() const override { + return AllowedOnSecondary::kAlways; + } + + void addRequiredPrivileges(const std::string& dbname, + const BSONObj& cmdObj, + std::vector<Privilege>* out) const override { ActionSet actions; actions.addAction(ActionType::connPoolSync); out->push_back(Privilege(ResourcePattern::forClusterResource(), actions)); } - virtual bool run(OperationContext* opCtx, - const std::string&, - const mongo::BSONObj&, - mongo::BSONObjBuilder& result) { + bool run(OperationContext* opCtx, + const std::string&, + const mongo::BSONObj&, + mongo::BSONObjBuilder& result) override { shardConnectionPool.flush(); globalConnPool.flush(); return true; } - AllowedOnSecondary secondaryAllowed() const override { - return AllowedOnSecondary::kAlways; - } } poolFlushCmd; +} // namespace } // namespace mongo |