RabbitMQ 3.5.3
Release Highlights
Server
Enhancements
- If
rabbitmqctl
can't contact a node, suggest to verify any Erlang TLS distribution configuration (#162).
Bug fixes
-
Ensure the memory monitor is fully started before the file handle cache is used (since 3.5.2, #157). Before, the problem could lead to the following crash during RabbitMQ startup:
=CRASH REPORT==== ... === crasher: initial call: gen:init_it/6 pid: <0.229.0> registered_name: [] exception exit: {noproc, {gen_server,call, [vm_memory_monitor,get_memory_limit,infinity]}} in function gen_server2:terminate/3 ...
Thanks to Carl Hörberg and Gilles Danycan for the bug report!
Plugin: Management UI
Bug fixes
-
Fix a crash during RabbitMQ startup if
force_fine_statistics
is set inrabbitmq_management_agent
configuration (since 3.5.2, rabbitmq/rabbitmq-management-agent#4). The error was:BOOT FAILED =========== Error description: {could_not_start,rabbit, {{case_clause,false}, [{rabbit_mgmt_db_handler,ensure_statistics_enabled,0,[]}, ...
Thanks to Kevin Blackwell for the bug report!
Documentation
- When the management UI warns about network partitions, add a link to the documentation which gives explanations and possible solutions (rabbitmq/rabbitmq-management#43).
Client library: Java
Bug fixes
- During handshake, await on continuations with a timeout (rabbitmq/rabbitmq-java-client#65). Unfortunately, this change breaks the API. Thanks to @jhalterman for the bug report and testing!
Feature deprecation
-
Deprecate
com.rabbitmq.client.Channel
methods related to the old flow control (rabbitmq/rabbitmq-java-client#59):boolean flowBlocked(); void addFlowListener(FlowListener listener); boolean removeFlowListener(FlowListener listener); void clearFlowListeners();
Documentation
- Revisit
com.rabbitmq.client.Channel
documentation (rabbitmq/rabbitmq-java-client#60, rabbitmq/rabbitmq-java-client#30, rabbitmq/rabbitmq-java-client#32). - Improve documentation around recovery listeners (rabbitmq/rabbitmq-java-client#35).
Building and packaging
Bug fixes
- When updating Git remote URLs, use
git set-url ...
to set the fetch URL, notgit set-url --fetch ...
(since 3.5.1).
Upgrading
To upgrade a non-clustered RabbitMQ simply install the new version. All configuration and persistent message data are retained.
To upgrade a RabbitMQ cluster, follow the instructions at:
http://www.rabbitmq.com/clustering.html#upgrading.
Source code archives
Warning: The source code archives provided by GitHub only contain the source of the broker, not the plugins or the client libraries. Please download the archives available from the official download page:
http://www.rabbitmq.com/download.html