Details
-
Improvement
-
Resolution: Duplicate
-
Major - P3
-
None
-
None
-
None
-
Service Arch
-
Service Arch Prioritized List
Description
The current implementation of our assertions could be susceptible to counting a unique exception multiple times, due to not considering the origin of the exception. Consider the following as an example:
auto future = []() -> Future<void> { |
try { |
uassert(someFuncThatReturnsStatus());
|
return Status::OK(); |
}
|
catch (const DBException& ex) { |
return ex.toStatus(); |
}
|
}();
|
auto status = future.getNoThrow();
|
uassert(status);
|
We'll bump the counter for user-assertions twice, although there's only one exception in this code-path. We should consider the origin of the exception when counting assertions, to make the metrics more reliable.
Attachments
Issue Links
- is related to
-
SERVER-60647 Increase of user assertions in 5.0.x
-
- Backlog
-
-
SERVER-73524 Report a histogram of error codes rather than just an error counter in serverStatus
-
- Open
-
- related to
-
SERVER-78458 Allow statuses/assertions to have both a named error code and a unique number
-
- Closed
-