[erlang-questions] release upgrades and code loading

Ivan Uemlianin ivan@REDACTED
Thu Feb 13 21:26:22 CET 2014


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 <paul.joseph.davis@REDACTED> 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 <moxford@REDACTED> 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 <ivan@REDACTED> wrote:
>>> 
>>> Sorry don't follow
>>> 
>>> --
>>> festina lente
>>> 
>>> 
>>> On 13 Feb 2014, at 19:35, Mike Oxford <moxford@REDACTED> 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 <ivan@REDACTED> 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 <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
>>>> ============================================================
>> 
>> 
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>> 



More information about the erlang-questions mailing list