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

Error 174 "Fatal error during initialization of handler" on partitioned Aria table

Details

    Description

      --source include/have_partition.inc
       
      CREATE TEMPORARY TABLE tmp (i INT) ENGINE=Aria;
      CREATE TABLE t1 LIKE tmp;
      INSERT INTO t1 () VALUES (),() ;
      ALTER TABLE t1 PARTITION BY RANGE(i) (PARTITION p1 VALUES LESS THAN (10), PARTITION p2 VALUES LESS THAN (100));
      ALTER TABLE t1 ADD PARTITION (PARTITION p3 VALUES LESS THAN (1000));
      DELETE FROM t1;
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 8cf7e3459d7309

      MariaDB [test]> DELETE FROM t1;
      ERROR 1030 (HY000): Got error 174 "Fatal error during initialization of handler" from storage engine Aria
      

      Not reproducible on 10.3.
      Not reproducible with MyISAM.

      Attachments

        Issue Links

          Activity

            This is partition's error, not Aria's.

            First two aria partitions don't have HA_OPTION_PAGE_CHECKSUM, the last one does. After MDEV-5336 this causes partitions to have differently set HA_CAN_ONLINE_BACKUPS. And ha_partition verifies that all partitions have identical table flags.

            The real bug is, probably, different default value for HA_OPTION_PAGE_CHECKSUM.

            serg Sergei Golubchik added a comment - This is partition's error, not Aria's. First two aria partitions don't have HA_OPTION_PAGE_CHECKSUM, the last one does. After MDEV-5336 this causes partitions to have differently set HA_CAN_ONLINE_BACKUPS. And ha_partition verifies that all partitions have identical table flags. The real bug is, probably, different default value for HA_OPTION_PAGE_CHECKSUM.

            But then, what should happen if the user explicitly has specified checksum option to have different values for different partitions?

            serg Sergei Golubchik added a comment - But then, what should happen if the user explicitly has specified checksum option to have different values for different partitions?
            bar Alexander Barkov added a comment - - edited

            Sorry, closed in a mistake. Reopening.

            bar Alexander Barkov added a comment - - edited Sorry, closed in a mistake. Reopening.

            On some reason the test case from the description doesn't fail anymore, but this one still does (and doesn't require temporary tables, either):

            --source include/have_partition.inc
             
            CREATE TABLE t1 (a INT) ENGINE=Aria PAGE_CHECKSUM=0 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (10));
            ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES LESS THAN (20));
            SHOW CREATE TABLE t1;
             
            # Cleanup
            DROP TABLE t1;
            

            10.4 af912664

            query 'SHOW CREATE TABLE t1' failed: 1030: Got error 174 "Fatal error during initialization of handler" from storage engine Aria
            

            elenst Elena Stepanova added a comment - On some reason the test case from the description doesn't fail anymore, but this one still does (and doesn't require temporary tables, either): --source include/have_partition.inc   CREATE TABLE t1 (a INT ) ENGINE=Aria PAGE_CHECKSUM=0 PARTITION BY RANGE (a) (PARTITION p1 VALUES LESS THAN (10)); ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES LESS THAN (20)); SHOW CREATE TABLE t1;   # Cleanup DROP TABLE t1; 10.4 af912664 query 'SHOW CREATE TABLE t1' failed: 1030: Got error 174 "Fatal error during initialization of handler" from storage engine Aria

            People

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