[PT-1551] pt-table-checksum fails on MySQL 8.0.11 Created: 11/May/18 Updated: 22/Jun/18 Resolved: 22/Jun/18
|Reporter:||Carlos Salguero||Assignee:||Carlos Salguero|
|Remaining Estimate:||0 minutes|
|Time Spent:||13 minutes|
|Original Estimate:||Not Specified|
I am testing pt-table-checksum and this test is failing: t/pt-table-checksum/ignore_columns.t
If you have a sandbox with at least a master and a slave, you can reproduce the problem as follow:
I am going to assume the master is running on port 12345 and the slave is at port 12346
On the master, run:
So, on the master and on the slave, you will have these rows:
and now on the slave you will have the column c empty on all rows:
The problem starts here:
which is correct.
Then re-run pt-table-checksum ignoring column c:
As you can see, it says DIFFS 1 which is incorrect since the column c was ignored and all other columns have the same values.
If you run again
It seems like the first time is somehow getting an old value and re-running the program it gets the correct values.
|Comment by Carlos Salguero [ 15/May/18 ]|
I found the cause of the issue.
It seems like in MySQL replication lag is not being tested (or is it a MySQL 8 problem?) correctly.
|Comment by Carlos Salguero [ 22/Jun/18 ]|
This is part of PT-1554. While I was testing pt-table-checksum ignore_columns.t was failing and it was because the original method in pt-table-checksum to wait for the slaves to catch up, wasn't enough.