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

main.sp fails sporadically in buildbot

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Won't Fix
    • 5.5(EOL), 10.0(EOL), 10.2(EOL), 10.3(EOL)
    • N/A
    • Tests
    • None

    Description

      The failure happens extremely rarely, according to the cross-reference, it was only observed twice – once about 2 years ago, and again now:
      http://buildbot.askmonty.org/buildbot/builders/kvm-deb-lucid-amd64/builds/4481/steps/test_4/logs/stdio

      main.sp                                  w2 [ fail ]
              Test ended at 2015-03-25 22:00:00
       
      CURRENT_TEST: main.sp
      /usr/bin/mysqltest: Error on delete of '/dev/shm/var/2/tmp//t1.frm' (Errcode: 2 "No such file or directory")
      /usr/bin/mysqltest: Error on delete of '/dev/shm/var/2/tmp//t1.MYD' (Errcode: 2 "No such file or directory")
      --- /usr/share/mysql/mysql-test/r/sp.result	2015-03-25 18:26:14.000000000 +0100
      +++ /dev/shm/var/2/log/sp.reject	2015-03-25 22:00:00.224016249 +0100
      @@ -7722,7 +7722,7 @@
       Handler_read_first	0
       Handler_read_key	2
       Handler_read_last	0
      -Handler_read_next	4097
      +Handler_read_next	0
       Handler_read_prev	0
       Handler_read_rnd	0
       Handler_read_rnd_deleted	0
       
      mysqltest: Result length mismatch
      

      Looking at the corresponding fragment in the test/result files, I don't see how it can happen apart from a genuine race condition in the server, when the status is queried before it got updated (but I don't know if it's even possible).

      Here is what the test does there:

      CREATE FUNCTION tdn() RETURNS int(7) DETERMINISTIC RETURN to_days(now());
      CREATE TABLE t1 (pk INT NOT NULL AUTO_INCREMENT PRIMARY KEY, daynum INT, a CHAR(1), INDEX(daynum), INDEX(a)) ENGINE=MyISAM;
      INSERT INTO t1 (daynum) VALUES (1),(2),(3),(4),(5),(TO_DAYS(NOW())),(7),(8);
      INSERT INTO t1 (daynum) SELECT a1.daynum FROM t1 a1, t1 a2, t1 a3, t1 a4, t1 a5;
      FLUSH TABLES;
      FLUSH STATUS;
      SHOW STATUS LIKE '%Handler_read%';
      Variable_name	Value
      Handler_read_first	0
      Handler_read_key	0
      Handler_read_last	0
      Handler_read_next	0
      Handler_read_prev	0
      Handler_read_rnd	0
      Handler_read_rnd_deleted	0
      Handler_read_rnd_next	0
      UPDATE t1 SET a = '+' WHERE daynum=tdn();
      SHOW STATUS LIKE '%Handler_read%';
      Variable_name	Value
      Handler_read_first	0
      Handler_read_key	2
      Handler_read_last	0
      Handler_read_next	4097
      Handler_read_prev	0
      Handler_read_rnd	0
      Handler_read_rnd_deleted	0
      Handler_read_rnd_next	0
      drop function tdn;
      drop table t1;
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.