You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As such, what's happening is that the user makes a change, hits reload, but it's probably taking too long, so they hit reload again, and the second connection is served while the first is still handling the hot reload.
But midway during the request serving, the reload is happening and we're shutting down the Arc Container so the request fails with a really weird and confusing exception.
I could fix the symptom, but that's a waste of time because other applications would fail in different ways.
We could either make new connections (after the hot reload started) wait for the hot reload to be finished, or we could make them serve an error page mentioning that a hot reload is in progress. I suspect the first option is more user-friendly.
Edit HelloResource.java and change "Hello from Quarkus REST" (save the file)
Go back to the browser, press F5 so it will refresh BUT before it finishes the refresh/live-reload press again F5 fast. (If you just press once the F5 it works as expected)
This should be easy to reproduce with a hot reload test if we make sure the reload takes an artificially long time (not sure how, perhaps a 1s sleep during a custom build step, or a startup bean?).
The text was updated successfully, but these errors were encountered:
In quarkiverse/quarkus-renarde#266 a user reported an issue which happens when triggering multiple connections during a live reload.
Apparently, according to
quarkus/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/VertxHttpHotReplacementSetup.java
Line 144 in c183b3d
quarkus/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/devmode/VertxHttpHotReplacementSetup.java
Lines 147 to 208 in c183b3d
As such, what's happening is that the user makes a change, hits reload, but it's probably taking too long, so they hit reload again, and the second connection is served while the first is still handling the hot reload.
But midway during the request serving, the reload is happening and we're shutting down the Arc Container so the request fails with a really weird and confusing exception.
I could fix the symptom, but that's a waste of time because other applications would fail in different ways.
We could either make new connections (after the hot reload started) wait for the hot reload to be finished, or we could make them serve an error page mentioning that a hot reload is in progress. I suspect the first option is more user-friendly.
To reproduce:
mvn quarkus:dev
HelloResource.java
and change "Hello from Quarkus REST" (save the file)This should be easy to reproduce with a hot reload test if we make sure the reload takes an artificially long time (not sure how, perhaps a 1s sleep during a custom build step, or a startup bean?).
The text was updated successfully, but these errors were encountered: