-
Notifications
You must be signed in to change notification settings - Fork 38.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When I upgrade the version of spring-boot-starter-webflux from 3.2.2 to 3.2.6, there is a problem with retryWhen() and block() #33567
Comments
I think it is related to netty web server. If I add spring-boot-starter-web (version 3.2.6) and switch the web server from netty to tomcat, there is no such problem. |
This is most likely linked to the Spring Framework version or the Reactor version. Can you try with your sample application with Spring Boot 3.2.2 and test with:
Doing so should point in the right direction. |
When i overrode the versions as you said, the problem did not recur.
|
My question was about overriding just one, then the other. This will tell us where the issue is. |
Sorry it's me - I didn't get that you didn't reproduce the problem with both overrides. It seems that dependency management is getting in the way here and it might be possible that your tests were not conclusive. Can you share a minimal sample application that reproduces the problem with Spring Boot 3.2.6 (ideally created with start.spring.io) and we'll take it from there? |
sure. |
Thanks for the sample application. With Spring Boot 3.2.3+, I'm getting the following exception:
I'm closing this issue as invalid. |
Hello team,
I find that when I upgrade the version of spring-boot-starter-webflux from 3.2.2 to 3.2.6, there is a problem with retryWhen() and block().
Below is my code:
Here is the specific phenomenon:
When I use webclient to call a non-existent uri and an 404 error occurs, block() and retryWhen() will asynchronously capture the error signal, causing my controller to return immediately. At the same time, there is an asynchronous thread executing the retry logic.
Before the retry logic is completed, block() captures the error signal.
What I expect is block() catches the error signal and then return after my retry logic is executed, just as version 3.2.2.
There's no such problem when i use version 3.2.2.
Looking forward to your reply. Thank u!
The text was updated successfully, but these errors were encountered: