[rabbitmq-discuss] getting started, broker runs; can't get status

Matthias Radestock matthias at lshift.net
Sat Jan 31 23:48:33 GMT 2009


Dmitriy, Dave, Christopher,

Dmitriy Samovskiy wrote:
> Yep, the way I am reading this, ALIVE_REQ is alone on its connection, 
> other commands use their own connections. So looks like the second 
> connection always fails (and I assume ALIVE_REQ will always be the first 
> one)?

Hmmm. This particular FIXME in the epmd code caught my attention.

> * FIXME: In this code we assume that the packets we send on each
> * socket is so small that a "write()" never block

...and looking a the code I don't think it deals with partial packets on 
read particularly well either. I could be wrong though.

I wonder whether the disabling of Nagle in 1.5.1 (which was enabled in 
1.5.0 due to a bug) might cause the server to fragment packets and thus 
upset epmd.

This might also explain the problems Christopher was seeing. So ...


Dave, Christopher, to test the above theory, please re-enable Nagle by 
changing the following lines in the rabbitmq-server script from

[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS="+K 
true +A30 \
-kernel inet_default_listen_options 
[{nodelay,true},{sndbuf,16384},{recbuf,4096}] \
-kernel inet_default_connect_options [{nodelay,true}]"

to

[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS="+K 
true +A30"

(Alternatively you can override the value by setting 
RABBITMQ_SERVER_ERL_ARGS in your shell or SERVER_ERL_ARGS in 
/etc/default/rabbitmq)


Then try starting the server and invoking rabbitmqctl.


Matthias.




More information about the rabbitmq-discuss mailing list