[erlang-questions] release upgrades and code loading

Ivan Uemlianin <>
Thu Feb 13 19:00:06 CET 2014


Dear All

I am just getting started with live release upgrades, using relx and 
following this tutorial:

   http://blog.troutwine.us/2013/09/13/trivial_otp_releases.html

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


-- 
============================================================
Ivan A. Uemlianin PhD
Llaisdy
Speech Technology Research and Development

                     
                      www.llaisdy.com
                          llaisdy.wordpress.com
               github.com/llaisdy
                      www.linkedin.com/in/ivanuemlianin

                         festina lente
============================================================



More information about the erlang-questions mailing list