summaryrefslogtreecommitdiff
path: root/s/strategy.cpp
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2009-11-24 17:28:57 -0500
committerEliot Horowitz <eliot@10gen.com>2009-11-24 17:28:57 -0500
commit0fb7289f3a17ff7a5ac1ac5d51e4651256c305b7 (patch)
tree82261ca097b1f403427a6271753ccba674cf243e /s/strategy.cpp
parent314d24240c1833ba7cf950d91ade329beaf17587 (diff)
downloadmongo-0fb7289f3a17ff7a5ac1ac5d51e4651256c305b7.tar.gz
refactoring/cleaning of drop/dropDatabase/removeshard
Diffstat (limited to 's/strategy.cpp')
-rw-r--r--s/strategy.cpp22
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;
}