Details
-
Bug
-
Status: Done
-
Medium
-
Resolution: Fixed
-
3.1.0
-
None
-
None
-
Yes
-
Yes
-
1
Description
Steps to reproduce:
1. Start pt-heartbeat like:
pt-heartbeat --update --database=percona --create-table --host=127.0.0.1 --port=5725 --user=msandbox --password=msandbox --replace --check-read-only
2. Kill connection of pt-heartbeat:
mysql [localhost:5725] {msandbox} ((none)) > show processlist; +----+----------+-----------------+---------+---------+------+----------+------------------+-----------+---------------+ | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | +----+----------+-----------------+---------+---------+------+----------+------------------+-----------+---------------+ | 16 | msandbox | localhost | NULL | Query | 0 | starting | show processlist | 0 | 0 | | 17 | msandbox | localhost:42608 | percona | Sleep | 0 | | NULL | 0 | 0 | +----+----------+-----------------+---------+---------+------+----------+------------------+-----------+---------------+ 2 rows in set (0.00 sec) mysql [localhost:5725] {msandbox} ((none)) > kill connection 17; Query OK, 0 rows affected (0.00 sec)
pt-heartbeat will enter endless loop of:
... Lost connection to MySQL server during query [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"] MySQL server has gone away [for Statement "SELECT @@global.read_only"]