[rabbitmq-discuss] Shovel terminated status
eliao at seegrid.com
Thu Aug 23 15:57:46 BST 2012
Ah I had forgotten to test the reconnect_delay parameter. Thanks!
As for the unclosed connections, I'm looking under the "Connections" tab in the RabbitMQ Management plugin of the broker that is initiating the 3 shovels with another broker. On the broker that is initiating the connections, 'rabbitmqctl list_connections' does not return any connections and 'rabbitmqctl list_channels' returns the channels associated with the 2 running shovels. 'rabbitmqctl reset' clears the list of unclosed connections listed on the management plugin.
Every time the terminated shovel tries to reconnect, there are 6 (2*# of shovels?) more connections listed under the Connections tab. It seems to happen (so far) only for the termination reason of "cannot redeclare exchange with different type". I've tried to terminate shovel by deleting an exchange as well.
Also as a note, I'm testing shovel with the version of RabbitMQ that we use currently and unfortunately can't upgrade at the moment.
From: Matthias Radestock [matthias at rabbitmq.com]
Sent: Tuesday, August 21, 2012 7:32 PM
To: Discussions about RabbitMQ
Cc: Elizabeth Liao
Subject: Re: [rabbitmq-discuss] Shovel terminated status
On 21/08/12 16:45, Elizabeth Liao wrote:
> Questions: In the documentation, it states that the timestamp from $
> rabbitmqctl eval 'rabbit_shovel_status:status().' is the time when
> shovel entered the state. I've observed this for the running and
> starting state but not for the terminated state. The timestamp for
> the terminated state appears to be the current time.
Your config has a reconnect_delay of 1 (second), so when the shovel
initialisation fails it will attempt to reconnect after one second,
which puts the shovel in the 'starting' state, fail and go straight back
to the 'terminated' state. Then one second later the same happens. And
so on. Hence the moving timestamp.
> Additionally, it seems when a shovel is in the terminated state and
> periodically trying to reconnect, there are many connections left
> open with no active channels.
What exactly are you observing here? The number of connections returned
by 'rabbitmqctl list_connections' at the broker the shovel is connecting to?
Btw, it would be good if you conducted your testing with the latest
RabbitMQ version. Makes it easier for us to investigate any problems.
More information about the rabbitmq-discuss