Not the answer you need?
Register and ask your own question!

pt-online-schema-change 2.2.8 segfaults on column type change

joepmeloen12joepmeloen12 ContributorInactive User Role Novice
pt-online-schema-change 2.2.8 segfaults when changing a column type. This works, provided the field is already a VARCHAR:
--alter="CHANGE EFID90 EFID90 VARCHAR(18)"

though when altering to a different type:

--alter="CHANGE EFID90 EFID90 INT(11)"

The result is:
No slaves found. See --recursion-method if host node1.hostname 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
Altering `databasename`.`tablename`...
Creating new table...
Created new table databasename.tablename_new OK.
Altering new table...
Altered `databasename`.`_tablename_new` OK.
2014-06-06T20:03:42 Creating triggers...
2014-06-06T20:03:42 Created triggers OK.
2014-06-06T20:03:42 Copying approximately 3 rows...
2014-06-06T20:03:42 Dropping triggers...
2014-06-06T20:03:42 Dropped triggers OK.
2014-06-06T20:03:42 Dropping new table...
2014-06-06T20:03:42 Dropped new table OK.
`databasename`.`tablename` was not altered.
Segmentation fault (core dumped)

Any clues?


  • joepmeloen12joepmeloen12 Contributor Inactive User Role Novice
    Bump, any clue? Anyone? This is pretty nasty for us because now we can only issue ALTER TABLE statements on the MySQL monitor which takes ages locking the ENTIRE cluster.
  • psongpsong Contributor Inactive User Role Beginner
    Hi There,

    I didn't reproduce a segmentation fault with pt-osc 2.2.8. What version of MySQL are you using?

    In my testing, when the data in the varchar column could be safely converted, the tool finishes fine:
    Successfully altered `test`.`t2`.

    When the data couldn't be converted, that tool would fail with the corresponding error message:
    2014-06-13T20:31:26 Error copying rows from `test`.`t2` to `test`.`_t2_new`: 2014-06-13T20:31:26 Copying rows caused a MySQL error 1264: Level: Warning
    Code: 1264
    Message: Out of range value for column 'name' at row 3
    2014-06-13T20:30:45 Error copying rows from `test`.`t2` to `test`.`_t2_new`: 2014-06-13T20:30:45 Copying rows caused a MySQL error 1366:
    Level: Warning
    Code: 1366
    Message: Incorrect integer value: 'mimi maya' for column 'name' at row 3

    Was the error message you posted from running on a table with 3 rows? Could you send the full command and the content of the table?
Sign In or Register to comment.

MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.
Copyright ©2005 - 2020 Percona LLC. All rights reserved.