// TODO: Same limitations as other mongos metadata commands, sometimes we'll be stale here // and fail. Need to better integrate targeting with commands. ShardPtr guessMergeShard( const NamespaceString& nss, const BSONObj& minKey ) { DBConfigPtr config = grid.getDBConfig( nss.ns() ); if ( !config->isSharded( nss ) ) { config->reload(); if ( !config->isSharded( nss ) ) { return ShardPtr(); } } ChunkManagerPtr manager = config->getChunkManager( nss ); if ( !manager ) return ShardPtr(); ChunkPtr chunk = manager->findChunkForDoc( minKey ); if ( !chunk ) return ShardPtr(); return ShardPtr( new Shard( chunk->getShard() ) ); }