summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Lerner <alerner@10gen.com>2010-07-16 15:06:20 -0400
committerAlberto Lerner <alerner@10gen.com>2010-07-16 15:06:20 -0400
commit38eb41bf4a7ab62ac988254607b356e668d92332 (patch)
tree7bf79a051a1b9d6484aa5391bad51231aec14251
parent6d47fb7ea523263597d916b722f09e5924b9689a (diff)
downloadmongo-38eb41bf4a7ab62ac988254607b356e668d92332.tar.gz
Balancer refreshes shard state at every round
-rw-r--r--s/balance.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/s/balance.cpp b/s/balance.cpp
index cc3b39f2eff..037b2e65b3b 100644
--- a/s/balance.cpp
+++ b/s/balance.cpp
@@ -263,6 +263,9 @@ namespace mongo {
uassert( 13258 , "oids broken after resetting!" , _checkOIDs() );
}
+ // use fresh shard state
+ Shard::reloadShardInfo();
+
dist_lock_try lk( &balanceLock , "doing balance round" );
if ( ! lk.got() ){
log(1) << "skipping balancing round during ongoing split or move activity." << endl;
@@ -294,9 +297,6 @@ namespace mongo {
// Just to match the opening statement if in log level 1
log(1) << "*** End of balancing round" << endl;
- // It's possible this shard was removed
- Shard::reloadShardInfo();
-
continue;
}
}