Hi Willy,

Our monitoring scripts use the unix socket to get haproxy's status. Sometimes 
they detect haproxy DOWN when it's not really the case.
After some tests, it appears that 2 concurrent accesses break things : one of 
the request receives an empty reply. I wonder if it can be a more severe issue 
when someone uses administration commands (set weight, disable/enable 
server,...)

At this step I can't give you much more information but I'll look at the code 
this week-end.

Something interesting, I could reproduce the issue with haproxy 1.4.1, 1.3.23, 
1.3.19 and 1.3.16 (only tested these ones) but there's no error with 1.3.15.x 
versions (tested with 1.3.15.12, 1.3.15.11, 1.3.15.10 and 1.3.15.7).
Maybe this can remind you some modifications of code.

To reproduce the issue :
- a simple configuration file :
global
        stats socket /tmp/haproxy.socket

listen dummy :10000
        balance roundrobin

- short script (with 2 or 3 instances in parrallel) :
#!/bin/bash
while true;
do
        hainfo=`echo "show info"| /usr/bin/socat /tmp/haproxy.socket stdio`
        if [ "$hainfo" == "" ];
        then
                echo "### EMPTY REPLY ###"
        fi
done

-- 
Cyril Bonté

Reply via email to