Uploaded image for project: 'Percona Toolkit'
  1. Percona Toolkit
  2. PT-1829

pt-heartbeat doesn't reconnect for check-read-only

Details

    • Bug
    • Status: Done
    • Medium
    • Resolution: Fixed
    • 3.1.0
    • 3.2.1
    • 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"]
      
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            iwo.panowicz Iwo Panowicz
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - Not Specified
                Not Specified
                Logged:
                Time Spent - 7 hours
                7h

                Smart Checklist