[erlang-questions] SOLVED (I think) Re: release upgrades and code loading

Ivan Uemlianin <>
Sat Feb 15 15:29:25 CET 2014


Dear Alexander

Thanks very much for your intervention. Some of the appup files do not correctly list the app's updated modules. Presumably that is behind the wonky release upgrades.

Best wishes

Ivan


--
festina lente


> On 15 Feb 2014, at 12:20, Alexander Petrovsky <> wrote:
> 
> 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/d603c628/attachment.html>


More information about the erlang-questions mailing list