summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/storage/durable_catalog_impl.cpp26
-rw-r--r--src/mongo/db/storage/flow_control.cpp14
-rw-r--r--src/mongo/db/storage/oplog_cap_maintainer_thread.cpp6
-rw-r--r--src/mongo/db/storage/remove_saver.cpp49
-rw-r--r--src/mongo/db/storage/storage_engine_impl.cpp73
-rw-r--r--src/mongo/db/storage/storage_engine_init.cpp2
-rw-r--r--src/mongo/db/storage/storage_engine_lock_file_posix.cpp19
-rw-r--r--src/mongo/db/storage/storage_engine_lock_file_windows.cpp5
-rw-r--r--src/mongo/db/storage/storage_engine_metadata.cpp24
-rw-r--r--src/mongo/db/storage/storage_repair_observer.cpp18
10 files changed, 134 insertions, 102 deletions
diff --git a/src/mongo/db/storage/durable_catalog_impl.cpp b/src/mongo/db/storage/durable_catalog_impl.cpp
index 70131da0cff..a327c16cce1 100644
--- a/src/mongo/db/storage/durable_catalog_impl.cpp
+++ b/src/mongo/db/storage/durable_catalog_impl.cpp
@@ -220,11 +220,12 @@ public:
// index, we should never see it again anyway.
if (_engine->getStorageEngine()->supportsPendingDrops() && commitTimestamp) {
LOGV2(22206,
- "Deferring table drop for index '{indexName}' on collection "
- "'{indexNss}{uuid_uuid}. Ident: '{ident}', commit timestamp: '{commitTimestamp}'",
- "indexName"_attr = _indexName,
- "indexNss"_attr = _indexNss,
- "uuid_uuid"_attr = (_uuid ? " (" + _uuid->toString() + ")'" : ""),
+ "Deferring table drop for index '{index}' on collection "
+ "'{namespace}{uuid}. Ident: '{ident}', commit timestamp: '{commitTimestamp}'",
+ "Deferring table drop for index",
+ "index"_attr = _indexName,
+ logAttrs(_indexNss),
+ "uuid"_attr = _uuid,
"ident"_attr = _ident,
"commitTimestamp"_attr = commitTimestamp);
_engine->addDropPendingIdent(*commitTimestamp, _indexNss, _ident);
@@ -352,7 +353,9 @@ DurableCatalogImpl::FeatureTracker::FeatureBits DurableCatalogImpl::FeatureTrack
if (!nonRepairableFeaturesStatus.isOK()) {
LOGV2_ERROR(22215,
"error: exception extracting typed field with obj:{obj}",
- "obj"_attr = redact(obj));
+ "Exception extracting typed field from obj",
+ "obj"_attr = redact(obj),
+ "fieldName"_attr = kNonRepairableFeaturesFieldName);
fassert(40111, nonRepairableFeaturesStatus);
}
@@ -362,7 +365,9 @@ DurableCatalogImpl::FeatureTracker::FeatureBits DurableCatalogImpl::FeatureTrack
if (!repairableFeaturesStatus.isOK()) {
LOGV2_ERROR(22216,
"error: exception extracting typed field with obj:{obj}",
- "obj"_attr = redact(obj));
+ "Exception extracting typed field from obj",
+ "obj"_attr = redact(obj),
+ "fieldName"_attr = kRepairableFeaturesFieldName);
fassert(40112, repairableFeaturesStatus);
}
@@ -882,10 +887,11 @@ Status DurableCatalogImpl::dropCollection(OperationContext* opCtx, RecordId cata
auto storageEngine = engine->getStorageEngine();
if (storageEngine->supportsPendingDrops() && commitTimestamp) {
LOGV2(22214,
- "Deferring table drop for collection '{entry_nss}'. Ident: {entry_ident}, "
+ "Deferring table drop for collection '{namespace}'. Ident: {ident}, "
"commit timestamp: {commitTimestamp}",
- "entry_nss"_attr = entry.nss,
- "entry_ident"_attr = entry.ident,
+ "Deferring table drop for collection",
+ logAttrs(entry.nss),
+ "ident"_attr = entry.ident,
"commitTimestamp"_attr = commitTimestamp);
engine->addDropPendingIdent(*commitTimestamp, entry.nss, entry.ident);
} else {
diff --git a/src/mongo/db/storage/flow_control.cpp b/src/mongo/db/storage/flow_control.cpp
index d1592d45c5c..60cb743da7a 100644
--- a/src/mongo/db/storage/flow_control.cpp
+++ b/src/mongo/db/storage/flow_control.cpp
@@ -106,9 +106,10 @@ bool sustainerAdvanced(const std::vector<repl::MemberData>& prevMemberData,
if (currMemberData.size() == 0 || currMemberData.size() != prevMemberData.size()) {
LOGV2_WARNING(22223,
"Flow control detected a change in topology. PrevMemberSize: "
- "{prevMemberData_size} CurrMemberSize: {currMemberData_size}",
- "prevMemberData_size"_attr = prevMemberData.size(),
- "currMemberData_size"_attr = currMemberData.size());
+ "{prevSize} CurrMemberSize: {currSize}",
+ "Flow control detected a change in topology",
+ "prevSize"_attr = prevMemberData.size(),
+ "currSize"_attr = currMemberData.size());
return false;
}
@@ -118,9 +119,10 @@ bool sustainerAdvanced(const std::vector<repl::MemberData>& prevMemberData,
if (currSustainerAppliedTs < prevSustainerAppliedTs) {
LOGV2_WARNING(22224,
"Flow control's sustainer time decreased. PrevSustainer: "
- "{prevSustainerAppliedTs} CurrSustainer: {currSustainerAppliedTs}",
- "prevSustainerAppliedTs"_attr = prevSustainerAppliedTs,
- "currSustainerAppliedTs"_attr = currSustainerAppliedTs);
+ "{prevApplied} CurrSustainer: {currApplied}",
+ "Flow control's sustainer time decreased",
+ "prevApplied"_attr = prevSustainerAppliedTs,
+ "currApplied"_attr = currSustainerAppliedTs);
return false;
}
diff --git a/src/mongo/db/storage/oplog_cap_maintainer_thread.cpp b/src/mongo/db/storage/oplog_cap_maintainer_thread.cpp
index 8c2e1aeae48..5ec5dcf62f6 100644
--- a/src/mongo/db/storage/oplog_cap_maintainer_thread.cpp
+++ b/src/mongo/db/storage/oplog_cap_maintainer_thread.cpp
@@ -75,8 +75,10 @@ bool OplogCapMaintainerThread::_deleteExcessDocuments() {
} catch (const ExceptionForCat<ErrorCategory::Interruption>&) {
return false;
} catch (const std::exception& e) {
- LOGV2_FATAL_NOTRACE(
- 22243, "error in OplogCapMaintainerThread: {e_what}", "e_what"_attr = e.what());
+ LOGV2_FATAL_NOTRACE(22243,
+ "error in OplogCapMaintainerThread: {error}",
+ "Error in OplogCapMaintainerThread",
+ "error"_attr = e.what());
} catch (...) {
fassertFailedNoTrace(!"unknown error in OplogCapMaintainerThread");
}
diff --git a/src/mongo/db/storage/remove_saver.cpp b/src/mongo/db/storage/remove_saver.cpp
index ebae5ce21bf..9ed21bbe234 100644
--- a/src/mongo/db/storage/remove_saver.cpp
+++ b/src/mongo/db/storage/remove_saver.cpp
@@ -86,16 +86,18 @@ RemoveSaver::~RemoveSaver() {
if (!status.isOK()) {
LOGV2_FATAL(34350,
"Unable to finalize DataProtector while closing RemoveSaver: {status}",
- "status"_attr = redact(status));
+ "Unable to finalize DataProtector while closing RemoveSaver",
+ "error"_attr = redact(status));
}
_out->write(reinterpret_cast<const char*>(protectedBuffer.get()), resultLen);
if (_out->fail()) {
LOGV2_FATAL(34351,
- "Couldn't write finalized DataProtector data to: {file_string} for remove "
- "saving: {errnoWithDescription}",
- "file_string"_attr = _file.string(),
- "errnoWithDescription"_attr = redact(errnoWithDescription()));
+ "Couldn't write finalized DataProtector data to: {file} for remove "
+ "saving: {error}",
+ "Couldn't write finalized DataProtector for remove saving",
+ "file"_attr = _file.generic_string(),
+ "error"_attr = redact(errnoWithDescription()));
}
protectedBuffer.reset(new uint8_t[protectedSizeMax]);
@@ -103,17 +105,18 @@ RemoveSaver::~RemoveSaver() {
if (!status.isOK()) {
LOGV2_FATAL(
34352,
- "Unable to get finalizeTag from DataProtector while closing RemoveSaver: {status}",
- "status"_attr = redact(status));
+ "Unable to get finalizeTag from DataProtector while closing RemoveSaver: {error}",
+ "Unable to get finalizeTag from DataProtector while closing RemoveSaver",
+ "error"_attr = redact(status));
}
if (resultLen != _protector->getNumberOfBytesReservedForTag()) {
LOGV2_FATAL(34353,
- "Attempted to write tag of size {resultLen} when DataProtector only "
- "reserved {protector_getNumberOfBytesReservedForTag} bytes",
- "resultLen"_attr = resultLen,
- "protector_getNumberOfBytesReservedForTag"_attr =
- _protector->getNumberOfBytesReservedForTag());
+ "Attempted to write tag of size {sizeBytes} when DataProtector only "
+ "reserved {reservedBytes} bytes",
+ "Attempted to write tag of larger size than DataProtector reserved size",
+ "sizeBytes"_attr = resultLen,
+ "reservedBytes"_attr = _protector->getNumberOfBytesReservedForTag());
}
_out->seekp(0);
@@ -121,10 +124,11 @@ RemoveSaver::~RemoveSaver() {
if (_out->fail()) {
LOGV2_FATAL(34354,
- "Couldn't write finalizeTag from DataProtector to: {file_string} for "
- "remove saving: {errnoWithDescription}",
- "file_string"_attr = _file.string(),
- "errnoWithDescription"_attr = redact(errnoWithDescription()));
+ "Couldn't write finalizeTag from DataProtector to: {file} for "
+ "remove saving: {error}",
+ "Couldn't write finalizeTag from DataProtector for remove saving",
+ "file"_attr = _file.generic_string(),
+ "error"_attr = redact(errnoWithDescription()));
}
}
}
@@ -140,7 +144,10 @@ Status RemoveSaver::goingToDelete(const BSONObj& o) {
if (_out->fail()) {
string msg = str::stream() << "couldn't create file: " << _file.string()
<< " for remove saving: " << redact(errnoWithDescription());
- LOGV2_ERROR(23734, "{msg}", "msg"_attr = msg);
+ LOGV2_ERROR(23734,
+ "Failed to create file for remove saving",
+ "file"_attr = _file.generic_string(),
+ "error"_attr = redact(errnoWithDescription()));
_out.reset();
_out = nullptr;
return Status(ErrorCodes::FileNotOpen, msg);
@@ -173,9 +180,13 @@ Status RemoveSaver::goingToDelete(const BSONObj& o) {
_out->write(reinterpret_cast<const char*>(data), dataSize);
if (_out->fail()) {
+ auto errorStr = redact(errnoWithDescription());
string msg = str::stream() << "couldn't write document to file: " << _file.string()
- << " for remove saving: " << redact(errnoWithDescription());
- LOGV2_ERROR(23735, "{msg}", "msg"_attr = msg);
+ << " for remove saving: " << errorStr;
+ LOGV2_ERROR(23735,
+ "Couldn't write document to file for remove saving",
+ "file"_attr = _file.generic_string(),
+ "error"_attr = errorStr);
return Status(ErrorCodes::OperationFailed, msg);
}
diff --git a/src/mongo/db/storage/storage_engine_impl.cpp b/src/mongo/db/storage/storage_engine_impl.cpp
index d45ccf93c22..075fe2b3413 100644
--- a/src/mongo/db/storage/storage_engine_impl.cpp
+++ b/src/mongo/db/storage/storage_engine_impl.cpp
@@ -94,7 +94,7 @@ void StorageEngineImpl::loadCatalog(OperationContext* opCtx) {
Status status = _engine->repairIdent(opCtx, catalogInfo);
if (status.code() == ErrorCodes::DataModifiedByRepair) {
- LOGV2_WARNING(22264, "Catalog data modified by repair", "reason"_attr = status);
+ LOGV2_WARNING(22264, "Catalog data modified by repair", "error"_attr = status);
repairObserver->invalidatingModification(str::stream() << "DurableCatalog repaired: "
<< status.reason());
} else {
@@ -178,10 +178,12 @@ void StorageEngineImpl::loadCatalog(OperationContext* opCtx) {
LOGV2_ERROR(
22268,
"Cannot create an entry in the catalog for the orphaned "
- "collection ident: {ident} due to {statusWithNs_getStatus_reason}",
+ "collection ident: {ident} due to {statusWithNs_getStatus_reason}. "
+ "Restarting the server will remove this ident",
+ "Cannot create an entry in the catalog for orphaned ident. Restarting "
+ "the server will remove this ident",
"ident"_attr = ident,
- "statusWithNs_getStatus_reason"_attr = statusWithNs.getStatus());
- LOGV2_ERROR(22269, "Restarting the server will remove this ident.");
+ "error"_attr = statusWithNs.getStatus());
}
}
}
@@ -208,9 +210,10 @@ void StorageEngineImpl::loadCatalog(OperationContext* opCtx) {
if (!status.isOK()) {
LOGV2_WARNING(22266,
"Failed to recover orphaned data file for collection "
- "'{entry_nss}': {status}",
- "entry_nss"_attr = entry.nss,
- "status"_attr = status);
+ "'{namespace}': {error}",
+ "Failed to recover orphaned data file for collection",
+ "namespace"_attr = entry.nss,
+ "error"_attr = status);
WriteUnitOfWork wuow(opCtx);
fassert(50716, _catalog->_removeEntry(opCtx, entry.catalogId));
@@ -231,7 +234,10 @@ void StorageEngineImpl::loadCatalog(OperationContext* opCtx) {
maxSeenPrefix = std::max(maxSeenPrefix, maxPrefixForCollection);
if (entry.nss.isOrphanCollection()) {
- LOGV2(22248, "Orphaned collection found: {entry_nss}", "entry_nss"_attr = entry.nss);
+ LOGV2(22248,
+ "Orphaned collection found: {namespace}",
+ "Orphaned collection found",
+ "namespace"_attr = entry.nss);
}
}
@@ -293,10 +299,12 @@ Status StorageEngineImpl::_recoverOrphanedCollection(OperationContext* opCtx,
return {ErrorCodes::IllegalOperation, "Orphan recovery only supported in repair"};
}
LOGV2(22249,
- "Storage engine is missing collection '{collectionName}' from its metadata. Attempting "
- "to locate and recover the data for {collectionIdent}",
- "collectionName"_attr = collectionName,
- "collectionIdent"_attr = collectionIdent);
+ "Storage engine is missing collection '{namespace}' from its metadata. Attempting "
+ "to locate and recover the data for {ident}",
+ "Storage engine is missing collection from its metadata. Attempting to locate and "
+ "recover the data",
+ "namespace"_attr = collectionName,
+ "ident"_attr = collectionIdent);
WriteUnitOfWork wuow(opCtx);
const auto metadata = _catalog->getMetaData(opCtx, catalogId);
@@ -387,8 +395,9 @@ StatusWith<StorageEngine::ReconcileResult> StorageEngineImpl::reconcileCatalogAn
// checkpoint.
if (dropPendingIdents.find(it) != dropPendingIdents.cend()) {
LOGV2(22250,
- "Not removing ident for uncheckpointed collection or index drop: {it}",
- "it"_attr = it);
+ "Not removing ident for uncheckpointed collection or index drop: {ident}",
+ "Not removing ident for uncheckpointed collection or index drop",
+ "ident"_attr = it);
continue;
}
@@ -439,14 +448,19 @@ StatusWith<StorageEngine::ReconcileResult> StorageEngineImpl::reconcileCatalogAn
indexMetaData.multikeyPaths.end(),
[](auto& pathSet) { return pathSet.size() > 0; });
if (!indexMetaData.multikey && hasMultiKeyPaths) {
- LOGV2_WARNING(22267,
- "The 'multikey' field for index {indexName} on collection {coll} was "
- "false with non-empty 'multikeyPaths'. This indicates corruption of "
- "the catalog. Consider either dropping and recreating the index, or "
- "rerunning with the --repair option. See "
- "http://dochub.mongodb.org/core/repair for more information.",
- "indexName"_attr = indexName,
- "coll"_attr = coll);
+ LOGV2_WARNING(
+ 22267,
+ "The 'multikey' field for index {index} on collection {namespace} was "
+ "false with non-empty 'multikeyPaths'. This indicates corruption of "
+ "the catalog. Consider either dropping and recreating the index, or "
+ "rerunning with the --repair option. See "
+ "http://dochub.mongodb.org/core/repair for more information.",
+ "The 'multikey' field for index was false with non-empty 'multikeyPaths'. This "
+ "indicates corruption of the catalog. Consider either dropping and recreating "
+ "the index, or rerunning with the --repair option. See "
+ "http://dochub.mongodb.org/core/repair for more information",
+ "index"_attr = indexName,
+ "namespace"_attr = coll);
}
const bool foundIdent = engineIdents.find(indexIdent) != engineIdents.end();
@@ -456,10 +470,11 @@ StatusWith<StorageEngine::ReconcileResult> StorageEngineImpl::reconcileCatalogAn
// encountering another `dropIndex` command.
if (indexMetaData.ready && !foundIdent) {
LOGV2(22252,
- "Expected index data is missing, rebuilding. Collection: {coll} Index: "
- "{indexName}",
- "coll"_attr = coll,
- "indexName"_attr = indexName);
+ "Expected index data is missing, rebuilding. Collection: {namespace} Index: "
+ "{index}",
+ "Expected index data is missing, rebuilding",
+ "index"_attr = indexName,
+ "namespace"_attr = coll);
ret.indexesToRebuild.push_back({entry.catalogId, coll, indexName});
continue;
}
@@ -475,11 +490,11 @@ StatusWith<StorageEngine::ReconcileResult> StorageEngineImpl::reconcileCatalogAn
auto buildUUID = *indexMetaData.buildUUID;
LOGV2(22253,
- "Found index from unfinished build. Collection: {coll} ({collUUID}), index: "
+ "Found index from unfinished build. Collection: {coll} ({uuid}), index: "
"{indexName}, build UUID: {buildUUID}",
"Found index from unfinished build",
"namespace"_attr = coll,
- "UUID"_attr = *collUUID,
+ "uuid"_attr = *collUUID,
"index"_attr = indexName,
"buildUUID"_attr = buildUUID);
@@ -995,7 +1010,7 @@ void StorageEngineImpl::TimestampMonitor::startup() {
LOGV2(22263,
"Timestamp monitor is stopping. {reason}",
"Timestamp monitor is stopping"
- "reason"_attr = ex.reason());
+ "error"_attr = ex.reason());
return;
}
},
diff --git a/src/mongo/db/storage/storage_engine_init.cpp b/src/mongo/db/storage/storage_engine_init.cpp
index 02f82ed509f..3ce7979a45f 100644
--- a/src/mongo/db/storage/storage_engine_init.cpp
+++ b/src/mongo/db/storage/storage_engine_init.cpp
@@ -214,7 +214,7 @@ void createLockFile(ServiceContext* service) {
"previously not shut down cleanly.");
}
LOGV2_WARNING(22271,
- "Detected unclean shutdown - Lock file is not empty.",
+ "Detected unclean shutdown - Lock file is not empty",
"lockFile"_attr = lockFile->getFilespec());
startingAfterUncleanShutdown(service) = true;
}
diff --git a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
index a1057b1ee6f..0d67885718a 100644
--- a/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
+++ b/src/mongo/db/storage/storage_engine_lock_file_posix.cpp
@@ -57,8 +57,9 @@ void flushMyDirectory(const boost::filesystem::path& file) {
// massert(40389, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
if (!file.has_branch_path()) {
LOGV2(22274,
- "warning flushMyDirectory couldn't find parent dir for file: {file_string}",
- "file_string"_attr = file.string());
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+ "file"_attr = file.generic_string());
return;
}
@@ -79,14 +80,9 @@ void flushMyDirectory(const boost::filesystem::path& file) {
LOGV2_OPTIONS(
22276,
{logv2::LogTag::kStartupWarnings},
- "\tWARNING: This file system is not supported. For further information see:");
- LOGV2_OPTIONS(22277,
- {logv2::LogTag::kStartupWarnings},
- "\t\t\thttp://dochub.mongodb.org/core/unsupported-filesystems");
- LOGV2_OPTIONS(22278,
- {logv2::LogTag::kStartupWarnings},
- "\t\tPlease notify MongoDB, Inc. if an unlisted filesystem generated "
- "this warning.");
+ "This file system is not supported. For further information see: "
+ "http://dochub.mongodb.org/core/unsupported-filesystems Please notify MongoDB, "
+ "Inc. if an unlisted filesystem generated this warning");
_warnedAboutFilesystem = true;
}
} else {
@@ -239,7 +235,8 @@ void StorageEngineLockFile::clearPidAndUnlock() {
int errorcode = errno;
LOGV2(22280,
"couldn't remove fs lock {errnoWithDescription_errorcode}",
- "errnoWithDescription_errorcode"_attr = errnoWithDescription(errorcode));
+ "Couldn't remove fs lock",
+ "error"_attr = errnoWithDescription(errorcode));
}
close();
}
diff --git a/src/mongo/db/storage/storage_engine_lock_file_windows.cpp b/src/mongo/db/storage/storage_engine_lock_file_windows.cpp
index 4dcf05d3995..85d0e0c303c 100644
--- a/src/mongo/db/storage/storage_engine_lock_file_windows.cpp
+++ b/src/mongo/db/storage/storage_engine_lock_file_windows.cpp
@@ -189,7 +189,10 @@ void StorageEngineLockFile::clearPidAndUnlock() {
// with StorageEngineLockFile::open().
Status status = _truncateFile(_lockFileHandle->_handle);
if (!status.isOK()) {
- LOGV2(22282, "couldn't remove fs lock {status}", "status"_attr = status.toString());
+ LOGV2(22282,
+ "couldn't remove fs lock {status}",
+ "Couldn't remove fs lock",
+ "error"_attr = status);
}
CloseHandle(_lockFileHandle->_handle);
_lockFileHandle->clear();
diff --git a/src/mongo/db/storage/storage_engine_metadata.cpp b/src/mongo/db/storage/storage_engine_metadata.cpp
index d72941ae68b..07b21b448e1 100644
--- a/src/mongo/db/storage/storage_engine_metadata.cpp
+++ b/src/mongo/db/storage/storage_engine_metadata.cpp
@@ -85,10 +85,10 @@ std::unique_ptr<StorageEngineMetadata> StorageEngineMetadata::forPath(const std:
metadata.reset(new StorageEngineMetadata(dbpath));
Status status = metadata->read();
if (!status.isOK()) {
- LOGV2_ERROR(22288,
- "Unable to read the storage engine metadata file: {status}",
- "status"_attr = status);
- fassertFailedNoTrace(28661);
+ LOGV2_FATAL_NOTRACE(28661,
+ "Unable to read the storage engine metadata file: {error}",
+ "Unable to read the storage engine metadata file",
+ "error"_attr = status);
}
}
return metadata;
@@ -222,8 +222,9 @@ void flushMyDirectory(const boost::filesystem::path& file) {
// massert(13652, str::stream() << "Couldn't find parent dir for file: " << file.string(),);
if (!file.has_branch_path()) {
LOGV2(22283,
- "warning flushMyDirectory couldn't find parent dir for file: {file_string}",
- "file_string"_attr = file.string());
+ "warning flushMyDirectory couldn't find parent dir for file: {file}",
+ "flushMyDirectory couldn't find parent dir for file",
+ "file"_attr = file.generic_string());
return;
}
@@ -244,14 +245,9 @@ void flushMyDirectory(const boost::filesystem::path& file) {
LOGV2_OPTIONS(
22285,
{logv2::LogTag::kStartupWarnings},
- "\tWARNING: This file system is not supported. For further information see:");
- LOGV2_OPTIONS(22286,
- {logv2::LogTag::kStartupWarnings},
- "\t\t\thttp://dochub.mongodb.org/core/unsupported-filesystems");
- LOGV2_OPTIONS(22287,
- {logv2::LogTag::kStartupWarnings},
- "\t\tPlease notify MongoDB, Inc. if an unlisted filesystem generated "
- "this warning.");
+ "This file system is not supported. For further information see: "
+ "http://dochub.mongodb.org/core/unsupported-filesystems Please notify MongoDB, "
+ "Inc. if an unlisted filesystem generated this warning");
_warnedAboutFilesystem = true;
}
} else {
diff --git a/src/mongo/db/storage/storage_repair_observer.cpp b/src/mongo/db/storage/storage_repair_observer.cpp
index 81340bd6e32..3252536b933 100644
--- a/src/mongo/db/storage/storage_repair_observer.cpp
+++ b/src/mongo/db/storage/storage_repair_observer.cpp
@@ -123,11 +123,11 @@ void StorageRepairObserver::_touchRepairIncompleteFile() {
boost::filesystem::ofstream fileStream(_repairIncompleteFilePath);
fileStream << "This file indicates that a repair operation is in progress or incomplete.";
if (fileStream.fail()) {
- LOGV2_FATAL_NOTRACE(
- 50920,
- "Failed to write to file {repairIncompleteFilePath_string}: {errnoWithDescription}",
- "repairIncompleteFilePath_string"_attr = _repairIncompleteFilePath.string(),
- "errnoWithDescription"_attr = errnoWithDescription());
+ LOGV2_FATAL_NOTRACE(50920,
+ "Failed to write to file {file}: {error}",
+ "Failed to write to file",
+ "file"_attr = _repairIncompleteFilePath.generic_string(),
+ "error"_attr = errnoWithDescription());
}
fileStream.close();
@@ -141,10 +141,10 @@ void StorageRepairObserver::_removeRepairIncompleteFile() {
if (ec) {
LOGV2_FATAL_NOTRACE(50921,
- "Failed to remove file {repairIncompleteFilePath_string}: {ec_message}",
- "repairIncompleteFilePath_string"_attr =
- _repairIncompleteFilePath.string(),
- "ec_message"_attr = ec.message());
+ "Failed to remove file {file}: {error}",
+ "Failed to remove file",
+ "file"_attr = _repairIncompleteFilePath.generic_string(),
+ "error"_attr = ec.message());
}
fassertNoTrace(50927, fsyncParentDirectory(_repairIncompleteFilePath));
}