-
Notifications
You must be signed in to change notification settings - Fork 40.8k
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
Checkpoint-restore with WebFlux and Undertow does not work when graceful shutdown is enabled #43655
Comments
This doesn't look like a regression to me as it also fails (although perhaps differently) with Boot 3.3.x when graceful shutdown is enabled:
|
With Boot 3.4.1, I'm seeing the same behavior as Boot 3.3.x when graceful shutdown is enabled. The checkpoint works, the app starts successfully upon restore, and then rejects requests with a 503. This happens because Undertow's |
For the automatic checkpoint/restore at startup use case where For the on-demand checkpoint/restore of a running application, I think graceful shutdown makes more sense, so maybe I could create a related |
After updating https://github.com/spring-projects/spring-lifecycle-smoke-tests to run tests against Spring Boot 3.4.x, I have noticed that
framework:webflux-undertow:checkpointRestoreAppTest
is broken with Boot 3.4.x while still green with Boot 3.3.x, even if both are using the same Undertow version with the following error:While discussing with @snicoll about what could caused that, he mentioned that Spring Boot 3.4.x enables graceful shutdown by default, so I tried
server.shutdown=immediate
and found that it fixes the test.Could the Spring Boot team see if we could avoid this regression and keep WebFlux + Undertow CRaC support working out of the box? I suspect that when graceful shutdown is enabled, it is not finished when JVM checkpoint is invoked, letting the socket in a bad state, hence the error above.
The text was updated successfully, but these errors were encountered: