Details
-
Improvement
-
Status: Backlog
-
Major - P3
-
Resolution: Unresolved
-
None
-
None
-
Service Arch
Description
Any exception thrown while ending an ASIO session is currently absorbed by a log statement and never returned to the caller:
void end() override { |
if (getSocket().is_open()) { |
std::error_code ec;
|
getSocket().shutdown(GenericSocket::shutdown_both, ec);
|
if ((ec) && (ec != asio::error::not_connected)) { |
LOGV2_ERROR(23841, "Error shutting down socket: {error}", "Error shutting down socket", "error"_attr = ec.message()); |
}
|
}
|
}
|
We should investigate alternatives to improve handling of exceptions.
Attachments
Issue Links
- is related to
-
SERVER-58204 Instrumentation for socket lifecycle events
-
- Closed
-
-
SERVER-57639 Decrease the amount of logs emitted when closing a connection in v5.0
-
- Closed
-