Uploaded image for project: 'Percona Toolkit'
  1. Percona Toolkit
  2. PT-1728

Pt-table-checksum failing to scan small tables that get wiped out often

Details

    • Bug
    • Status: Done
    • Medium
    • Resolution: Fixed
    • None
    • 3.1.0
    • 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.

      Attachments

        Activity

          People

            carlos.salguero Carlos Salguero (Inactive)
            carlos.salguero Carlos Salguero (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days, 2 hours
                2d 2h

                Smart Checklist