[erlang-questions] release upgrades and code loading
Ivan Uemlianin
ivan@REDACTED
Thu Feb 13 20:03:24 CET 2014
Dear Mike
Thanks for your help.
Here's a recent relup. After this upgrade, I had to manually code_load
and purge app1:
{"1.0.7",
[{"1.0.6",[],
[{load_object_code,{app1,"20140213.1",[app1]}},
{load_object_code,{app2,"20140213.1",[app2]}},
point_of_no_return,
{suspend,[app1]},
{load,{app1,brutal_purge,brutal_purge}},
{code_change,up,[{app1,[from1to2]}]},
{resume,[app1]},
{suspend,[app2]},
{load,{app2,brutal_purge,brutal_purge}},
{code_change,up,[{app2,[from1to2]}]},
{resume,[app2]}]}],
[{"1.0.6",[],
[{load_object_code,{app1,"20140211.1",[app1]}},
{load_object_code,{app2,"20140207.1",[app2]}},
point_of_no_return,
{suspend,[app1]},
{code_change,down,[{app1,[from2to1]}]},
{load,{app1,brutal_purge,brutal_purge}},
{resume,[app1]},
{suspend,[app2]},
{code_change,down,[{app2,[from2to1]}]},
{load,{app2,brutal_purge,brutal_purge}},
{resume,[app2]}]}]}.
Best wishes
Ivan
On 13/02/2014 18:54, Mike Oxford wrote:
> Is your brutal_purge on the PostPurge or the PrePurge?
>
>
> On Thu, Feb 13, 2014 at 10:00 AM, Ivan Uemlianin <ivan@REDACTED
> <mailto:ivan@REDACTED>> wrote:
>
> 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
> <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
>
> ivan@REDACTED <mailto:ivan@REDACTED>
> www.llaisdy.com <http://www.llaisdy.com>
> llaisdy.wordpress.com <http://llaisdy.wordpress.com>
> github.com/llaisdy <http://github.com/llaisdy>
> www.linkedin.com/in/__ivanuemlianin
> <http://www.linkedin.com/in/ivanuemlianin>
>
> festina lente
> ==============================__==============================
> _________________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/__listinfo/erlang-questions
> <http://erlang.org/mailman/listinfo/erlang-questions>
>
>
--
============================================================
Ivan A. Uemlianin PhD
Llaisdy
Speech Technology Research and Development
ivan@REDACTED
www.llaisdy.com
llaisdy.wordpress.com
github.com/llaisdy
www.linkedin.com/in/ivanuemlianin
festina lente
============================================================
More information about the erlang-questions
mailing list