Hot upgrade and systool/reltool + release_handler?

Just started to work with Erlang and one of requirements for me is to learn about Hot Upgrade.

Currently I’m on a stage when I’m successfully creating tarballs using systool/reltool and can install and upgrade my release using release_handler.

Now to the question: I only found some theoretical information about hot upgrades. Was not able to find much information about practical implementation of the procedure in relation to release_handler. Does the tool supports hot upgrade? Can it be trusted?

Other than that - I’d love to read more about Hot upgrades and release_handler. For now I’m puzzled by some aspects of it’s operations. Maybe I just do not understand the logic? Maybe I just use it incorrectly?

Just for example: in directory bin/ of my tarball I only have following files: epmd, erl, start.boot. I can start erl and this gets me to erlang shell with my application loaded and started. But I see no options to make my application running permanently. Not asking for commandline but for some place where I can read about tarballs made with reltool: how to properly work with it, how to approach upgrades, starts/stops and other operations.

Thanks

1 Like

Have a look at chapter 12 in Designing for Scalability with Erlang/OTP [1]. It’s a great book!

\Frans

[1] Designing for Scalability with Erlang/OTP by Francesco Cesarini, Steve Vinoski

2 Likes

If it can be of any help, in My favorite Erlang Container I show how to do release upgrades with rebar3 and some plugins, and integrate it with CI and then Kubernetes with a workaround to make containers mutable for continuous delivery (this last bit is quite a hack).

4 Likes

Thanks, but I have a rule “no rebar3” :smiley: Not my choice but I’m to play with it. Only systool/reltool/release_handler

1 Like