the cluster system often has slow query, then I debug the mongos.
the slow reason is sleepsecs().
the code:
if ( op == dbQuery ) {
iscmd = isCommand();
try {
s->queryOp( *this );
}
catch ( StaleConfigException& staleConfig ) {
log() << staleConfig.what() << " attempt: " << attempt << endl;
uassert( 10195 , "too many attempts to update config, failing" , attempt < 5 );
ShardConnection::checkMyConnectionVersions( getns() );
if (!staleConfig.justConnection() )
sleepsecs( attempt );
reset( ! staleConfig.justConnection(), attempt >= 2 );
_d.markReset();
process( attempt + 1 );
return;
}
}
I go deepi in the code, the StaleConfigException has relationship between chunkManager and shardVersion.
is these normal? if disable auto split chunk, can slow query be solved?
thanks!