Details
-
Bug
-
Status: Done
-
Medium
-
Resolution: Fixed
-
None
-
None
-
None
Description
Hi, I have a small table that is often cleared/truncated. And it looks like the pt-table-checksum I am running to checksum that hits a race condition and fails to scan the table.
NOTE: I am running a pt-table-checksum with patches from another ticket to force nibble all the tables that have more than 1 row. The patch never made it to released version, so this is a locally applied patch. The exact pt-table-checksum binary I am using is attached.
The sequence is -
- pt-table-checksum notices 2 rows in that table.
- It decides to nibble the table
- The table gets wiped out
- pt-table-checksum tries to figure out lower/upper boundary for nibbling
- Hits a bug in Perl code
```
Error checksumming table edgestore_shard01000010011.edgedata_xtxn: Can't use an undefined value as an ARRAY reference at /srv/yaps/mounts/percona_toolkit/default/8ca5d17c0d8f6af3974777f607d682af1ea0f5e9-c7e383000995dc78359ac2e9f26287f2/pt_table_checksum_wrapper.runfiles/_main_/dropbox/database_ops/pt_tc/pt-table-checksum line 11497.
```
I am 99% sure this is the sequence that causes it to crash. It will be great if a pt-table-checksum developer can take a quick look at this and give thought. I don't have a repro'able case.
MySQL version is 5.6, pt-table-checksum is forked from vs 3.0.9.