-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Diagnostics
-
None
-
Fully Compatible
-
Service Arch 2021-05-03
-
27
We should increase the severity of tripwire assertions (e.g., to LOGV2_ERROR) when testing diagnostics are enabled. Current implementation logs the incident and only logs an error message when the process terminates:
void tassertFailed(const Status& status, SourceLocation loc) { assertionCount.condrollover(assertionCount.tripwire.addAndFetch(1)); LOGV2(TRIPWIRE_ASSERTION_ID, "Tripwire assertion", "error"_attr = status, "location"_attr = SourceLocationHolder(std::move(loc))); breakpoint(); error_details::throwExceptionForStatus(status); }
This complicates diagnostics as the line that warns about the failure doesn't have any information about the real cause of failure, and often the log line with details on the failure are stored in separate log files.