发布

  • [OPIK-4743] [BE] Add ClientErrorException as non-retryable in BaseRedisSubscriber (#5548)

    frostbyte_neo 发布于 2026-03-06 15:14:42 +00:00

    When an LLM call fails with a 4xx error (e.g., invalid API key → 401),
    ChatCompletionService throws ClientErrorException. Previously this was
    not in NON_RETRYABLE_EXCEPTIONS so messages would retry up to 3 times,
    growing the Redis stream unnecessarily.

    Now isRetryableException() also checks for instanceof ClientErrorException,
    covering all 4xx subclasses (BadRequest, Unauthorized, Forbidden, etc.).
    ServerErrorException (5xx) remains retryable for transient server failures.

    下载附件