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

pt-table-checksum does not make the session statement based when using row based replication

    Details

    • Type: Bug
    • Status: Done
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.5
    • Component/s: None
    • Labels:
      None

      Description

      Dear, 

      When using pt-table-checksum the tool will not detect differences when performing this on a system with ROW based replication active.

      Example:

      Installed:
        percona-toolkit.x86_64 0:3.0.4-1.el7                                                                                                                                              
      
      Complete!
      [root@master bin]# PTDEBUG=1 pt-table-checksum h=localhost,u=pttc,p=password --no-check-binlog-format  > ~/newversionptt 2>&1
      [root@master bin]# grep binlog_format ~/newversionptt 
      # OptionParser:1988 12902 Short help: Check that the binlog_format is the same on all servers
      # OptionParser:2028 12902 Parsing opt spec: group => default spec => check-binlog-format! desc => Check that the binlog_format is the same on all servers (default yes) attributes => HASH(0x25c4238)
      
      With Version 3.0.3 the following out put happens and the difference is detected:
      
      [root@master bin]# PTDEBUG=1 pt-table-checksum h=localhost,u=pttc,p=password --no-check-binlog-format  > ~/oldversionpt 2>&1
      [root@master bin]# grep binlog_format ~/oldversionpt 
      # OptionParser:1988 12873 Short help: Check that the binlog_format is the same on all servers
      # OptionParser:2028 12873 Parsing opt spec: group => default spec => check-binlog-format! desc => Check that the binlog_format is the same on all servers (default yes) attributes => HASH(0x1f36c98)
      # pt_table_checksum:9313 12873 DBI::db=HASH(0x1fd47a8) SELECT @@binlog_format
      # pt_table_checksum:9315 12873 Original binlog_format: ROW
      # pt_table_checksum:9319 12873 DBI::db=HASH(0x1fd47a8) /*!50108 SET @@binlog_format := 'STATEMENT'*/
      
      
      Output files for the non detected will be attached
      
      

      I've put this being a blocker bug because the tool does not give an error, nor does it actually compare anything on the slave. It's just performing row replication to the slave server.

       

      oldversionpt

      newversionptt

       

      Hope this helps out, let me know if you need additional information.

       

      Kind regards,

       

      Dimitri

       

        Smart Checklist

          Attachments

          1. newversionptt
            437 kB
          2. oldversionpt
            407 kB

            Activity

              People

              • Assignee:
                carlos.salguero Carlos Salguero
                Reporter:
                dimitri.vanoverbeke Dimitri Vanoverbeke
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: