[rabbitmq-discuss] rabbitmq dying
0x6e6562 at gmail.com
Tue Jun 24 12:18:27 BST 2008
On Tue, Jun 24, 2008 at 10:58 AM, <David.Corcoran at edftrading.com> wrote:
> Unfortunately we're still able to crash it quite regularly.
When you say you are able to crash it regularly, are you saying the
rabbit process dies?
> I changed the
> message handlers to use only a single reply queue and now it's more stable
> but not perfect.
Have you noticed any difference in performance by doing that?
> The only thing that still looks suspicious is that the
> producers are sometimes run in threads. We only have one connection, which
> is apparently thread safe (from the javadocs), and we create a channel for
> each thread but maybe this is causing problems? We're going to make them
> single threaded and keep testing.
You need to make sure you correctly differentiating between
connections and channels.
The connection and channel manager are threadsafe, but each actual
channel should not be shared between threads.
In the AMQP model, the channel is the smallest unit of parallelism.
Hence on the client side, you should use one channel per application thread.
> I'm also going to upgrade everywhere to erlang 12b-3 to see if that helps.
I think you'll definitely get milage out of this, apart from having
many other bug fixes that have been made since 11b-5 was released.
> I'll also apply the connection disconnect patch whenever it's available.
I don't think that's going to change much for you, it'll just make the
log files look nicer :-)
> We're disconnecting nicely most of the time now but if you're debugging
> then stopping the debugger causes a forced disconnect which causes an error
> in the rabbitmq logs.
I wouldn't worry too much about that, although it is unsightly.
I am more concerned about the symptoms you were describing last week
about Rabbit becoming unavailable for some periods.
More information about the rabbitmq-discuss