pt-table-sync reports 'wide character in print' and terminates

Bug #1275034 reported by Jonathan Tullett on 2014-01-31
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona Toolkit
Undecided
Unassigned

Bug Description

Running the following commandline:

$ PTDEBUG=1 /usr/bin/pt-table-sync --charset utf8 --execute --verbose --function MD5 --database $db --tables $tables A=utf8,u=$user,p=$password,h=$remotehost h=$localhost

Lots of information is shown, then I see the following:
# ChangeHandler:3504 2212 Fetching data on dbh DBI::db=HASH(0x1c7ebf8) for UPDATE: SELECT [...] WHERE `id`='12087' LIMIT 1
# ChangeHandler:3401 2212 Wide character in print at /usr/bin/pt-table-sync line 3656. while doing PublicData.ResponseSource on officeserver
# pt_table_sync:11298 2212 DBI::db=HASH(0x1c7ebf8) SELECT NOW()

At this point, the table sync stops.

The row in question (12087) has TEXT fields which contain UTF8 chars.

$ pt-table-sync --version
pt-table-sync 2.2.6

MariaDB 5.5.34.

tags: added: pt-table-sync
Kenny Gryp (gryp) wrote :

I don't have the error when running perl -CS pt-table-sync....

Download full text (4.3 KiB)

Able to reproduce it with pt-table-sync 2.2.7.

nilnandan@Dell-XPS:~$ PTDEBUG=1 /usr/bin/pt-table-sync --charset utf8 --execute --verbose --function MD5 --database test --tables t1 --sync-to-master h=localhost,u=root,p=msandbox,S=/tmp/mysql_sandbox20083.sock

# ChangeHandler:3461 8393 0 to DELETE
# ChangeHandler:3461 8393 1 to REPLACE
# ChangeHandler:3539 8393 Make REPLACE
# ChangeHandler:3549 8393 Fetching data on dbh DBI::db=HASH(0x1faf640) for REPLACE : SELECT `id`, `name`, `address` FROM `test`.`t1` WHERE `id`='3' LIMIT 1
# ChangeHandler:3401 8393 Wide character in print at /usr/bin/pt-table-sync line 3656. while doing test.t1 on localhost
# pt_table_sync:11281 8393 DBI::db=HASH(0x1faf640) SELECT NOW()
# pt_table_sync:11283 8393 Server time: 2014-09-10 13:58:20
# 0 0 0 0 0 13:58:20 13:58:20 1 test.t1
# pt_table_sync:11038 8393 Disconnected dbh DBI::db=HASH(0x1fb9398)
# pt_table_sync:11038 8393 Disconnected dbh DBI::db=HASH(0x2091760)
# pt_table_sync:11038 8393 Disconnected dbh DBI::db=HASH(0x1faf640)
# pt_table_sync:11038 8393 Disconnected dbh DBI::db=HASH(0x1faf388)
nilnandan@Dell-XPS:~$

But it seems, its warning not error because when I have tried without PTDEBUG just after above command. It ran successfully.

nilnandan@Dell-XPS:~$ pt-table-sync --charset utf8 --execute --verbose --function MD5 --database test --tables t1 --sync-to-master h=localhost,u=root,p=msandbox,S=/tmp/mysql_sandbox20083.sock
# Syncing A=utf8,S=/tmp/mysql_sandbox20083.sock,h=localhost,p=...,u=root
# DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE
# 0 1 0 0 Chunk 13:59:51 13:59:51 2 test.t1
nilnandan@Dell-XPS:~$

Even without PTDEBUG, it didn't give any error/warning.

nilnandan@Dell-XPS:~$ pt-table-checksum --user=root --password=msandbox --socket=/tmp/mysql_sandbox20082.sock --recursion-method dsn=D=percona,t=dsns
            TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
09-10T14:36:43 0 0 100000 5 0 0.625 dbtest.sbtest
09-10T14:36:43 0 0 0 1 0 0.042 mysql.columns_priv
09-10T14:36:43 0 0 0 1 0 0.025 mysql.db
09-10T14:36:43 0 0 0 1 0 0.026 mysql.event
09-10T14:36:43 0 0 0 1 0 0.044 mysql.func
09-10T14:36:43 0 0 40 1 0 0.044 mysql.help_category
09-10T14:36:43 0 0 485 1 0 0.033 mysql.help_keyword
09-10T14:36:43 0 0 1090 1 0 0.046 mysql.help_relation
09-10T14:36:44 0 0 533 1 0 0.046 mysql.help_topic
09-10T14:36:44 0 0 0 1 0 0.045 mysql.ndb_binlog_index
09-10T14:36:44 0 0 0 1 0 0.039 mysql.plugin
09-10T14:36:44 0 0 0 1 0 0.040 mysql.proc
09-10T14:36:44 0 0 0 1 0 0.026 mysql.procs_priv
09-10T14:36:44 0 0 2 1 0 0.042 mysql.proxies_priv
09-10T14:36:44 0 0 0 1 0 0.051 mysql.servers
09-10T14:36:44 0 0 0 ...

Read more...

Changed in percona-toolkit:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers