Pivotal Knowledge Base

Follow

Issues when upgrading RabbitMQ instances to Erlang 20

Environment

RabbitMQ versions up to and including 3.6.10

Erlang 20

Symptom

The RabbitMQ team recently discovered an incompatibility introduced in the newest version of Erlang - v 20. This incompatibility can result in the loss of data for RabbitMQ users. Users who upgrade Erlang to version 20 will face a loss of data. It affects any RabbitMQ version up to and including 3.6.10, regardless of the installation method.

Cause

Unfortunately, Erlang 20 changes include breaking changes that affect the way Erlang data structures are serialized to binary data. This is critically important to RabbitMQ. The RabbitMQ Engineering team is looking into what kind of changes may be necessary to support Erlang 20 in a future release.

Warning

Do not upgrade to Erlang 20

Upgrades to Erlang/OTP 20 are not supported by RabbitMQ as of June 2017

We will update this article whenever there is a new development concerning Erlang 20. 

Additional Information

Note that certain Linux distribution switched the default Erlang version to OTP 20 in the last few weeks, making package managers install it by default. We recommend pinning Erlang package to 19.3 (or an earlier supported version) so that you don't get unexpected upgrades to OTP 20.

New installations (without any existing data) can use OTP 20 today.

See Debian and CentOS installation guides for details.

Comments

Powered by Zendesk