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

BB Failures from Random mariadb cli Disconnections

    XMLWordPrintable

Details

    Description

      Numerous MTR tests have sporadic failures on buildbot from a mariadb connection being killed (disconnected?). A couple examples:

      rpl.rpl_row_create_table can fail with

      CURRENT_TEST: rpl.rpl_row_create_table
      ERROR 2026 (HY000): TLS/SSL error: wrong version number
      Error closing MYSQL pipe:  at /home/buildbot/amd64-ubuntu-2204-debug-ps/build/mysql-test/var/9/tmpkrrPbn line 8.
      mysqltest: In included file "./include/write_result_to_file.inc":
      included from ./include/show_events.inc at line 91:
      included from ./include/show_binlog_events.inc at line 35:
      included from /home/buildbot/amd64-ubuntu-2204-debug-ps/build/mysql-test/suite/rpl/t/rpl_row_create_table.test at line 99:
      At line 65: command "perl" failed with error: 1  my_errno: 0  errno: 0
      

      And rpl.rpl_gtid_mdev4474 can fail with

      CURRENT_TEST: rpl.rpl_gtid_mdev4474
      ERROR 2026 (HY000): TLS/SSL error: Broken pipe (32)
      Error closing MYSQL pipe:  at /data/buildbot/workers/prod/amd64-freebsd-14/build/mysql-test/var/16/tmph37h8w line 8.
      mysqltest: In included file "./include/write_result_to_file.inc": 
      included from ./include/show_events.inc at line 91:
      included from ./include/show_binlog_events.inc at line 35:
      included from /data/buildbot/workers/prod/amd64-freebsd-14/build/mysql-test/suite/rpl/t/rpl_gtid_mdev4474.test at line 49:
      At line 65: command "perl" failed with error: 1  my_errno: 0  errno: 0
      

      Both of these examples use write_result_to_file.inc which uses the mariadb command-line tool to execute a SHOW BINLOG EVENTS query. Though note, not all failures are limited to this use case of SHOW BINLOG EVENTS, but a fair number of them are, which makes me wonder if that command has a bug and causes mariadb cli to die/crash.

      The relevant code in this use case in write_result_to_file.inc is in a perl script:

      perl;
      ...
        open MYSQL, "| $mysql > $outfile" or die "Failed to open pipe to client on server '$server_number': $!";
        print MYSQL $stmt, ';' or die "Error printing statement to MYSQL pipe: $!";
        close MYSQL or die "Error closing MYSQL pipe: $!";
      EOF
      

      Where the tests fail on the close line. These errors can be reproduced by providing write_result_to_file.inc with some long running command (e.g. set debug_sync="now wait_for nosig") and killing it while the helper script file is executing it.

      So then the question is – why are these mariadb connections randomly dying during tests?

      Attachments

        Issue Links

          Activity

            People

              bnestere Brandon Nesterenko
              bnestere Brandon Nesterenko
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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