Bug #48570 | Hangs on Solaris 10 if backend is down. | ||
---|---|---|---|
Submitted: | 5 Nov 2009 14:27 | Modified: | 11 Oct 2010 15:39 |
Reporter: | Alexander Bezrukov | Email Updates: | |
Status: | Patch queued | Impact on me: | |
Category: | MySQL Proxy | Severity: | S2 (Serious) |
Version: | 0.8 | OS: | Solaris (10-intel x86) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
Tags: | solaris |
[5 Nov 2009 14:27]
Alexander Bezrukov
[29 Nov 2009 13:12]
Alexey Kishkin
Hi Alexander! Could you describe this bug more detailed, if you have some problems with English, you can post it in Russian, I'll translate.
[30 Nov 2009 7:15]
Alexander Bezrukov
Добрый день, Алексей! Описываю проблему на русском. Есть сервер на Solaris 10, на котором запускаю mysql-proxy. Для запуска использую следующий shell скрипт: " #!/bin/bash LUA_PATH="/local/lib/mysql-proxy/lua/?.lua" /usr/local/sbin/mysql-proxy \ --proxy-backend-addresses=192.168.3.231:3307 \ --proxy-backend-addresses=192.168.3.233:3307 \ --proxy-read-only-backend-addresses=192.168.3.231:3308 \ --proxy-read-only-backend-addresses=192.168.3.233:3308 \ --proxy-lua-script=/usr/local/share/doc/mysql-proxy/rw-splitting.lua \ --proxy-address=192.168.3.232:3306 \ --log-level=debug \ --log-file=/var/log/mysql-proxy.log " Если на backend-сервере убить mysql, то mysql-proxy продолжает нормально работать, использую остальные backend-серверы. В случает отключения bsckend-сервера от сети (не пингуется, не отсылает RESET-флаг при попытке установить с ним TCP соединение) mysql-proxy не отвечает на запрос клиента, при этом соединение не разрывается. P.S. Пробовал как 32, так 64х разрядный Solaris 10.
[1 Dec 2009 4:40]
Alexey Kishkin
translation: There is a mysql-proxy that runs on Solaris 10 server. I use the following script to start: #!/bin/bash LUA_PATH="/local/lib/mysql-proxy/lua/?.lua" /usr/local/sbin/mysql-proxy \ --proxy-backend-addresses=192.168.3.231:3307 \ --proxy-backend-addresses=192.168.3.233:3307 \ --proxy-read-only-backend-addresses=192.168.3.231:3308 \ --proxy-read-only-backend-addresses=192.168.3.233:3308 \ --proxy-lua-script=/usr/local/share/doc/mysql-proxy/rw-splitting.lua \ --proxy-address=192.168.3.232:3306 \ --log-level=debug \ --log-file=/var/log/mysql-proxy.log If mysql server stops on the backend-server, then mysql-proxy continues to operate normally, using remaining backend-servers. In case of network disconnection on backend side (no ping, no RESET-flag when one tries to establish new TCP connection) mysql-proxy doesn't respond to client requests, and doesn't terminate connection to client. PS. I tested 64 bit as well as 32 bit Solaris.
[1 Dec 2009 4:47]
Alexey Kishkin
Alexandr, just for clarification: - if client tries to establish new connection to mysql proxy (when backend is dead), does mysql-proxy respond? - how many time did you wait? when I tested on opensolaris I saw some timeout (about 3 minute) and then client got: ERROR 2013 (HY000): Lost connection to MYSQL server during query - does admin interface (that on 4041 port) works during backend disconnection?
[1 Dec 2009 14:16]
Alexander Bezrukov
При новом подключении клиента к серверу сервер "молчит" 3.5 минуты, после отсылает клиенту приветстие и может отвечать на запросы. При послудкющих новых подключениях происходит тоже самое. Интерфейс администратора не сконфигурирован, по порт прослушивается.
[13 Dec 2009 11:56]
Alexey Kishkin
translation: in case of new connection, server keep silence about 3.5 minutes, then send to client handshake and can answer the request. On all following connections I see the same behavior. Administrator interface has not been configured, but port seems to be alive.
[16 Mar 2010 15:59]
Enterprise Tools JIRA Robot
Jan Kneschke writes: http://bugs.mysql.com/41417 seems to be the same issue.