[rabbitmq-discuss] Can't Determine Cause of 541 - INTERNAL_ERROR
Samuel Duncan
sduncan at wetafx.co.nz
Mon Feb 22 21:02:32 GMT 2010
Hi guys, we are running a few 1.7.1 servers under Linux, and I came
across a 541 situation with an app we are developing. I was going
through the testing hosts starting up ones that had died overnight for
one reason or another (hardware/ network etc), and at a seemingly
arbitrary point the server stopped allowing queues from a particular
host to be declared/ used. An application instance uses one connection,
four exchanges, one channel, and one queue bound to two of the
exchanges. The queues are declared exclusive. On starting up this
particular host, I got a 541 (INTERNAL_ERROR) at the point the queue was
first checked for inbound messages (an outbound message had already been
successfully sent via one of the four exchanges);
raw_msg = self.chan.basic_get(queue=self.queue, no_ack=True,
ticket=self.access_ticket)
File "build/bdist.linux-x86_64/egg/amqplib/client_0_8/channel.py",
line 2032, in basic_get
File
"build/bdist.linux-x86_64/egg/amqplib/client_0_8/abstract_channel.py",
line 89, in wait
File "build/bdist.linux-x86_64/egg/amqplib/client_0_8/connection.py",
line 218, in _wait_method
File
"build/bdist.linux-x86_64/egg/amqplib/client_0_8/abstract_channel.py",
line 105, in wait
File "build/bdist.linux-x86_64/egg/amqplib/client_0_8/connection.py",
line 367, in _close
amqplib.client_0_8.exceptions.AMQPConnectionException: (541,
u'INTERNAL_ERROR', (0, 0), '')
The rabbit server log shows the following. At first we thought it might
have run out of processes, but I was subsequently able to successfully
open another application instance on another host. It seems not to like
this particular queue!
=INFO REPORT==== 23-Feb-2010::09:37:06 ===
accepted TCP connection on 0.0.0.0:5672 from 172.18.1.121:35050
=INFO REPORT==== 23-Feb-2010::09:37:06 ===
starting TCP connection <0.16017.82> from 172.18.1.121:35050
=ERROR REPORT==== 23-Feb-2010::09:37:06 ===
** Generic server <0.16037.82> terminating
** Last message in was {'$gen_cast',
{method,
{'queue.declare',1,
<<"overwatch.control.avro105b">>,false,
false,true,true,true,[]},
none}}
** When Server state == {ch,running,1,<0.16017.82>,<0.16026.82>,undefined,
none,
{set,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}},
1,
{[],[]},
{[],[]},
<<"overwatch_admin">>,<<"/overwatch">>,<<>>,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}}}
** Reason for termination ==
** {{noproc,{gen_server2,call,
[<0.7426.74>,{claim_queue,<0.16017.82>},infinity]}},
[{gen_server2,call,3},
{rabbit_channel,'-handle_method/3-fun-5-',3},
{rabbit_channel,handle_method,3},
{rabbit_channel,handle_cast,2},
{gen_server2,handle_msg,7},
{proc_lib,init_p_do_apply,3}]}
=ERROR REPORT==== 23-Feb-2010::09:37:06 ===
connection <0.16017.82> (running), channel 1 - error:
{{noproc,{gen_server2,call,[<0.7426.74>,{claim_queue,<0.16017.82>},infinity]}},
[{gen_server2,call,3},
{rabbit_channel,'-handle_method/3-fun-5-',3},
{rabbit_channel,handle_method,3},
{rabbit_channel,handle_cast,2},
{gen_server2,handle_msg,7},
{proc_lib,init_p_do_apply,3}]}
=WARNING REPORT==== 23-Feb-2010::09:37:06 ===
Non-AMQP exit reason '{{noproc,
{gen_server2,call,
[<0.7426.74>,
{claim_queue,<0.16017.82>},
infinity]}},
[{gen_server2,call,3},
{rabbit_channel,'-handle_method/3-fun-5-',3},
{rabbit_channel,handle_method,3},
{rabbit_channel,handle_cast,2},
{gen_server2,handle_msg,7},
{proc_lib,init_p_do_apply,3}]}'
I tried deleting the queue which, as expected, failed because it
shouldn't exist until the host has started up the application instance -
so doesn't seem to be a problem with exclusivity. I have checked with
rabbitmqctl, and the queue is definitely not hanging around. Anyone have
any ideas about what might be causing this, leads to follow etc?
Sam
More information about the rabbitmq-discuss
mailing list