diff options
author | Eliot Horowitz <eliot@10gen.com> | 2009-11-24 17:28:57 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2009-11-24 17:28:57 -0500 |
commit | 0fb7289f3a17ff7a5ac1ac5d51e4651256c305b7 (patch) | |
tree | 82261ca097b1f403427a6271753ccba674cf243e /s/strategy.cpp | |
parent | 314d24240c1833ba7cf950d91ade329beaf17587 (diff) | |
download | mongo-0fb7289f3a17ff7a5ac1ac5d51e4651256c305b7.tar.gz |
refactoring/cleaning of drop/dropDatabase/removeshard
Diffstat (limited to 's/strategy.cpp')
-rw-r--r-- | s/strategy.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/s/strategy.cpp b/s/strategy.cpp index a24e3e0010d..ea86884e17c 100644 --- a/s/strategy.cpp +++ b/s/strategy.cpp @@ -152,24 +152,26 @@ namespace mongo { if ( ! conf ) return; - if ( ! conf->isSharded( ns ) ) - return; - - - ChunkManager * manager = conf->getChunkManager( ns , authoritative ); + ShardChunkVersion version = 0; + unsigned long long officialSequenceNumber = 0; + + if ( conf->isSharded( ns ) ){ + ChunkManager * manager = conf->getChunkManager( ns , authoritative ); + officialSequenceNumber = manager->getSequenceNumber(); + version = manager->getVersion( conn.getServerAddress() ); + } unsigned long long & sequenceNumber = checkShardVersionLastSequence[ &conn ]; - if ( manager->getSequenceNumber() == sequenceNumber ) + if ( officialSequenceNumber == sequenceNumber ) return; - log(2) << " have to set shard version for conn: " << &conn << " ns:" << ns << " my last seq: " << sequenceNumber << " current: " << manager->getSequenceNumber() << endl; - - ShardChunkVersion version = manager->getVersion( conn.getServerAddress() ); + log(2) << " have to set shard version for conn: " << &conn << " ns:" << ns << " my last seq: " << sequenceNumber << " current: " << officialSequenceNumber << endl; BSONObj result; if ( setShardVersion( conn , ns , version , authoritative , result ) ){ // success! - sequenceNumber = manager->getSequenceNumber(); + log(1) << " setShardVersion success!" << endl; + sequenceNumber = officialSequenceNumber; return; } |