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

LP #1602858: Additional automatic exclusions for checksum and sync


    • Type: Bug
    • Status: Open
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None


      **Reported in Launchpad by Ceri WIlliams last update 13-07-2016 22:02:00

      There are a number of automatic exclusions on a schema and table level in both pt-table-checksum (line numbers below) and pt-table-sync (line numbers differ):

      sub database_is_allowed

      7571 if ( $db =~ m/information_schema|performance_schema|lost+found/ )

      { 7572 PTDEBUG && _d('Database', $db, 'is a system database, ignoring'); 7573 return 0; 7574 }

      sub table_is_allowed

      7612 return 0 if $db eq 'mysql' && $tbl =~ m/^(?:
      7613 general_log
      7614 |slow_log
      7615 |innodb_index_stats
      7616 |innodb_table_stats
      7617 |slave_master_info
      7618 |slave_relay_log_info
      7619 |slave_worker_info
      7620 )$/x;

      There are some additional ones that should not be touched, even if writes are not replicated to them:

      • sys (can be completely ignored)
      • mysql.inventory (from MEM)
      • mysql.gtid_execution
      • mysql.plugin
      • mysql.engine_cost
      • mysql.server_cost

      In addition, using pt-table-sync with --sync-to-master and --replicate may cause undesirable changes:

      • a master with fast disks, a slave with slow disks and an engine_cost change being altered
      • sys configuration differences being applied on a slave of different hardward specification, etc

      Whilst these can be manually excluded, it leaves a default risk for the user and means that they should always apply exclusions. This becomes more important if differences from the checksum were to be automatically resolved using the --sync-to-master and --replicate.

      Tested with v2.2.18.

        Smart Checklist




              • Assignee:
                lpjirasync lpjirasync (Inactive)
              • Votes:
                0 Vote for this issue
                2 Start watching this issue


                • Created: