pt-online-schema-change die handler didn't check if inside eval
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
Fix Released
|
High
|
Brian Fraser |
Bug Description
I've observed a case where pt-online-
Here is the test output I see:
[baron@localhost stabilize-
1..9
# Loading sample dataset...
# Binlog position before altering table: mysql-bin.
not ok 1 - Altered OK
# Failed test 'Altered OK'
# in t/pt-online-
# 'Error copying rows from `pt_osc`.`t` to `pt_osc`.`_t_new`: DBD::mysql::st execute failed: Table 'pt_osc._t_new' doesn't exist [for Statement "INSERT LOW_PRIORITY IGNORE INTO `pt_osc`.`_t_new` (`id`, `c`, `d`) SELECT `id`, `c`, `d` FROM `pt_osc`.`t` FORCE INDEX(`PRIMARY`) WHERE ((`id` >= ?)) AND ((`id` <= ?)) /*pt-online-
#
# '
# doesn't match '(?-xism:
Naturally, everything fails after this, because the tool has died.
I will attach the output of the query log and the output of the binary log. You can see that in the query log, at line 180, the DROP TABLE happens. Nibbling is apparently finished by this time, but then a final nibble appears to occur at line 204. This is the one that breaks the tool.
Related branches
- Daniel Nichter: Approve
- Diff: 0 lines
tags: | added: mysql-5.5 |
Changed in percona-toolkit: | |
status: | Confirmed → In Progress |
Changed in percona-toolkit: | |
status: | In Progress → Fix Committed |
milestone: | none → 2.1.2 |
tags: | added: test-failure |
Changed in percona-toolkit: | |
milestone: | 2.1.2 → none |
summary: |
- pt-online-schema-change can nibble after swapping the tables + pt-online-schema-change die handler didn't check if inside eval |
Changed in percona-toolkit: | |
status: | Fix Committed → Fix Released |
This is running on CentOS 5.5 with 5.5.25-log MySQL Community Server (GPL)