Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-14203

rpl.rpl_extra_col_master_myisam, rpl.rpl_slave_load_tmpdir_not_exist failed in buildbot with a warning

Details

    Description

      http://buildbot.askmonty.org/buildbot/builders/kvm-deb-jessie-x86/builds/3095/steps/mtr/logs/stdio

      rpl.rpl_extra_col_master_myisam 'row'    w2 [ fail ]  Found warnings/errors in server log file!
              Test ended at 2017-10-25 12:17:47
      line
      2017-10-25 12:17:46 2948291392 [Warning] Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them
      ^ Found warnings in /dev/shm/var/2/log/mysqld.1.err
      ok
       
       - saving '/dev/shm/var/2/log/rpl.rpl_extra_col_master_myisam-row/' to '/dev/shm/var/log/rpl.rpl_extra_col_master_myisam-row/'
       
      Retrying test rpl.rpl_extra_col_master_myisam, attempt(2/3)...
      

      http://buildbot.askmonty.org/buildbot/builders/kvm-fulltest/builds/10412

      rpl.rpl_slave_load_tmpdir_not_exist 'stmt' w3 [ fail ]  Found warnings/errors in server log file!
              Test ended at 2017-09-27 20:34:55
      line
      2017-09-27 20:34:55 140341914171136 [Warning] Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them
      ^ Found warnings in /mnt/buildbot/build/mariadb-10.2.10/mysql-test/var/3/log/mysqld.1.err
      ok
       
       - saving '/mnt/buildbot/build/mariadb-10.2.10/mysql-test/var/3/log/rpl.rpl_slave_load_tmpdir_not_exist-stmt/' to '/mnt/buildbot/build/mariadb-10.2.10/mysql-test/var/log/rpl.rpl_slave_load_tmpdir_not_exist-stmt/'
       
      Retrying test rpl.rpl_slave_load_tmpdir_not_exist, attempt(2/3)...
      

      Attachments

        Issue Links

          Activity

            Elkin Andrei Elkin added a comment -

            alice Could you please verify a possibility that the tests run in environments left by preceding tests. I checked rpl.rpl_extra_col_master_myisam to not see any manipulation of with @@global.binlog_checksum (e.g setting it OFF) in the test which would explain the warning. I am guessing such setting happens in a previous test by that mtr worker.
            Thank you!

            Elkin Andrei Elkin added a comment - alice Could you please verify a possibility that the tests run in environments left by preceding tests. I checked rpl.rpl_extra_col_master_myisam to not see any manipulation of with @@global.binlog_checksum (e.g setting it OFF) in the test which would explain the warning. I am guessing such setting happens in a previous test by that mtr worker. Thank you!

            I do not see such failure any more in Azure. I guess, it can be closed

            tturenko Timofey Turenko added a comment - I do not see such failure any more in Azure. I guess, it can be closed
            Elkin Andrei Elkin added a comment -

            sujatha.sivakumar: could the failure relate to a preceding test of the same mtr worker?

            Elkin Andrei Elkin added a comment - sujatha.sivakumar : could the failure relate to a preceding test of the same mtr worker?

            When slave tries to connect to master 'get_master_version_and_clock' function
            is invoked to perform elaborated slave-master handshake. During this process
            slave server queries master server, to know if it is checksum aware and at the
            same time master is notified about its CRC-awareness. The master's side
            instant value of @@global.binlog_checksum is stored in the dump thread's
            uservar area as well as cached locally to become known in consensus by master
            and slave.

            Post hand-shake slave requests master for binlog dump. It sends
            'COM_BINLOG_DUMP'. This command is sent to master by 'cli_advanced_command'
            call.

            if (net_write_command(net,(uchar) command, header, header_length,
                  arg, arg_length))
              {
                DBUG_PRINT("error",("Can't send command to server. Error: %d",
                  socket_errno));
                  if (net->last_errno == ER_NET_PACKET_TOO_LARGE)
                {
                  set_mysql_error(mysql, CR_NET_PACKET_TOO_LARGE, unknown_sqlstate);
                  goto end;
                }
                end_server(mysql);
                if (mysql_reconnect(mysql) || stmt_skip)
                  goto end;
            

            If there is some temporary network failure during this request_dump call,
            'end_server' is invoked to close the current connection between master and
            slave. Upon connection close the dump thread on the master gets terminated
            and it clears the 'uservar' data it got through master-slave handshake.

            The 'COM_BINLOG_DUMP' command is sent once again without master-slave
            handshake. Since the checksum data is not available with new dump thread a
            warning gets reported.

            sujatha.sivakumar Sujatha Sivakumar (Inactive) added a comment - When slave tries to connect to master 'get_master_version_and_clock' function is invoked to perform elaborated slave-master handshake. During this process slave server queries master server, to know if it is checksum aware and at the same time master is notified about its CRC-awareness. The master's side instant value of @@global.binlog_checksum is stored in the dump thread's uservar area as well as cached locally to become known in consensus by master and slave. Post hand-shake slave requests master for binlog dump. It sends 'COM_BINLOG_DUMP'. This command is sent to master by 'cli_advanced_command' call. if (net_write_command(net,(uchar) command, header, header_length, arg, arg_length)) { DBUG_PRINT("error",("Can't send command to server. Error: %d", socket_errno)); if (net->last_errno == ER_NET_PACKET_TOO_LARGE) { set_mysql_error(mysql, CR_NET_PACKET_TOO_LARGE, unknown_sqlstate); goto end; } end_server(mysql); if (mysql_reconnect(mysql) || stmt_skip) goto end; If there is some temporary network failure during this request_dump call, 'end_server' is invoked to close the current connection between master and slave. Upon connection close the dump thread on the master gets terminated and it clears the 'uservar' data it got through master-slave handshake. The 'COM_BINLOG_DUMP' command is sent once again without master-slave handshake. Since the checksum data is not available with new dump thread a warning gets reported.

            Patch is reviewed and approved by Elkin

            Fix is implemented in 10.2.33.

            Patch has been tested on higher versions.

            In 10.3: Minor merge conflict is observed in "sql/net_serv.cc"
            Patch: https://github.com/MariaDB/server/commit/c35133084cb7d6f41f1208fa822b9da1bed282cd

            10.4: https://github.com/MariaDB/server/commit/9994afef39fa31ae6839c1b62176d6c3000c1c46
            10.5: https://github.com/MariaDB/server/commit/50dac0cbcf472f3db59e5534cacbde236ba01b26

            sujatha.sivakumar Sujatha Sivakumar (Inactive) added a comment - - edited Patch is reviewed and approved by Elkin Fix is implemented in 10.2.33. Patch has been tested on higher versions. In 10.3: Minor merge conflict is observed in "sql/net_serv.cc" Patch: https://github.com/MariaDB/server/commit/c35133084cb7d6f41f1208fa822b9da1bed282cd 10.4: https://github.com/MariaDB/server/commit/9994afef39fa31ae6839c1b62176d6c3000c1c46 10.5: https://github.com/MariaDB/server/commit/50dac0cbcf472f3db59e5534cacbde236ba01b26

            People

              sujatha.sivakumar Sujatha Sivakumar (Inactive)
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.