fix: keep pod log streams alive
This commit is contained in:
@@ -40,10 +40,19 @@ function logError(error: unknown): KubernetesLogError {
|
||||
error && typeof error === "object" && "code" in error
|
||||
? error.code
|
||||
: undefined;
|
||||
const transientNetworkCodes = new Set([
|
||||
"ECONNRESET", "ETIMEDOUT", "EPIPE", "ECONNREFUSED", "EHOSTUNREACH",
|
||||
"ENETUNREACH", "ECONNABORTED", "EAI_AGAIN", "UND_ERR_SOCKET",
|
||||
"UND_ERR_CONNECT_TIMEOUT",
|
||||
]);
|
||||
const message = error instanceof Error ? error.message : "";
|
||||
return new KubernetesLogError(
|
||||
error instanceof Error ? error.message : "Kubernetes log request failed",
|
||||
code === undefined &&
|
||||
(status === undefined || status === 408 || status === 429 || status >= 500),
|
||||
typeof code === "string"
|
||||
? transientNetworkCodes.has(code)
|
||||
: status === undefined && /socket hang up|socket closed/i.test(message)
|
||||
? true
|
||||
: status === undefined || status === 408 || status === 429 || status >= 500,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user