pt-table-sync: Cannot nibble table
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
Incomplete
|
Medium
|
Jericho Rivera |
Bug Description
pt-table-sync --replicate vrtb.checksums h=db1.cedato.
# Syncing via replication h=10.146.
# DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE
# 0 0 0 0 Nibble 03:43:14 03:43:15 0 vrtb.playerVast
Getting error "Cannot nibble table" for few 0.5% of chunks that were synced.
tags: | added: pt134 |
Changed in percona-toolkit: | |
importance: | Undecided → Medium |
Changed in percona-toolkit: | |
status: | Incomplete → New |
Changed in percona-toolkit: | |
status: | New → Incomplete |
I see the root cause of the issue is:
"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '20170507' op=start& id=250292394' )"
# TableSyncNibble :5579 10946 DBD::mysql::db selectall_arrayref failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '20170507' op=start& id=250292394' ) OR (`day` = '547781985' AND `playerid` = 'http:' at line 1 [for Statement "EXPLAIN SELECT /*nibble boundary 0*/ `day`,` playerid` ,`subid` ,`vastid` ,`domain` ,`requests` ,`impressions` ,`imptime` ,`completed` ,`errors` ,`rev`, `loadreqs` ,`loaded` ,`actualrequest s`,`firstquarte r`,`midpoint` ,`thirdquarter` ,`click` ,`viewable` ,`mouse_ event`, `custom1` ,`custom2` FROM `vrtb`. `playerVastsSta tsByDomain` FORCE INDEX (`PRIMARY`) WHERE (((`day` > '20170507') OR (`day` = '20170507' AND `playerid` > '547024644') OR (`day` = '20170507' AND `playerid` = '547024644' AND `subid` > '') OR (`day` = '20170507' AND `playerid` = '547024644' AND `subid` = '' AND `vastid` > '1884830571') OR (`day` = '20170507' AND `playerid` = '547024644' AND `subid` = '' AND `vastid` = '1884830571' AND `domain` >= 'kpoplyrics.net')) AND ((`day` < '20170507') OR (`day` = '20170507' AND `playerid` < '547781985') OR (`day` = '20170507' AND `playerid` = '547781985' AND `subid` < 'http:// anything2mp3. com/ar/ batch'20170507' op=start& id=250292394') OR (`day` = '547781985' AND `playerid` = 'http:// anything2mp3. com/ar/ batch'859147246 'op=start& id=250292394' AND `subid` = '20170507' AND `vastid` < '547781985') OR (`day` = 'http:// anything2mp3. com/ar/ batch'859147246 'op=start& id=250292394' AND `playerid` = '$$custom_ param_esc( pageurl) $$' AND `subid` = ? AND `vastid` = ? AND `domain` <= ?))) ORDER BY `day`,` playerid` ,`subid` ,`vastid` ,`domain` LIMIT 9999, 1"] at /usr/bin/ pt-table- sync line 5576.