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

``pt-online-schema-change`` regression caused it to hang for a stopped replica when using replication channels on the slave.

Details

    • Bug
    • Status: Done
    • Medium
    • Resolution: Fixed
    • 3.0.13
    • 3.2.0
    • None
    • 0

    Description

      Hi,

      pt-online-schema-changes 3.0.13 hangs for a stopped replica when using replication channels on the slave and the slave status is fine.

      How to reproduce:

      – Deploy Master/Slave topology
      $ dbdeployer deploy replication /opt/percona_server/5.7.26

      – On the slave reset the slave and manually add a replication channel
      slave1 [localhost:19328]

      {msandbox} ((none)) > reset slave all ;
      Query OK, 0 rows affected (0.01 sec)

      slave1 [localhost:19328] {msandbox}

      ((none)) > CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=19327, MASTER_USER = 'msandbox', MASTER_PASSWORD='msandbox', MASTER_AUTO_POSITION=1 FOR CHANNEL 'channel1';
      Query OK, 0 rows affected, 2 warnings (0.01 sec)

      slave1 [localhost:19328]

      {msandbox}

      ((none)) > START SLAVE ;
      Query OK, 0 rows affected, 1 warning (0.00 sec)

      – Run pt-online-schema-change 3.0.13 fails with error in line 4504
      [PROD-SER] [[email protected] master]$ pt-online-schema-change --user=root --password=msandbox --host=127.0.0.1 --port=19327 --recurse 1 --max-lag 2 --check-slave-lag=F=/home/juan.arruti/sandboxes/rsandbox_5_7_26/node1/my.sandbox.cnf --execute --alter "force" D=test,t=t1
      Found 1 slaves:
      bm-support01.bm.int.percona.com -> 127.0.0.1:19328
      Will check slave lag on:
      bm-support01.bm.int.percona.com -> 127.0.0.1:19327
      Use of uninitialized value in string ne at /usr/bin/pt-online-schema-change line 4504.

      – If I add --no-check-replication-filters hangs indefinitely
      [PROD-SER] [[email protected] master]$ pt-online-schema-change --user=root --password=msandbox --host=127.0.0.1 --port=19327 --recurse 1 --max-lag 2 --check-slave-lag=F=/home/juan.arruti/sandboxes/rsandbox_5_7_26/node1/my.sandbox.cnf --no-check-replication-filters --execute --alter "force" D=test,t=t1

      Found 1 slaves:
      bm-support01.bm.int.percona.com -> 127.0.0.1:19328
      Will check slave lag on:
      bm-support01.bm.int.percona.com -> 127.0.0.1:19327
      Operation, tries, wait:
      analyze_table, 10, 1
      copy_rows, 10, 0.25
      create_triggers, 10, 1
      drop_triggers, 10, 1
      swap_tables, 10, 1
      update_foreign_keys, 10, 1
      Altering `test`.`t1`...
      Creating new table...
      Created new table test._t1_new OK.
      Altering new table...
      Altered `test`.`_t1_new` OK.
      2019-08-30T15:38:36 Creating triggers...
      2019-08-30T15:38:36 Created triggers OK.
      2019-08-30T15:38:36 Copying approximately 1 rows...
      Replica bm-support01.bm.int.percona.com is stopped. Waiting.
      Replica bm-support01.bm.int.percona.com is stopped. Waiting.
      Replica bm-support01.bm.int.percona.com is stopped. Waiting.
      Replica bm-support01.bm.int.percona.com is stopped. Waiting.
      ...

      Attachments

        Activity

          People

            carlos.salguero Carlos Salguero (Inactive)
            juan.arruti Juan Arruti
            Votes:
            1 Vote for this issue
            Watchers:
            4 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 - 3 days, 7 hours
                3d 7h

                Smart Checklist