Open
Description
Bug description
No exception is thrown when a 429 (Too Many Requests) error occurs. The application hangs indefinitely at the chatResponse
method invocation, waiting for it to return. This behavior likely applies to other errors as well.
Environment
- Spring AI: v1.0.0-M5
- LLM Provider: Azure OpenAI
Steps to reproduce
- Call the
chatResponse
method of the ChatClient when the rate limit is reached. - Observe that no exception is thrown, and the operation hangs indefinitely at the method call.
- The control does not proceed to the next line, potentially causing a memory leak or unresponsiveness in the application.
Note: No retry mechanism has been used.

Observed Behavior
The method does not throw any exception.
Control does not return from the chatResponse method, leading to an indefinite block.
Expected behavior
- An appropriate exception should be thrown when a 429 error occurs, allowing it to be caught in a try-catch block.
- Alternatively, the control should proceed to the next line, enabling developers to handle the error gracefully.
Additional Context
This issue is critical as it blocks operations and can lead to resource leaks. Is there any configuration or workaround available to handle this scenario until a fix is provided?