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

    • Bug
    • Status: Done
    • Critical
    • Resolution: Fixed
    • None
    • 3.0.5
    • None
    • 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

       

      Attachments

        1. oldversionpt
          407 kB
        2. newversionptt
          437 kB

        Activity

          People

            carlos.salguero Carlos Salguero (Inactive)
            dimitri.vanoverbeke Dimitri Vanoverbeke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Smart Checklist