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

Testing for MDEV-11369 (instant ADD COLUMN)

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • N/A
    • Tests
    • None

    Description

      Development tree: bb-10.3-marko

      The feature is not ready for testing yet, but some regression testing and sanity checks on already implemented changes can be performed. There is no point creating a bug report for every problem, because it is an unstable frequently changed development tree, so I will collect failures here, one per comment, with numeration for easier reference.

      Attachments

        1. t23_1.sql
          229 kB
          Elena Stepanova
        2. t23_2.sql
          11 kB
          Elena Stepanova
        3. t23.dmp.gz
          9.79 MB
          Elena Stepanova

        Issue Links

          Activity

            elenst Elena Stepanova added a comment - - edited

            MDEV-11071, while technically unrelated, very badly affects current auto tests.
            MDEV-13923 is still not in 10.3 tree, and it causes numerous failures, but at least it can be worked around by disabling geometry in the tests.
            MDEV-12827 also shows up regularly and spoils results. No viable workaround.


            Nov 14th

            • MDEV-13201 appears a lot
            • MDEV-13820 appears regularly
            • MDEV-11071 still does too. Disabling temporary tables didn't help, it has other ways to fail.
            • [Warning] InnoDB: Table test/t1 contains 24 user defined columns in InnoDB, but 23 columns in MariaDB. Please check INFORMATION_SCHEMA.INNODB_SYS_COLUMNS and http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.}} shows a lot in tests involving crash recovery, but that's expected

            • 2017-11-15 10:44:21 0 [ERROR] InnoDB: Header page consists of zero bytes in datafile: ./test/#sql-62a8_10.ibd, Space ID:0, Flags: 0. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
              2017-11-15 10:44:21 0 [ERROR] InnoDB: Datafile './test/#sql-62a8_10.ibd' is corrupted. Cannot determine the space ID from the first 64 pages.

            • This I've only seen once so far:

              #5  0x00007fccad30a028 in __GI_abort () at abort.c:89
              #6  0x0000005591a321a2 in ut_dbg_assertion_failed (expr=0x0, file=0x5591f79828 "/home/travis/src/storage/innobase/log/log0recv.cc", line=1186) at /home/travis/src/storage/innobase/ut/ut0dbg.cc:61
              #7  0x00000055918a1c95 in recv_parse_or_apply_log_rec_body (type=MLOG_1BYTE, ptr=0x7fcc899d2318 "", end_ptr=0x7fcc899d231c "", space_id=144, page_no=0, apply=true, block=0x7fcc87b699b0, mtr=0x7fcc9497d550) at /home/travis/src/storage/innobase/log/log0recv.cc:1186
              #8  0x00000055918a4092 in recv_recover_page (just_read_in=true, block=0x7fcc87b699b0) at /home/travis/src/storage/innobase/log/log0recv.cc:1834
              #9  0x0000005591aa67fb in buf_page_io_complete (bpage=0x7fcc87b699b0, evict=false) at /home/travis/src/storage/innobase/buf/buf0buf.cc:6034
              #10 0x0000005591b3d073 in fil_aio_wait (segment=2) at /home/travis/src/storage/innobase/fil/fil0fil.cc:5359
              #11 0x00000055919cdbff in io_handler_thread (arg=0x55931a39f0 <n+16>) at /home/travis/src/storage/innobase/srv/srv0start.cc:340
              #12 0x00007fccadec1184 in start_thread (arg=0x7fcc9497e700) at pthread_create.c:312
              #13 0x00007fccad3cdffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
              

            elenst Elena Stepanova added a comment - - edited MDEV-11071 , while technically unrelated, very badly affects current auto tests. MDEV-13923 is still not in 10.3 tree, and it causes numerous failures, but at least it can be worked around by disabling geometry in the tests. MDEV-12827 also shows up regularly and spoils results. No viable workaround. Nov 14th MDEV-13201 appears a lot MDEV-13820 appears regularly MDEV-11071 still does too. Disabling temporary tables didn't help, it has other ways to fail. [Warning] InnoDB: Table test/t1 contains 24 user defined columns in InnoDB, but 23 columns in MariaDB. Please check INFORMATION_SCHEMA.INNODB_SYS_COLUMNS and http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.}} shows a lot in tests involving crash recovery, but that's expected 2017-11-15 10:44:21 0 [ERROR] InnoDB: Header page consists of zero bytes in datafile: ./test/#sql-62a8_10.ibd, Space ID:0, Flags: 0. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue. 2017-11-15 10:44:21 0 [ERROR] InnoDB: Datafile './test/#sql-62a8_10.ibd' is corrupted. Cannot determine the space ID from the first 64 pages. This I've only seen once so far: #5 0x00007fccad30a028 in __GI_abort () at abort.c:89 #6 0x0000005591a321a2 in ut_dbg_assertion_failed (expr=0x0, file=0x5591f79828 "/home/travis/src/storage/innobase/log/log0recv.cc", line=1186) at /home/travis/src/storage/innobase/ut/ut0dbg.cc:61 #7 0x00000055918a1c95 in recv_parse_or_apply_log_rec_body (type=MLOG_1BYTE, ptr=0x7fcc899d2318 "", end_ptr=0x7fcc899d231c "", space_id=144, page_no=0, apply=true, block=0x7fcc87b699b0, mtr=0x7fcc9497d550) at /home/travis/src/storage/innobase/log/log0recv.cc:1186 #8 0x00000055918a4092 in recv_recover_page (just_read_in=true, block=0x7fcc87b699b0) at /home/travis/src/storage/innobase/log/log0recv.cc:1834 #9 0x0000005591aa67fb in buf_page_io_complete (bpage=0x7fcc87b699b0, evict=false) at /home/travis/src/storage/innobase/buf/buf0buf.cc:6034 #10 0x0000005591b3d073 in fil_aio_wait (segment=2) at /home/travis/src/storage/innobase/fil/fil0fil.cc:5359 #11 0x00000055919cdbff in io_handler_thread (arg=0x55931a39f0 <n+16>) at /home/travis/src/storage/innobase/srv/srv0start.cc:340 #12 0x00007fccadec1184 in start_thread (arg=0x7fcc9497e700) at pthread_create.c:312 #13 0x00007fccad3cdffd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

            The test set currently consists of 48 test runs – 12 combinations of grammar/data, each is run in 4 variants: normal, normal with server restarts, replication, replication with master restarts.
            Example of results from one nightly set:

            PASSED   14
            FAILED, total   29
              with MDEV-13201 20
              with MDEV-13820 3
              with MDEV-12827 1
              with MDEV-11071 1
              with global_status_var.global_memory_used == 0 1
              with replication errors 3
            Test problems   5

            Last three positions are difficult to analyze, because attempts to repeat them usually end up with one of the already known MDEVs.

            elenst Elena Stepanova added a comment - The test set currently consists of 48 test runs – 12 combinations of grammar/data, each is run in 4 variants: normal, normal with server restarts, replication, replication with master restarts. Example of results from one nightly set: PASSED   14 FAILED , total   29   with MDEV-13201 20   with MDEV-13820 3   with MDEV-12827 1   with MDEV-11071 1   with global_status_var.global_memory_used == 0 1   with replication errors 3 Test problems   5 Last three positions are difficult to analyze, because attempts to repeat them usually end up with one of the already known MDEVs.

            I think that the assertion failure in recv_parse_or_apply_log_rec_body() is very similar to MDEV-13101.

            marko Marko Mäkelä added a comment - I think that the assertion failure in recv_parse_or_apply_log_rec_body() is very similar to MDEV-13101 .
            marko Marko Mäkelä added a comment - - edited

            There appears to be a problem that can occur when PRIMARY KEY columns are updated and similar PRIMARY KEY are inserted.
            So far, it has only been reported in the MDEV-12894 branch (bb-10.3-temporal), for the test

            ./mtr --mem --mysqld=--versioning-{force,hide=full,alter-history=keep} innodb.instant_alter,16k
            

            See tempesta-tech#366 for some analysis.
            A work-around for this bug is in tempesta-tech#367.
            Edit: Here is a simplified version of the test case:

            --source include/have_innodb.inc
            CREATE TABLE t2
            (id INT primary key, c1 VARCHAR(4000),
             p GEOMETRY NOT NULL DEFAULT ST_GeomFromText('LINESTRING(0 0,0 1,1 1)'))
            ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
             
            INSERT INTO t2 (id,c1) VALUES (1, REPEAT('a', 4000)), (2, REPEAT('a', 4000));
            ALTER TABLE t2 ADD COLUMN d1 INT;
            BEGIN;
            UPDATE t2 SET c1 = repeat(id, 4000);
            ROLLBACK;
            UPDATE t2 SET d1 = id;
            DROP TABLE t2;
            

            I converted this test case to reproduce the crash without using system versioning, and filed MDEV-14660.

            marko Marko Mäkelä added a comment - - edited There appears to be a problem that can occur when PRIMARY KEY columns are updated and similar PRIMARY KEY are inserted. So far, it has only been reported in the MDEV-12894 branch ( bb-10.3-temporal ), for the test ./mtr --mem --mysqld=--versioning-{force,hide=full,alter-history=keep} innodb.instant_alter,16k See tempesta-tech#366 for some analysis. A work-around for this bug is in tempesta-tech#367 . Edit: Here is a simplified version of the test case: --source include/have_innodb.inc CREATE TABLE t2 (id INT primary key , c1 VARCHAR (4000), p GEOMETRY NOT NULL DEFAULT ST_GeomFromText( 'LINESTRING(0 0,0 1,1 1)' )) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;   INSERT INTO t2 (id,c1) VALUES (1, REPEAT( 'a' , 4000)), (2, REPEAT( 'a' , 4000)); ALTER TABLE t2 ADD COLUMN d1 INT ; BEGIN ; UPDATE t2 SET c1 = repeat(id, 4000); ROLLBACK ; UPDATE t2 SET d1 = id; DROP TABLE t2; I converted this test case to reproduce the crash without using system versioning, and filed MDEV-14660 .

            10.3 and 10.4 went GA, so feature testing time has finished.

            elenst Elena Stepanova added a comment - 10.3 and 10.4 went GA, so feature testing time has finished.

            People

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