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