void ShardManager::save(){ ServerShardVersion a = getVersion(); for ( vector<Shard*>::const_iterator i=_shards.begin(); i!=_shards.end(); i++ ){ Shard* s = *i; if ( ! s->_modified ) continue; s->save( true ); _sequenceNumber = ++NextSequenceNumber; } massert( "how did version get smalled" , getVersion() >= a ); ensureIndex(); // TODO: this is too aggressive - but not really sooo bad }