Skip to content
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

Actors: support "hot method replace" for debugging/development #13

Open
dgrove-oss opened this issue Jan 21, 2021 · 1 comment
Open

Comments

@dgrove-oss
Copy link
Member

Liberty can detect changes to class files and automatically unload/reload the associate web application:

Changes to servlets and related classes
If you change a servlet and save the file while the server is running, the servlet is reloaded, if you enable reloading for that application. When the server runs hot method replace1, the changes take place automatically without needing to refresh the browser. The server recognizes the change when publishing the application on the server. If you refresh the web browser, the state of the application is not lost.

When the servlet is currently connected to a sidekar, common state such as the existence of specific actor instances between Kar and Java is no longer consistent. The only way to make them consistent again is for Kar to clean up all actor state as well on servlet reload.

For example, on startup the servlet could make a request to Kar to clean actor state.

@dgrove-oss
Copy link
Member Author

dgrove-oss commented Sep 9, 2021

Same general issue applies to Quarkus when running in dev mode. The application server will load new versions of actor code in the running process; we need to update the ActorManager's state appropriately so future invokes will use the new code.

@dgrove-oss dgrove-oss changed the title Add support for liberty "hot method replace" Actors: support "hot method replace" for debugging/development Sep 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant