Actions
Bug #1059
openSupport versions of RabbitMQ newer than 2.0.0
Start date:
04/10/2011
Due date:
% Done:
0%
Estimated time:
Detected in build:
570063f (unreleased)
Platform:
Published in build:
Description
Today I've stumbled into an issue described in the following web page: http://comments.gmane.org/gmane.comp.networking.rabbitmq.general/8189. Rabbitmq. It is said to be fixed in the 2.4.0 version, which was released... two weeks ago.
We use RabbitMQ in a very wrong way. We use it excessively intensively, and pollute with a lot of trash; for instance, we create a lot of durable queues just to never use them after a few seconds.
The bug in AMQP causes its Ruby frontend to terminate with the following error:
1862| 2011-04-08 16:25:42 Node::ldv.168: ERROR: INTERNAL_ERROR in inspect 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/mq.rb:870:in `reset': undefined method `reset' for nil:NilClass (NoMethodError) 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: [Fri, 08 Apr 2011 16:24:30 +0400] DEBUG: [setup] setting log level to INFO 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/mq.rb:870:in `each' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: [Fri, 08 Apr 2011 16:24:30 +0400] WARN: init.rb /mnt/cluster/toolset/ldv-core/../watcher/../cluster/tester.rb does not exist or is not reachable 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/mq.rb:870:in `reset' 1862| 2011-04-08 16:25:43 Node::ldv.168: INFO: watcher: Watcher returns 1, waitpid: 256 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:182:in `reconnect' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: watcher: WARNING: Fatal error. Stopping services before reporting... 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:182:in `each' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:182:in `reconnect' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:210:in `disconnected' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:99:in `call' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/amqp-0.6.7/lib/amqp/client.rb:99:in `unbind' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:996:in `call' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:996:in `run_deferred_callbacks' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:996:in `each' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:996:in `run_deferred_callbacks' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/cluster/ruby/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/ldv-core/../watcher/../cluster/cluster-watcher.rb:63:in `queue' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/ldv-core/../watcher/ldv-watcher:78:in `send' 1862| 2011-04-08 16:25:43 Node::ldv.168: ERROR: from /mnt/cluster/toolset/ldv-core/../watcher/ldv-watcher:78
We should fix the fronend so that it either
- works with the latest RabbitMQ version; or
- doesn't create durable queues instead of temporal.
The best would be to fix them both.
Actions