VMware

vFabric RabbitMQ 3.2 Release Notes

vFabric RabbitMQ 3.2.2 | 07 JAN 2014
vFabric RabbitMQ 3.2.1 | 19 NOV 2013
vFabric RabbitMQ 3.2.0 | 05 NOV 2013

Last Document Update: 10 DEC 2013

What's in the Release Notes

These release notes cover the following topics:

What's New in vFabric RabbitMQ 3.2

VMware® vFabric RabbitMQ™, a commercial product, is based on open-source RabbitMQ, which sometimes releases more frequently than the commercial offering. A particular release of vFabric RabbitMQ, such as 3.2.0, is based on the same version of open-source RabbitMQ, and also incorporates all enhancements and fixes that were added to releases of RabbitMQ since the last vFabric RabbitMQ release.

See Server Changelog for the complete set of open-source RabbitMQ release notes. For complete information about vFabric RabbitMQ 3.2, see the vFabric RabbitMQ documentation.

What's New in vFabric RabbitMQ 3.2.2

vFabric RabbitMQ 3.2.2 is based on the open-source release 3.2.2. RabbitMQ 3.2.2 is a maintenance fix release. See Resolved Issues in RabbitMQ 3.2.2 for a list of fixes in this release.

vFabric RabbitMQ 3.2.2 includes JMS Client for vFabric RabbitMQ 1.1.2. See What's New in JMS Client for vFabric RabbitMQ 1.1.2 for details.

What's New in vFabric RabbitMQ 3.2.1

vFabric RabbitMQ 3.2.1 is based on the open-source release 3.2.1. RabbitMQ 3.2.1 is a maintenance fix release. See Resolved Issues in RabbitMQ 3.2.1 for a list of fixes in this release.

vFabric RabbitMQ 3.2.1 includes JMS Client for vFabric RabbitMQ 1.1.1. See What's New in JMS Client for vFabric RabbitMQ 1.1.1 for details.

What's New in vFabric RabbitMQ 3.2.0

vFabric RabbitMQ 3.2.0 is based on the open-source release 3.2.0. RabbitMQ 3.2.0 includes the following changes and enhancements:

What's New in JMS Client for vFabric RabbitMQ 1.1

JMS Client for RabbitMQ, included with vFabric RabbitMQ, is an implementation of the JMS 1.1 specification that allows JMS applications to use RabbitMQ messaging. For complete information about JMS Client for RabbitMQ, see Using the JMS Client for vFabric RabbitMQ in the vFabric RabbitMQ documentation. For information about JMS Client compatibility with other RabbitMQ components, see JMS Client and RabbitMQ Server Compatibility.

What's New in JMS Client for vFabric RabbitMQ 1.1.2

JMS Client for vFabric RabbitMQ 1.1.2 upgrades to the RabbitMQ 3.2.2 client and broker and has a very small number of fixes.

There are some internal changes in this release, whereby the plugin no longer has to validate the SQL syntax and type rules of the selector string. The parsing and type checking of the string are now performed completely in the client. (The checking is repeated in the plugin in this release to interpret it in Erlang). This makes invalid SQL easier and quicker to spot. In the near future, the interface to the plugin will change. The client will deliver an Erlang term to be interpreted on each selection clause.

As a side-effect of this work, some errors were discovered in the selector parsing and interpretation that have been corrected, and some changes were made to the compile and validate implementation to simplify some type checking.

  • Client. Selector parsing and validation now performed early in the client (see the paragraphs above).
  • Client. JMSDeliveryMode message property is no longer treated as a sort of 'enumerated type' but just a string. Some selectors previously rejected will be accepted, although they will evaluate to false.
  • Client. Some private channels to rabbitmq-server from the client are now unnecessary and are no longer created.
  • Plugin. In and not in selector operations failed type-checking. These now operate correctly
  • Plugin. Like and not like selector operations had minor failure cases. These are now corrected
  • Plugin. Augment like and not like selector operations to receive un-compiled expressions in compiled version (prepares for plugin-in changes in next release)

What's New in JMS Client for vFabric RabbitMQ 1.1.1

JMS Client for vFabric RabbitMQ 1.1.1 upgrades to the RabbitMQ 3.2.1 client and broker, and builds and tests the plugin against Erlang R14B04, for earlier compatibility. There are no other changes since 1.1.0.

What's New in JMS Client for vFabric RabbitMQ 1.1.0

JMS Client for vFabric RabbitMQ 1.1.0 includes the following changes and enhancements:

Resolved Issues in vFabric RabbitMQ 3.2

Note: VMware® vFabric RabbitMQ™, a commercial product, is based on open source RabbitMQ, which releases more frequently than the commercial offering. vFabric RabbitMQ 3.2.x releases are based on the prior open source release 3.2.x and incorporate all fixes that were added to open source RabbitMQ 3.2.x. The following sections highlight some of those fixes and provide links to the complete release notes, on the open source site, for RabbitMQ 3.2.0 and later.

Resolved Issues in RabbitMQ 3.2.2

This release includes internal changes that transfer some plugin function to the client, which should not result in any external changes. As a side-effect of this work, some errors were corrected in topic selectors, and some overheads in the implementation were eliminated.

Client

  • Selector parsing and validation now performed in the client rather than in the plugin.
  • The JMSDeliveryMode message property is now treated as a string. Some selectors previously rejected will be accepted, although they will evaluate to false.
  • Some private channels to rabbitmq-server from the client are no longer created.

Plugin

  • In and not in selector operations failed. These now operate correctly.
  • Like and not like selector operations had minor failure cases. These now operate correctly.
  • Like and not like selector operations augmented to receive un-compiled regular expressions in preparation for plugin changes in an upcoming release.

See the complete release notes for RabbitMQ 3.2.2.

Resolved Issues in RabbitMQ 3.2.1

  • Server. Fix crash with {down_from_gm,down_from_gm} with multiply-mirrored queues. (since 3.2.0)
  • Server. Fix queue crashes when changing multiple HA policies simultaneously. (since 3.0.0)
  • Server. Ensure that a mirrored queue slave that crashes does not cause the master to crash. (since 2.6.0)
  • Server. Prevent crashes due to timeouts when calling into the limiter. (since 3.1.0)
  • Server. Treat 32 bit Unix platforms as limited to 2GB, not 4GB, address space. (since 1.7.1)
  • Server. Reduce default heartbeat from 600s to 580s for better compatibility with common load balancer configurations. (since 3.0.0)
  • Server. Fix incorrect placement of file sync which could theoretically corrupt files when written just before a crash. (since 3.0.0)
  • Building/Packaging. Ship a useful README in /usr/share/doc for Debian and RPM. (since 1.0.0)
  • management plugin. Fix web UI authentication via the initial URI for browsers which are not Chrome. (since 3.2.0)
  • management plugin. Fix web UI login when user name or password contains '%'. (since 3.2.0)

See the complete release notes for RabbitMQ 3.2.1.

Resolved Issues in RabbitMQ 3.2.0

  • Server. Fix race condition that could cause mirrored queues to corrupt state during promotion. (since 2.6.0)
  • Server. Prevent HA queue from becoming masterless if multiple nodes shutdown in quick succession. (since 2.6.0)
  • Server. Prevent race that leads to a masterless queue when a slave and previous master start simultaneously. (since 2.6.0)
  • Server. Ensure that persistent messages with expiration property timeout correctly after broker restarts. (since 3.0.0)
  • Server. Stop ram nodes from becoming disc nodes when started in isolation. (since 3.0.0)
  • Server. Prevent potential deadlocks during shutdown.
  • Server. Prevent crash at startup when starting a clustered node hosting a durable non-HA queue which had been bound to a transient exchange which was deleted when the node was down. (since 2.5.0)
  • Server. Tolerate corrupt queue index files with trailing zeroes during boot. (since 2.0.0)
  • Server. Remove possibility of "incompatible Erlang bytecode" failure in cluster startup. (since 3.1.0)
  • Server. Fix logging of config file location. (since 3.1.0)
  • Server. Ensure queues declared as exclusive are not durable or mirrored. (since 2.6.0)
  • Server. Prevent error being logged when an exclusive queue owner disconnects during declaration. (since 3.0.0)
  • Server. Prevent crash when sending OTP status query to writer or heartbeater processes. (since 1.0.0)
  • management plugin. Report on queue lengths and data rates in a more timely fashion. (since 3.1.0)
  • management plugin. Display chart times in the local time zone rather than UTC. (since 3.1.0)
  • management plugin. Prevent over-enthusiastic caching of web UI templates. (since 2.1.0)
  • federation plugin. Prevent upstream queues from being deleted, thus preventing deletion.
  • AMQP 1.0 plugin. Prevent potential deadlocks during shutdown. (since 3.1.0)
  • STOMP plugin. Prevent potential deadlocks during shutdown. (since 2.3.0)
  • STOMP plugin. Prevent incomplete TCP connection attempts from leaking processes. (since 2.3.0)
  • MQTT plugin. Ensure resumed subscriptions become active immediately after reconnecting.
  • MQTT plugin. Correct client shutdown sequence in the event of failed startup.
  • jsonrpc-channel plugin. fix dependencies that preventing plugin from running (since 3.1.4)
  • java client. Prevent deadlock when calling blocking operations in handleCancel. (since 1.0.0)
  • erlang client. Prevent potential deadlocks during shutdown.
  • erlang client. Prevent failures due to connection string lookup errors in protocols other than AMQP 0-9-1 / 0-8. (since 2.8.1)
  • erlang client. Prevent startup error when using SSL on versions of Erlang from R16B01.
  • erlang client. Prevent crash when reconsuming asynchronously with the same tag. (since 2.6.0)

See the complete release notes for RabbitMQ 3.2.0.

JMS Client for vFabric RabbitMQ 1.1.2 resolves no additional issues to the ones listed in What's New in JMS Client for vFabric RabbitMQ 1.1.2.

JMS Client for vFabric RabbitMQ 1.1.1 is compatibility release only. There are no issues resolved since the 1.1.0 release.

The following issues are resolved in JMS Client for vFabric RabbitMQ 1.1.0:

  • Authentication failures are correctly represented as JMSSecurityexceptions (new behaviour in RabbitMQ 3.2.0).
  • Read failure of a BytesMessage body now correctly resets byte-sequence position.
  • Ensure BytesMessages produce a raw message body, rather than a Java-serialised one. (JMS Spec.)
  • Eliminate errors when DurableSubscription used on same client JVM but different connection.
  • Eliminate warning when reusing a durable topic subscription.