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

main.sp fails sporadically in buildbot

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.0
    • Fix Version/s: 10.0
    • Component/s: Tests
    • Labels:
      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:

      Unable to find source-code formatter for language: fragment from sp.result. Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml
      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;
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              There are no comments yet on this issue.

                People

                • Assignee:
                  elenst Elena Stepanova
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated: