Примеры ошибок, обнаруженных с помощью диагностики V8009
V8009. Two or more 'case' branches perform the same actions.
sub2api
V8009 Two or more case branches perform the same actions. ops_error_logger.go 1220
func classifyOpsErrorSource(phase string, message string) string {
// Standardized sources: client_request|upstream_http|gateway
switch phase {
case "upstream":
return "upstream_http"
case "network":
return "gateway" // <=
case "request", "auth":
return "client_request"
case "routing", "internal":
return "gateway" // <=
default:
if strings.Contains(strings.ToLower(message), "upstream") {
return "upstream_http"
}
return "gateway"
}
}
sub2api
V8009 Two or more case branches perform the same actions. ops_error_logger.go 1125
func classifyOpsPhase(errType, message, code string) string {
....
switch errType {
case "authentication_error":
return "auth"
case "billing_error", "subscription_error":
return "request" // <=
case "rate_limit_error":
if .... {
return "request"
}
return "upstream"
case "invalid_request_error":
return "request" // <=
case "upstream_error", "overloaded_error":
return "upstream"
case "api_error":
if strings.Contains(msg, opsErrNoAvailableAccounts) {
return "routing"
}
return "internal"
default:
return "internal"
}
}