diff options
-rw-r--r-- | src/mongo/s/d_state.cpp | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/src/mongo/s/d_state.cpp b/src/mongo/s/d_state.cpp index bee870919e9..00a2e4cfb04 100644 --- a/src/mongo/s/d_state.cpp +++ b/src/mongo/s/d_state.cpp @@ -635,21 +635,19 @@ namespace mongo { // // Do messaging based on what happened above // - - string versionMsg = str::stream() - << " (loaded metadata version : " << remoteCollVersion.toString() - << ( beforeCollVersion.epoch() == afterCollVersion.epoch() ? - string( ", stored version : " ) + afterCollVersion.toString() : - string( ", stored versions : " ) + - beforeCollVersion.toString() + " / " + afterCollVersion.toString() ) - << ", took " << refreshMillis << "ms)"; + string localShardVersionMsg = + beforeShardVersion.epoch() == afterShardVersion.epoch() ? + afterShardVersion.toString() : + beforeShardVersion.toString() + " / " + afterShardVersion.toString(); if ( choice == ChunkVersion::VersionChoice_Unknown ) { - string errMsg = - str::stream() << "need to retry loading metadata for " << ns - << ", collection may have been dropped or recreated during load" - << versionMsg; + string errMsg = str::stream() + << "need to retry loading metadata for " << ns + << ", collection may have been dropped or recreated during load" + << " (loaded shard version : " << remoteShardVersion.toString() + << ", stored shard versions : " << localShardVersionMsg + << ", took " << refreshMillis << "ms)"; warning() << errMsg << endl; return Status( ErrorCodes::RemoteChangeDetected, errMsg ); @@ -657,7 +655,9 @@ namespace mongo { if ( choice == ChunkVersion::VersionChoice_Local ) { - LOG( 0 ) << "newer metadata not found for " << ns << versionMsg << endl; + LOG( 0 ) << "metadata of collection " << ns << " already up to date (shard version : " + << afterShardVersion.toString() << ", took " << refreshMillis << "ms)" + << endl; return Status::OK(); } @@ -665,22 +665,34 @@ namespace mongo { switch( installType ) { case InstallType_New: - LOG( 0 ) << "loaded new metadata for " << ns << versionMsg << endl; + LOG( 0 ) << "collection " << ns << " was previously unsharded" + << ", new metadata loaded with shard version " << remoteShardVersion + << endl; break; case InstallType_Update: - LOG( 0 ) << "loaded newer metadata for " << ns << versionMsg << endl; + LOG( 0 ) << "updating metadata for " << ns << " from shard version " + << localShardVersionMsg << " to shard version " << remoteShardVersion + << endl; break; case InstallType_Replace: - LOG( 0 ) << "replacing metadata for " << ns << versionMsg << endl; + LOG( 0 ) << "replacing metadata for " << ns << " at shard version " + << localShardVersionMsg << " with a new epoch (shard version " + << remoteShardVersion << ")" << endl; break; case InstallType_Drop: - LOG( 0 ) << "dropping metadata for " << ns << versionMsg << endl; + LOG( 0 ) << "dropping metadata for " << ns << " at shard version " + << localShardVersionMsg << ", took " << refreshMillis << "ms" << endl; break; default: verify( false ); break; } + if ( installType != InstallType_Drop ) { + LOG( 0 ) << "collection version was loaded at version " << remoteCollVersion + << ", took " << refreshMillis << "ms" << endl; + } + return Status::OK(); } |