[erlang-questions] release upgrades and code loading
Thu Feb 13 19:00:06 CET 2014
I am just getting started with live release upgrades, using relx and
following this tutorial:
Everything seems to work as advertised, except sometimes I need to
explicitly load the code into the running vm (i.e., using
code_load_file/1) for the new stuff to take effect. The function
release_handler:which_releases/0 reports the new release as active and
permanent, but I can see from behaviour that old versions of certain
modules are still running and handling data.
I can't be much more specific I'm afraid. One example: one application
uses cowboy. If a release upgrade changes a cowboy resource module, the
new release version might still be running the old version of that
module until I load_file and purge.
Why might this be happening? Am I missing something in the packaging
and upgrade process? Is there a better way I can write my modules?
If the information above is too vague, what should I look out for next
time this happens?
With thanks and best wishes
Ivan A. Uemlianin PhD
Speech Technology Research and Development
More information about the erlang-questions