[erlang-questions] Is it safe to use both 5.7.0 and 5.7.1 VMs in one cluster?

1 view
Skip to first unread message

Sergey Samokhin

unread,
Jul 19, 2009, 3:11:36 PM7/19/09
to Erlang-Questions
Hello!

Is it safe to build an erlang cluster from aplications running under
different VMs: say, 5.7.1 and 5.7.0?

Let's suppose that I don't make use any specific features introduced
in 5.7.1. The only things I'm interested in are communication by using
standard RPC functions, mnesia compatibility (e.g. will using
transactions still be safe when working in in such a "heterogeneous"
cluster?) and standard net_kernel features set. Will there be any
problems if I decide to mix VMs with different versions?

Programming Erlang book says that we should avoid doing that: "Make
sure that both systems have the same version of the code <skipped> And
the same version of Erlang. If you don’t do this, you’ll get serious
and mysterious errors."

Buy I've heard that there is backward compatibility between the two
latest major releases.

Thanks.

--
Sergey Samokhin

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Sergey Samokhin

unread,
Jul 19, 2009, 3:45:39 PM7/19/09
to Erlang-Questions
I can explain why I need to be sure that a cluster I've built on top
of different VMs is working right and when I may have different
versions of VM working together.

The only way I see to move my cluster between defferent releases of
Erlang/OTP without taking it out of service is by stopping one by one
all the nodes involved with further upgrading emulators they are
using. So to upgrade the whole cluster I should do something like
this:

1) [5.7.0]---[5.7.0]
2) [5.7.1]---[5.7.0]
3) [5.7.1]---[5.7.1]

Before stopping a node one should make sure that functionality it
provides is available on another node (if necessary).

mats cronqvist

unread,
Jul 20, 2009, 5:10:29 AM7/20/09
to Sergey Samokhin, Erlang-Questions
Sergey Samokhin <prik...@gmail.com> writes:

> Hello!
>
> Is it safe to build an erlang cluster from aplications running under
> different VMs: say, 5.7.1 and 5.7.0?

Historically, VM's have been backwards compatible with the previous
major version. So R14's are pretty much guaranteed to be able to talk
to R13's, but might not be able to talk to R12's. (Just an example, I
have no idea what R14 will actually do.)

mats

Kenneth Lundin

unread,
Jul 20, 2009, 3:06:59 PM7/20/09
to mats cronqvist, Sergey Samokhin, Erlang-Questions
Hi,

On Mon, Jul 20, 2009 at 11:10 AM, mats cronqvist<ma...@kreditor.se> wrote:
> Sergey Samokhin <prik...@gmail.com> writes:
>
>> Hello!
>>
>> Is it safe to build an erlang cluster from aplications running under
>> different VMs: say, 5.7.1 and 5.7.0?

Yes it is safe to do that during an upgrade phase but we don't really recommend
running continuously with different versions of the Erlang VM in a
cluster using distributed Erlang.


>
>  Historically, VM's have been backwards compatible with the previous
>  major version. So R14's are pretty much guaranteed to be able to talk
>  to R13's, but might not be able to talk to R12's. (Just an example, I
>  have no idea what R14 will actually do.)

Our strategy has been an still is to be backward compatible with 2
older major versions of
Erlang/OTP when it comes to distributed Erlang. This means that Erlang
nodes based on R13B (01, 02, ...) will be able to work together with
R11B and R12B based nodes and of course R13B works well together with
R13B01, 02, ... as well. When R14B is released
it will be able to work together with nodes based on R12B and R13B.

The interoperability between nodes based on different major versions
of the Erlang VM is a necessity for smooth upgrade of a cluster (one
node at a time) but the intention is
to use this just for the purpose of upgrade and not for normal service
of a cluster.

Regards Kenneth Erlang/OTP, Ericsson

If there are any exceptions to this strategy we will clearly say so in
the release notes.

Sergey Samokhin

unread,
Jul 20, 2009, 3:43:14 PM7/20/09
to Kenneth Lundin, mats cronqvist, Erlang-Questions
Hello, Kenneth.

Thanks for the detailed answer.

--
Sergey Samokhin

Reply all
Reply to author
Forward
0 new messages