summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergi Mateo Bellido <sergi.mateo-bellido@mongodb.com>2020-09-30 12:15:32 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-01 08:51:58 +0000
commitbfd22982681e0af44f52b586b432091174d17945 (patch)
treee88f469630df1b7bd1e3d0428d16688f7b106faa
parent6050e97eafbb6aec02d783f8ec3acea2c612b924 (diff)
downloadmongo-bfd22982681e0af44f52b586b432091174d17945.tar.gz
SERVER-50815 Improve database and collection version formatting on logs
-rw-r--r--src/mongo/s/catalog_cache.cpp27
-rw-r--r--src/mongo/s/catalog_cache.h3
-rw-r--r--src/mongo/s/chunk_manager.cpp16
-rw-r--r--src/mongo/s/chunk_manager.h3
4 files changed, 34 insertions, 15 deletions
diff --git a/src/mongo/s/catalog_cache.cpp b/src/mongo/s/catalog_cache.cpp
index 789dafdce39..ea2363fb9b2 100644
--- a/src/mongo/s/catalog_cache.cpp
+++ b/src/mongo/s/catalog_cache.cpp
@@ -245,7 +245,7 @@ void CatalogCache::onStaleDatabaseVersion(const StringData dbName,
2,
"Registering new database version",
"db"_attr = dbName,
- "version"_attr = version);
+ "version"_attr = version.toBSONForLogging());
_databaseCache.advanceTimeInStore(dbName.toString(), version);
}
}
@@ -464,8 +464,8 @@ CatalogCache::DatabaseCache::LookupResult CatalogCache::DatabaseCache::_lookupDa
1,
"Refreshed cached database entry",
"db"_attr = dbName,
- "newDbVersion"_attr = newDbVersion,
- "oldDbVersion"_attr = previousDbVersion,
+ "newDbVersion"_attr = newDbVersion.toBSONForLogging(),
+ "oldDbVersion"_attr = previousDbVersion.toBSONForLogging(),
"duration"_attr = Milliseconds(t.millis()));
return CatalogCache::DatabaseCache::LookupResult(std::move(newDb), std::move(newDbVersion));
} catch (const DBException& ex) {
@@ -548,7 +548,7 @@ CatalogCache::CollectionCache::LookupResult CatalogCache::CollectionCache::_look
1,
"Refreshing cached collection",
"namespace"_attr = nss,
- "currentVersion"_attr = previousVersion);
+ "currentVersion"_attr = previousVersion.toBSONForLogging());
auto collectionAndChunks = _catalogCacheLoader.getChunksSince(nss, lookupVersion).get();
@@ -599,8 +599,8 @@ CatalogCache::CollectionCache::LookupResult CatalogCache::CollectionCache::_look
isIncremental || newVersion != previousVersion ? 0 : 1,
"Refreshed cached collection",
"namespace"_attr = nss,
- "newVersion"_attr = newVersion,
- "oldVersion"_attr = previousVersion,
+ "newVersion"_attr = newVersion.toBSONForLogging(),
+ "oldVersion"_attr = previousVersion.toBSONForLogging(),
"duration"_attr = Milliseconds(t.millis()));
_updateRefreshesStats(isIncremental, false);
@@ -639,11 +639,20 @@ ComparableDatabaseVersion ComparableDatabaseVersion::makeComparableDatabaseVersi
return ComparableDatabaseVersion(version, _uuidDisambiguatingSequenceNumSource.fetchAndAdd(1));
}
-std::string ComparableDatabaseVersion::toString() const {
- return str::stream() << (_dbVersion ? _dbVersion->toBSON().toString() : "NONE") << "|"
- << _uuidDisambiguatingSequenceNum;
+BSONObj ComparableDatabaseVersion::toBSONForLogging() const {
+ BSONObjBuilder builder;
+ if (_dbVersion)
+ builder.append("dbVersion"_sd, _dbVersion->toBSON());
+ else
+ builder.append("dbVersion"_sd, "None");
+
+ builder.append("uuidDisambiguatingSequenceNum"_sd,
+ static_cast<int64_t>(_uuidDisambiguatingSequenceNum));
+
+ return builder.obj();
}
+
bool ComparableDatabaseVersion::operator==(const ComparableDatabaseVersion& other) const {
if (!_dbVersion && !other._dbVersion)
return true; // Default constructed value
diff --git a/src/mongo/s/catalog_cache.h b/src/mongo/s/catalog_cache.h
index 55877a37c49..656d163f26c 100644
--- a/src/mongo/s/catalog_cache.h
+++ b/src/mongo/s/catalog_cache.h
@@ -30,6 +30,7 @@
#pragma once
#include "mongo/base/string_data.h"
+#include "mongo/db/jsobj.h"
#include "mongo/platform/atomic_word.h"
#include "mongo/s/catalog/type_database.h"
#include "mongo/s/catalog_cache_loader.h"
@@ -77,7 +78,7 @@ public:
return *_dbVersion;
}
- std::string toString() const;
+ BSONObj toBSONForLogging() const;
bool sameUuid(const ComparableDatabaseVersion& other) const {
return _dbVersion->getUuid() == other._dbVersion->getUuid();
diff --git a/src/mongo/s/chunk_manager.cpp b/src/mongo/s/chunk_manager.cpp
index a70d92d00b2..63921525d8c 100644
--- a/src/mongo/s/chunk_manager.cpp
+++ b/src/mongo/s/chunk_manager.cpp
@@ -763,10 +763,18 @@ ComparableChunkVersion ComparableChunkVersion::makeComparableChunkVersionForForc
_epochDisambiguatingSequenceNumSource.fetchAndAdd(1));
}
-std::string ComparableChunkVersion::toString() const {
- return str::stream() << _forcedRefreshSequenceNum << "|"
- << (_chunkVersion ? _chunkVersion->toString() : "NONE") << "|"
- << _epochDisambiguatingSequenceNum;
+BSONObj ComparableChunkVersion::toBSONForLogging() const {
+ BSONObjBuilder builder;
+ if (_chunkVersion)
+ builder.append("chunkVersion"_sd, _chunkVersion->toBSON());
+ else
+ builder.append("chunkVersion"_sd, "None");
+
+ builder.append("forcedRefreshSequenceNum"_sd, static_cast<int64_t>(_forcedRefreshSequenceNum));
+ builder.append("epochDisambiguatingSequenceNum"_sd,
+ static_cast<int64_t>(_epochDisambiguatingSequenceNum));
+
+ return builder.obj();
}
bool ComparableChunkVersion::operator==(const ComparableChunkVersion& other) const {
diff --git a/src/mongo/s/chunk_manager.h b/src/mongo/s/chunk_manager.h
index e694a94c201..68a439e0064 100644
--- a/src/mongo/s/chunk_manager.h
+++ b/src/mongo/s/chunk_manager.h
@@ -33,6 +33,7 @@
#include <string>
#include <vector>
+#include "mongo/db/jsobj.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/query/collation/collator_interface.h"
#include "mongo/s/chunk.h"
@@ -366,7 +367,7 @@ public:
return *_chunkVersion;
}
- std::string toString() const;
+ BSONObj toBSONForLogging() const;
bool sameEpoch(const ComparableChunkVersion& other) const {
return _chunkVersion->epoch() == other._chunkVersion->epoch();