codership / glb

Galera Load Balancer - a simple TCP connection proxy and load-balancing library
GNU General Public License v2.0
153 stars 51 forks source link

Watchdog #13

Open Roller29 opened 9 years ago

Roller29 commented 9 years ago

When running glbd -c 127.0.0.1:4444 -a --max_conn 20000 -l -w exec:"tcp.sh" 0.0.0.0:25565 ip:1336:5 ip:1337:5

It runs and then gives me a error: http://pastiebin.com/53d83f3e424b4

Then the next time around it gives me this http://pastiebin.com/53d83f5bbb14e

It removes the IPs from the Watchdog list completely.

This is what I'm using for the watchdog script:

It's a python script and then a shell script that executes the python script: http://pastiebin.com/53d83f79b1429

shell script:

python tcp.py $1

I've tested this manually and it works. root@1:~# ./tcp.sh 8.8.8.8:53 3 root@1:~#

root@1:~# ./tcp.sh 8.8.8.8:2754 0 root@1:~#

Any idea how to fix this?

ayurchen commented 9 years ago

On 2014-07-30 03:43, Roller29 wrote:

When running glbd -c 127.0.0.1:4444 -a --max_conn 20000 -l -w exec:"tcp.sh" 0.0.0.0:25565 ip:1336:5 ip:1337:5

It runs and then gives me a error: http://pastiebin.com/53d83f3e424b4

Then the next time around it gives me this http://pastiebin.com/53d83f5bbb14e

It removes the IPs from the Watchdog list completely.

This is what I'm using for the watchdog script:

It's a python script and then a shell script that executes the python script: http://pastiebin.com/53d83f79b1429

shell script:

python tcp.py $1

I've tested this manually and it works. root@1:~# ./tcp.sh 8.8.8.8:53 3 root@1:~#

root@1:~# ./tcp.sh 8.8.8.8:2754 0 root@1:~#

Any idea how to fix this?

Your script does not loop, it runs only once and exits.

GLB watchdog expects the script to loop reading commands from glbd on the standard input. In shell terms:

while read cmd do case $cmd in "poll") ;; *) break ;; esac done

This is done 1) to avoid forking a new process on every poll request 2) to control how often endpoint polling happens and when the process should exit

Hope this helps.