[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