No subject
Tue Apr 12 10:32:41 BST 2011
explicitly specified
--e89a8ff1c4021d490404b90652b0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi Jerry,<br><br>So is there a better way to declare transient queues then =
declaring them as HA? <br>I can see only alternative by adding a random str=
ing to queue name. And which way is preferred?<br><br>Vadim.<br><br><div cl=
ass=3D"gmail_quote">
On Tue, Feb 14, 2012 at 12:45 PM, Jerry Kuch <span dir=3D"ltr"><<a href=
=3D"mailto:jerryk at vmware.com">jerryk at vmware.com</a>></span> wrote:<br><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">
Hi, Vadim:<br>
<br>
A client doesn't need to be connected directly to the node on which<br>
a queue and its attendant Erlang process reside. =A0If your load balancer<b=
r>
sends you to any live node in the cluster you can consume from the queue<br=
>
of your choice, as long as it's still alive.<br>
<br>
Note that you can't straightforwardly redeclare a queue that had been o=
n<br>
a node that's gone down. =A0The cluster's metadata will still know =
about it<br>
and prevent you from redeclaring it. =A0This is intentional, to avoid the<b=
r>
confusion that would result if you succeeded at the redeclare, a new<br>
queue of the same name and properties came into existence on another node,<=
br>
and then the original, downed node came back up in the cluster...<br>
<br>
Best regards,<br>
Jerry<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
----- Original Message -----<br>
From: "Vadim Chekan" <<a href=3D"mailto:kot.begemot at gmail.com"=
>kot.begemot at gmail.com</a>><br>
To: "Simon MacMullen" <<a href=3D"mailto:simon at rabbitmq.com">s=
imon at rabbitmq.com</a>>, <a href=3D"mailto:ghanna at verticalsearchworks.com=
">ghanna at verticalsearchworks.com</a><br>
Cc: <a href=3D"mailto:rabbitmq-discuss at lists.rabbitmq.com">rabbitmq-discuss=
@lists.rabbitmq.com</a><br>
Sent: Tuesday, February 14, 2012 12:40:05 PM<br>
Subject: Re: [rabbitmq-discuss] Active/Active: shutdown of one service brin=
gs down the cluster<br>
<br>
<br>
Hi Simon,<br>
<br>
Thanks for looking into the logs. Since we fixed channel leak in our applic=
ation we do not experience any problems anymore.<br>
<br>
Regarding transient queues in HA. I am just not sure how system would behav=
e when non-HA queue is declared in a cluster environment. Documentation des=
cribes in great details what happen to mirrored queues but I can't find=
anything about non-ha queue in HA cluster. Queue will be created on a sing=
le server, and application should be ready to re-declare queue in case of f=
ailover. So far so good. But how does it work with load balancer? When requ=
est is made against a server which does not have a given queue, will the cl=
uster "know" where the queue is and proxy the request to the prop=
er server?<br>
<br>
Thanks,<br>
Vadim.<br>
<br>
<br>
On Mon, Feb 13, 2012 at 10:09 AM, Simon MacMullen < <a href=3D"mailto:si=
mon at rabbitmq.com">simon at rabbitmq.com</a> > wrote:<br>
<br>
<br>
<br>
On 10/02/12 00:20, Vadim Chekan wrote:<br>
<br>
<br>
I think we nailed down a problem. We had a channel leak in our<br>
application. With ~50 connections we had >90 channels per connection and=
<br>
growing. This definitely correlates to high CPU usage.<br>
<br>
What I still do not understand either it triggered rabbit into unstable<br>
state or it was something else. Maybe increasing latencies in message<br>
handling triggered cluster members into flipping neighbor aliveness<br>
status back and force? Just speculating here: could timeouts because of<br>
high load cause network fragmentation, when every node temporally does<br>
not see neighbors, becomes a master, than see a neighbor, freak out, etc?<b=
r>
<br>
That's plausible, but I don't think that's what's happening=
(there's nothing about network partitioning in the logs).<br>
<br>
<br>
<br>
<br>
I've attached logs from all 3 cluster members. They are polluted with<b=
r>
load balancer "ping".<br>
<br>
Thanks. I've had a poke at this but nothing is leaping out at me yet. I=
'll keep at it though.<br>
<br>
One thing that's a bit odd: you seem to be creating HA / transient / au=
todelete / exclusive queues. So although they're "HA", they w=
ill vanish if any of the following happens:<br>
<br>
* The entire cluster goes down (transient) or<br>
* All consumers for a queue cancel (autodelete) or<br>
* The connection that created them closes (exclusive)<br>
<br>
Is this intentional? It seems like an odd use of HA.<br>
<br>
Cheers, Simon<br>
<br>
<br>
<br>
--<br>
Simon MacMullen<br>
RabbitMQ, VMware<br>
<br>
<br>
<br>
--<br>
More information about the rabbitmq-discuss
mailing list