Ruby RabbitMQ clients blog

News and updates about various Ruby clients for RabbitMQ

Bunny 0.9.0.pre9 Is Released

TL;DR

Bunny 0.9.0.pre9 is released to rubygems.org.

This is a bug fix release. It is 100% backwards compatible.

Changes between Bunny 0.9.0.pre8 and 0.9.0.pre9

Most of the work in this release has gone into investigating and fixing issues that manifested in a high CPU usage spike. In some cases, the issue turned out to be system-specific (e.g. a leap second bug that affected certain kernels and environments such as OpenVZ).

More Reliable Heartbeat Sender

Heartbeat sender no longer slips into an infinite loop if it encounters an exception. Instead, it will just stop (and presumably re-started when the network error recovery kicks in or the app reconnects manually).

Network Recovery After Delay

Network reconnection now kicks in after a delay to avoid aggressive reconnections in situations when we don’t want to endlessly reconnect (e.g. when the connection was closed via the Management UI).

The :network_recovery_interval option passed to Bunny::Session#initialize and Bunny.new controls the interval. Default is 5 seconds.

Default Heartbeat Value Is Now Server-Defined

Bunny will now use heartbeat value provided by RabbitMQ by default.

Plans for 0.9.0 Final

There is still a few things we need to do before Bunny 0.9 can be declared complete:

  • Add logging
  • Finish TLS support
  • Make network failure recovery even more flexible

Michael on behalf of the Ruby RabbitMQ Clients Team