When the data source connection string points to a non-existent server, the health check reports "The threshold for executing the request has exceeded." instead of a connection error.
Operators monitoring health endpoints cannot determine the root cause of an Unhealthy status. A threshold exceeded vs. connection failure require very different remediation actions.
Expected
The health check should report a connection-related exception, e.g.:
{
"status": "Unhealthy",
"name": "primary-sql-db",
"exception": "A network-related or instance-specific error occurred while establishing a connection to SQL Server.",
"tags": ["data-source"]
}
Actual
{
"status": "Unhealthy",
"name": "primary-sql-db",
"exception": "The threshold for executing the request has exceeded.",
"tags": ["data-source"],
"data": {"response-ms": 137, "threshold-ms": 1500}
}
The actual connection failure gets swallowed and replaced with a generic threshold message. This makes it impossible to distinguish between "database is slow" and "database is unreachable" from the health response alone.
When the data source connection string points to a non-existent server, the health check reports
"The threshold for executing the request has exceeded."instead of a connection error.Operators monitoring health endpoints cannot determine the root cause of an Unhealthy status. A threshold exceeded vs. connection failure require very different remediation actions.
Expected
The health check should report a connection-related exception, e.g.:
{ "status": "Unhealthy", "name": "primary-sql-db", "exception": "A network-related or instance-specific error occurred while establishing a connection to SQL Server.", "tags": ["data-source"] }Actual
{ "status": "Unhealthy", "name": "primary-sql-db", "exception": "The threshold for executing the request has exceeded.", "tags": ["data-source"], "data": {"response-ms": 137, "threshold-ms": 1500} }The actual connection failure gets swallowed and replaced with a generic threshold message. This makes it impossible to distinguish between "database is slow" and "database is unreachable" from the health response alone.