[rabbitmq-discuss] RabbitMQ 2.3.1 Release
harvey.robin at gmail.com
Thu Feb 3 19:37:23 GMT 2011
Does this version include the new "interleaved message delivery" stuff for
On Thu, Feb 3, 2011 at 2:45 PM, Matthew Sackman <matthew at rabbitmq.com>wrote:
> On Thu, Feb 03, 2011 at 02:22:14PM +0000, Simon MacMullen wrote:
> > The RabbitMQ team is pleased to announce the release of RabbitMQ
> > 2.3.1.
> > This release fixes a small number of bugs, in particular one serious
> > bug in 2.3.0 which could lead to queue processes crashing.
> As a result of the severity of the bug that's been fixed, we do not
> advise anyone to use 2.3.0.
> The bug fixed is a race condition that can cause any queue to violate an
> enforced invariant of the queue during an AMQP transaction commit. If
> the invariant is violated, then the queue will crash instantly, losing
> all non-persisted messages within the queue.
> The bug was introduced in the process of fixing another bug - a bug that
> had existed since the 2.0.0 release, and which could lead, in the event
> of a crash, to more persistent messages being lost than should be. To
> explain that a little further: persistent messages are not written to
> disk immediately because there may be opportunities to optimise out the
> write completely, and additionally it is not performant to issue lots of
> tiny I/O write operations. Consequently, there are various caches, and
> timeouts which ensure that messages that are being written to disk are
> done so promptly enough but also efficiently enough. The bug found was
> that one of the timers related to this process was not being reset
> correctly. As a result, a long period of time could occur before
> messages were pushed out to disk in some cases, leading to a bigger
> window for messages to be potentially lost in. This would affect not
> just how messages are pushed to disk in the case of memory pressure, but
> also latency of transaction commits, and probably some scenarios too.
> In fixing this bug, the critical bug discovered in 2.3.0 was
> accidentally introduced. Both bugs do not exist in 2.3.1.
> By being a race condition, it managed to not get triggered in testing.
> Indeed even now, knowing where the bug lies, I have not been able to
> trigger it.
> I hope that sheds some light on the situation.
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss