Application structure

Wiger Ulf ulf.wiger@REDACTED
Mon Apr 21 10:28:07 CEST 2003

From: "Lennart Öhman" <lennart.ohman@REDACTED>

> Applications are the smallest piece which is handled by the release-
> handler. Hence the smallest piece which can be replaced.

... by the release handler.  ;-)  (I know that's what you meant.)

The release handler provides ways to upgrade a collection of applications
(a system) in an orderly fashion. This includes performing a synchronized
upgrade across nodes in a multi-node(*) system. The release handler
also supports reversal of an upgrade, so that one can fall back to the
last stable version if something goes wrong.

An erlang module can of course be replaced by simply loading a new
version, but this is only safe under special circumstances (e.g. if the
module does not contain a representation of internal process state which
changes during the upgrade, and if the interface of the module doesn't
change.) This method of replacing code is of course still extremely
useful and used extensively during development and testing.


(*) as in Erlang node.

More information about the erlang-questions mailing list