Hi
I used pt-online-schema-change to alter a table to ROW_FORMAT=COMPRESSED. Ultimately, it ran successfully, but it did exit with an error. Perhaps this was because it could not connect to the slave server. (Note: the alter table was replcated to the slave without any problems.)
I will probably use pt-online-schema-change in the future so I would like to eliminate this potential bug or, if the fault is mine, get some confirmation so I can RTFM again and do it correctly.
Here’s what I ran:
ryant@wgcptdb3:~$ time pt-online-schema-change --recursion-method processlist --alter-foreign-keys-method auto --execute --alter “ROW_FORMAT=COMPRESSED” D=wfs,t=gateway_audit_trail,h=localhost,u=xxx,p=xxx
Cannot connect to D=wfs,h=SLAVEIP,p=…,u=xxx
No slaves found. See --recursion-method if host YYYYY has slaves.
Not checking slave lag because no slaves were found and --check-slave-lag was not specified.
Operation, tries, wait:
copy_rows, 10, 0.25
create_triggers, 10, 1
drop_triggers, 10, 1
swap_tables, 10, 1
update_foreign_keys, 10, 1
Child tables:
wfs
.auth_audit_trail
(approx. 428865 rows)
wfs
.product_audit_trail
(approx. 1268930 rows)
Will automatically choose the method to update foreign keys.
Altering wfs
.gateway_audit_trail
…
Creating new table…
Created new table wfs._gateway_audit_trail_new OK.
Altering new table…
Altered wfs
._gateway_audit_trail_new
OK.
2015-07-22T22:53:16 Creating triggers…
2015-07-22T22:53:17 Created triggers OK.
2015-07-22T22:53:17 Copying approximately 9862776 rows…
Copying wfs
.gateway_audit_trail
: 0% 01:35:09 remain
Copying wfs
.gateway_audit_trail
: 0% 01:42:34 remain
Copying wfs
.gateway_audit_trail
: 1% 01:48:35 remain
Copying wfs
.gateway_audit_trail
: 1% 01:51:39 remain
Copying wfs
.gateway_audit_trail
: 2% 01:57:06 remain
Copying wfs
.gateway_audit_trail
: 2% 01:58:26 remain
…
…
…
Copying wfs
.gateway_audit_trail
: 99% 00:37 remain
Copying wfs
.gateway_audit_trail
: 99% 00:06 remain
2015-07-23T04:11:35 Copied rows OK.
2015-07-23T04:11:35 Max rows for the rebuild_constraints method: 1316
Determining the method to update foreign keys…
2015-07-23T04:11:35 wfs
.auth_audit_trail
: too many rows: 428945; must use drop_swap
2015-07-23T04:11:35 Drop-swapping tables…
2015-07-23T04:12:09 Dropped and swapped tables OK.
Not dropping old table because --no-drop-old-table was specified.
2015-07-23T04:12:09 Dropping triggers…
2015-07-23T04:12:09 Dropped triggers OK.
Successfully altered wfs
.gateway_audit_trail
.
Exiting on SIGPIPE.
(in cleanup) Use of uninitialized value $mode in numeric eq (==) at /usr/bin/pt-online-schema-change line 7845.
real 318m57.881s
user 0m57.836s
sys 0m6.304s
Versions:
ryant@wgcptdb3:~$ pt-online-schema-change --version
pt-online-schema-change 2.2.14
ryant@wgcptdb3:~$ mysqladmin version
mysqladmin Ver 8.42 Distrib 5.5.34, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.5.34-0ubuntu0.12.04.1-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 637 days 3 hours 54 min 4 sec
Thanks,
Ryan