diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-10-11 16:48:18 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-10-14 13:44:21 -0400 |
commit | 5dbe9c097231652f8eee97a66e24d8c448a3f9a1 (patch) | |
tree | a0f0aeccf187313f4be9e6cc35b6252ca5172125 /src/mongo/db/s/balancer/cluster_statistics.cpp | |
parent | 759bd57056d51ac856296e4c9672f1ea2efe4b33 (diff) | |
download | mongo-5dbe9c097231652f8eee97a66e24d8c448a3f9a1.tar.gz |
SERVER-26579 Do not move chunks to shards with above optimal chunk count
Diffstat (limited to 'src/mongo/db/s/balancer/cluster_statistics.cpp')
-rw-r--r-- | src/mongo/db/s/balancer/cluster_statistics.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/mongo/db/s/balancer/cluster_statistics.cpp b/src/mongo/db/s/balancer/cluster_statistics.cpp index 495a54b0493..125f11d3551 100644 --- a/src/mongo/db/s/balancer/cluster_statistics.cpp +++ b/src/mongo/db/s/balancer/cluster_statistics.cpp @@ -39,8 +39,6 @@ ClusterStatistics::ClusterStatistics() = default; ClusterStatistics::~ClusterStatistics() = default; -ClusterStatistics::ShardStatistics::ShardStatistics() = default; - ClusterStatistics::ShardStatistics::ShardStatistics(ShardId inShardId, uint64_t inMaxSizeMB, uint64_t inCurrSizeMB, @@ -48,9 +46,9 @@ ClusterStatistics::ShardStatistics::ShardStatistics(ShardId inShardId, std::set<std::string> inShardTags, std::string inMongoVersion) : shardId(std::move(inShardId)), - maxSizeMB(std::move(inMaxSizeMB)), - currSizeMB(std::move(inCurrSizeMB)), - isDraining(std::move(inIsDraining)), + maxSizeMB(inMaxSizeMB), + currSizeMB(inCurrSizeMB), + isDraining(inIsDraining), shardTags(std::move(inShardTags)), mongoVersion(std::move(inMongoVersion)) {} @@ -62,6 +60,14 @@ bool ClusterStatistics::ShardStatistics::isSizeMaxed() const { return currSizeMB >= maxSizeMB; } +bool ClusterStatistics::ShardStatistics::isSizeExceeded() const { + if (!maxSizeMB || !currSizeMB) { + return false; + } + + return currSizeMB > maxSizeMB; +} + BSONObj ClusterStatistics::ShardStatistics::toBSON() const { BSONObjBuilder builder; builder.append("id", shardId.toString()); |