[rabbitmq-discuss] Distribution model advice sought

Mark J. Reed markjreed at gmail.com
Thu Mar 3 22:02:00 GMT 2011


> On Thu, Mar 3, 2011 at 9:32 AM, Matthias Radestock
> Hm; I'm not declaring the queue as durable.   Let me dig up some
> detailed error/log output...

OK, I tried a very simple test case.  Am I hitting a bug, or am I
wrong about how this should work?

I have a two-node cluster, both disk nodes, freshly reset.  I declare
a queue on one and publish to it, then pop the message off on the
other.  Then I bring the node with the queue down and try to declare
the queue on the other node.  This triggers an internal error (HTTP
541 response) and causes Rabbit to close the connection to the client
that tried to declare the queue.

Transcript with interleaved commentary and log contents below (sorry
if I should have attached them instead; not sure what the guidelines
are for this list).

This is 2.3.1 running on Ubuntu 10.04 x86_64.

ubuntu at rabbit1:~$ sudo rabbitmqctl status
Status of node rabbit at rabbit1 ...
[{running_applications,
     [{rabbit,"RabbitMQ","2.3.1"},
      {mnesia,"MNESIA  CXC 138 12","4.4.12"},
      {os_mon,"CPO  CXC 138 46","2.2.4"},
      {rabbit_management,"RabbitMQ Management Console","2.3.1"},
      {webmachine,"webmachine","1.7.0"},
      {rabbit_management_agent,"RabbitMQ Management Agent","2.3.1"},
      {amqp_client,"RabbitMQ AMQP Client","2.3.1"},
      {sasl,"SASL  CXC 138 11","2.1.8"},
      {rabbit_mochiweb,"RabbitMQ Mochiweb Embedding","2.3.1"},
      {mochiweb,"MochiMedia Web Server","1.3"},
      {inets,"INETS  CXC 138 49","5.2"},
      {stdlib,"ERTS  CXC 138 10","1.16.4"},
      {kernel,"ERTS  CXC 138 10","2.13.4"}]},
 {nodes,[{disc,[rabbit at rabbit2,rabbit at rabbit1]}]},
 {running_nodes,[rabbit at rabbit2,rabbit at rabbit1]}]
...done.
ubuntu at rabbit1:~$ sudo rabbitmqctl list_queues
Listing queues ...
...done.

ubuntu at rabbit2:~$ sudo rabbitmqctl status
Status of node rabbit at rabbit2 ...
[{running_applications,
     [{rabbit,"RabbitMQ","2.3.1"},
      {mnesia,"MNESIA  CXC 138 12","4.4.12"},
      {os_mon,"CPO  CXC 138 46","2.2.4"},
      {rabbit_management,"RabbitMQ Management Console","2.3.1"},
      {webmachine,"webmachine","1.7.0"},
      {rabbit_management_agent,"RabbitMQ Management Agent","2.3.1"},
      {amqp_client,"RabbitMQ AMQP Client","2.3.1"},
      {sasl,"SASL  CXC 138 11","2.1.8"},
      {rabbit_mochiweb,"RabbitMQ Mochiweb Embedding","2.3.1"},
      {mochiweb,"MochiMedia Web Server","1.3"},
      {inets,"INETS  CXC 138 49","5.2"},
      {stdlib,"ERTS  CXC 138 10","1.16.4"},
      {kernel,"ERTS  CXC 138 10","2.13.4"}]},
 {nodes,[{disc,[rabbit at rabbit2,rabbit at rabbit1]}]},
 {running_nodes,[rabbit at rabbit1,rabbit at rabbit2]}]
...done.
ubuntu at rabbit2:~$ sudo rabbitmqctl list_queues
Listing queues ...
...done.

Declare and publish to a new queue:

ubuntu at rabbit1:~$ irb -rubygems -rbunny
irb(main):001:0> (b=Bunny.new).start
=> :connected
irb(main):002:0> b.queue('jiggleflop').publish("hello")
=> nil
irb(main):003:0> exit
ubuntu at rabbit1:~$ sudo rabbitmqctl list_queues name messages durable
Listing queues ...
jiggleflop    1       false
...done.



More information about the rabbitmq-discuss mailing list