diff options
author | Tommaso Tocci <tommaso.tocci@mongodb.com> | 2022-04-13 15:25:35 +0200 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-04-19 15:12:11 +0000 |
commit | 170f9451a7709410b6e2162c74bf60a56960f484 (patch) | |
tree | 923261fadaaede04c49333f4ded3c1184f102f79 /src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp | |
parent | ae20cb9fb3c527d205592a28f95157457161e265 (diff) | |
download | mongo-170f9451a7709410b6e2162c74bf60a56960f484.tar.gz |
SERVER-65536 Relax constraints on numer of records in ShardsvrGetStatsForBalancingCmd
Diffstat (limited to 'src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp')
-rw-r--r-- | src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp b/src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp index 12dee9c12da..95459b8a827 100644 --- a/src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp +++ b/src/mongo/db/s/shardsvr_get_stats_for_balancing_command.cpp @@ -125,7 +125,12 @@ public: return BalancerStatsRegistry::get(opCtx)->getCollNumOrphanDocs(*collUUID); }(); - invariant(numRecords >= numOrphanDocs); + if (numRecords <= numOrphanDocs) { + // The number of records and the number of orphans documents are not updated + // atomically, therefore it could totally happen that the total number of records is + // less than the total number of orphans. + return 0LL; + } const auto avgObjSizeBytes = static_cast<long long>(dataSizeBytes / numRecords); return avgObjSizeBytes * (numRecords - numOrphanDocs); |