Skip to:
The pt-table-sync hits the following error when the primary key is a UUID binary 16 column:
How to repeat:
Create the following table on Source:
Do the following inserts:
With the above done, do the following delete on the Replica server to have differences between servers:
Now it's time to run pt-table-checksum + pt-table-sync:
pt-table-checksum:
pt-table-sync:
Tool version:
Relevant code:
Example “dangerous” table definition:
Bug happens, because pt-table-sync re-implements prepared statements and replaces question marks in the generated query that finds nibble boundaries.
So this bug will happen for:
Indexes that contain question mark anywhere in the value
Tables with columns, named similar to test?table?id
test?table?id
pt-table-checksum will also fail for columns, named similar to test?table``number
test?table``number
The pt-table-sync hits the following error when the primary key is a UUID binary 16 column:
How to repeat:
Create the following table on Source:
Do the following inserts:
With the above done, do the following delete on the Replica server to have differences between servers:
Now it's time to run pt-table-checksum + pt-table-sync:
pt-table-checksum:
pt-table-sync:
Tool version: