fix(provider-pool): 修正标记不健康提供者时的错误状态判断
将标记不健康提供者时的状态检查从 `status === 400` 改为 `error.code === 400`,确保正确识别客户端错误。同时在标记时传递错误信息给 `markProviderUnhealthy` 方法,以提供更详细的故障原因。
This commit is contained in:
parent
138bd122cd
commit
a7b29d9d48
1 changed files with 5 additions and 5 deletions
|
|
@ -494,14 +494,14 @@ export async function handleStreamRequest(res, service, model, requestBody, from
|
|||
// 如果底层未标记,且不跳过错误计数,则在此处标记
|
||||
if (!credentialMarkedUnhealthy && !skipErrorCount && providerPoolManager && pooluuid) {
|
||||
// 400 报错码通常是请求参数问题,不记录为提供商错误
|
||||
if (status === 400) {
|
||||
if (error.code === 400) {
|
||||
logger.info(`[Provider Pool] Skipping unhealthy marking for ${toProvider} (${pooluuid}) due to status 400 (client error)`);
|
||||
} else {
|
||||
logger.info(`[Provider Pool] Marking ${toProvider} as unhealthy due to stream error (status: ${status || 'unknown'})`);
|
||||
// 如果是号池模式,并且请求处理失败,则标记当前使用的提供者为不健康
|
||||
providerPoolManager.markProviderUnhealthy(toProvider, {
|
||||
uuid: pooluuid
|
||||
});
|
||||
}, error.message);
|
||||
credentialMarkedUnhealthy = true;
|
||||
}
|
||||
} else if (credentialMarkedUnhealthy) {
|
||||
|
|
@ -695,14 +695,14 @@ export async function handleUnaryRequest(res, service, model, requestBody, fromP
|
|||
// 如果底层未标记,且不跳过错误计数,则在此处标记
|
||||
if (!credentialMarkedUnhealthy && !skipErrorCount && providerPoolManager && pooluuid) {
|
||||
// 400 报错码通常是请求参数问题,不记录为提供商错误
|
||||
if (status === 400) {
|
||||
if (error.code === 400) {
|
||||
logger.info(`[Provider Pool] Skipping unhealthy marking for ${toProvider} (${pooluuid}) due to status 400 (client error)`);
|
||||
} else {
|
||||
logger.info(`[Provider Pool] Marking ${toProvider} as unhealthy due to unary error (status: ${status || 'unknown'})`);
|
||||
// 如果是号池模式,并且请求处理失败,则标记当前使用的提供者为不健康
|
||||
providerPoolManager.markProviderUnhealthy(toProvider, {
|
||||
uuid: pooluuid
|
||||
});
|
||||
}, error.message);
|
||||
credentialMarkedUnhealthy = true;
|
||||
}
|
||||
} else if (credentialMarkedUnhealthy) {
|
||||
|
|
@ -814,7 +814,7 @@ export async function handleModelListRequest(req, res, service, endpointType, CO
|
|||
// 如果是号池模式,并且请求处理失败,则标记当前使用的提供者为不健康
|
||||
providerPoolManager.markProviderUnhealthy(toProvider, {
|
||||
uuid: pooluuid
|
||||
});
|
||||
}, error.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue