[erlang-questions] release upgrades and code loading

Alexander Petrovsky <>
Sat Feb 15 13:20:04 CET 2014


Ivan, by the way for generate appup files you can use genappup -
http://www.echorussia.ru/erlang-releases.html


2014-02-13 23:26 GMT+03:00 Ivan Uemlianin <>:

> Paul's interpretation is what I was trying to do with this upgrade.
>
> Ivan
>
> --
> festina lente
>
>
> > On 13 Feb 2014, at 20:17, Paul Davis <>
> wrote:
> >
> > Mike, pretty sure its upgrading two apps to the same version.
> >
> > app1 is 20140211.1 -> 20140213.1
> > app2 is 20140207.1 -> 20140213.1
> >
> >> On Thu, Feb 13, 2014 at 1:59 PM, Mike Oxford <> wrote:
> >> It looks like you're trying to suspend version 20140213.1 and replace it
> >> with 20140213.1 (the same version.)
> >>
> >>
> >>
> >>> On Thu, Feb 13, 2014 at 11:51 AM, Ivan Uemlianin <>
> wrote:
> >>>
> >>> Sorry don't follow
> >>>
> >>> --
> >>> festina lente
> >>>
> >>>
> >>> On 13 Feb 2014, at 19:35, Mike Oxford <> wrote:
> >>>
> >>> [{"1.0.6",[],
> >>>   [{load_object_code,{app1,"20140213.1",[app1]}},
> >>>    {load_object_code,{app2,"20140213.1",[app2]}},
> >>>
> >>> Replacing a version with itself?
> >>>
> >>>
> >>>
> >>>> On Thu, Feb 13, 2014 at 11:03 AM, Ivan Uemlianin <>
> wrote:
> >>>>
> >>>> 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 <
> >>>>> <mailto:>> 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
> >>>>>
> >>>>>     <mailto:>
> >>>>>    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
> >>>>>     <mailto:>
> >>>>>    http://erlang.org/mailman/__listinfo/erlang-questions
> >>>>>    <http://erlang.org/mailman/listinfo/erlang-questions>
> >>>>
> >>>> --
> >>>> ============================================================
> >>>> 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
> >>>> ============================================================
> >>
> >>
> >> _______________________________________________
> >> erlang-questions mailing list
> >> 
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>



-- 
Петровский Александр / Alexander Petrovsky,

Skype: askjuise
Phone: +7 914 8 820 815
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140215/f10c325c/attachment.html>


More information about the erlang-questions mailing list