This may more to due with Rabbit (or AMPQ clients) than HAProxy. Do you have 
Rabbit 01 and 02 in a cluster or are they separate nodes?


On Jan 16, 2014, at 11:28 PM, Andrei Chevenkov <[email protected]> wrote:

> Hi,
> 
> I am pretty new to haproxy and trying to do ha setup for rabbitmq.
> 
> Setup is pretyt simple:
> 
> listen rabbitmq 192.168.69.106:5672
>  mode    tcp
>  balance leastconn
>  option  tcplog
>  option  tcpka
>  server  rabbit01 192.168.69.107:5672 check inter 1000 downinter 5000 fall 1 
> on-error mark-down
>  server  rabbit02 192.168.69.108:5672 check inter 1000 downinter 5000 fall 1 
> on-error mark-down backup
> 
> Everything seems to work well, but I noticed one strange behaviour. If I 
> gracefully shut down rabbit01, message producer (client) connected to 
> 192.168.69.106:5672 notices broken connection pretty much straight away, 
> attempts a reconnect, hits rabbit02 and all is well.
> 
> However if I simply "turn off" rabbit01, message producer (client) notices 
> broken connection only in around 30 seconds or so. And while the break is 
> undetected it keeps pushing messages thinking there is still someone on 
> another side. 
> 
> Now, from the statistic report I can see that as soon as I turn off the box, 
> rabbit01 is marked as "DOWN", but its "Sessions Current" is still set to 1? 
> In the logs this comes up pretty much immediately after the hard turn off:
> 
> Jan 17 17:13:51 prodlb01 haproxy[38459]: Server rabbitmq/rabbit01 is DOWN, 
> reason: Layer4 timeout, check duration: 1008ms. 0 active and 1 backup servers 
> left. Running on backup. 1 sessions active, 0 requeued, 0 remaining in queue.
> 
> After around 30 seconds, the connection is detected as broken and failover 
> happens successfully. At that time  "Sessions Current"  is set to 0 fo 
> rabbit01.
> 
> Tried option  nolinger and option  abortonclose, but no luck.
> 
> Any help would be much appreciated...
> 
> Cheers,
> Andrei

Reply via email to