v0.32.7
This commit is contained in:
1 parent
4f36de240c
commit
c41d1e00a2
18 files changed
+228
-336
No files matched your search
@@ -22,16 +22,18 @@
|
||||
let elapsed = upstream_started.elapsed();
|
||||
let connect_failure = cause.is_connect();
|
||||
let detail = upstream_failure_detail(&cause, &active_backend, elapsed, connect_failure);
|
||||
let failure_class =
|
||||
upstream_health_error_class(&cause, connect_failure, &active_backend);
|
||||
let graceful_h2_close = matches!(
|
||||
failure_class,
|
||||
"h2_graceful_goaway" | "h2_graceful_close"
|
||||
);
|
||||
if let Some(exchange) = &exchange {
|
||||
exchange.websocket_error("upstream_request_failed", "upstream_http_error");
|
||||
*exchange.upstream_error.lock().unwrap_or_else(|e| e.into_inner()) = Some(detail.clone());
|
||||
}
|
||||
if let Some(lease) = &active_lease {
|
||||
lease.error_detail(
|
||||
upstream_health_error_class(&cause, connect_failure, &active_backend),
|
||||
&detail,
|
||||
final_attempt_elapsed,
|
||||
);
|
||||
lease.error_detail(failure_class, &detail, final_attempt_elapsed);
|
||||
}
|
||||
if connect_failure {
|
||||
tracing::warn!(
|
||||
@@ -43,6 +45,17 @@
|
||||
error = %detail,
|
||||
"upstream connection failed"
|
||||
);
|
||||
} else if graceful_h2_close {
|
||||
// Correlated GOAWAY(NO_ERROR) is expected connection churn. Keep
|
||||
// failed requests visible as 502/access-log entries, but avoid
|
||||
// repeating their verbose diagnostic at DEBUG severity.
|
||||
tracing::trace!(
|
||||
backend = %active_backend.id,
|
||||
origin = %active_backend.origin,
|
||||
elapsed_ms = elapsed.as_millis(),
|
||||
error = %detail,
|
||||
"upstream H2 graceful close left an unrecovered request"
|
||||
);
|
||||
} else {
|
||||
tracing::debug!(
|
||||
backend = %active_backend.id,
|
||||
|
||||
Reference in new issue
Block a user