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

innodb_zip.index_large_prefix_4k fails with ER_TOO_BIG_ROWSIZE

    XMLWordPrintable

Details

    Description

      10.2 a241d411

      $ perl ./mtr innodb_zip.index_large_prefix_4k --mysqld=--innodb-page-size=4k
       
      innodb_zip.index_large_prefix_4k 'innodb' [ fail ]
              Test ended at 2020-02-06 21:34:29
       
      CURRENT_TEST: innodb_zip.index_large_prefix_4k
      mysqltest: At line 159: query 'create index idx1 on worklog5743_2(a2(4000))' failed: 1118: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
       
      The result from queries just before the failure was:
      < snip >
      ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
      show warnings;
      Level	Code	Message
      Error	1118	Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
      create index idx4 on worklog5743_1(a2(434));
      show warnings;
      Level	Code	Message
      create index idx5 on worklog5743_1(a1, a2(430));
      ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
      show warnings;
      Level	Code	Message
      Error	1118	Row size too large. The maximum row size for the used table type, not counting BLOBs, is 1982. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
      create index idx6 on worklog5743_1(a1, a2(428));
      show warnings;
      Level	Code	Message
      set global innodb_large_prefix=1;
      Warnings:
      Warning	131	Using innodb_large_prefix is deprecated and the parameter may be removed in future releases. See https://mariadb.com/kb/en/library/xtradbinnodb-file-format/
      SET sql_mode= '';
      create index idx1 on worklog5743_2(a2(4000));
       
      More results from queries before failure can be found in /data/bld/10.2-debug-nightly/mysql-test/var/log/index_large_prefix_4k.log
      

      Reproducible on 10.2-10.5.

      The test never runs anywhere, because it has an include file which requires innodb-page-size=4K, but the test doesn't have the option file, and the include file doesn't set it, it only checks the value. So the test always gets skipped.

      The failure was revealed when I tried to do MDEV-21664, which makes these include files enforce the setting rather than just check it. So, it should be enough to fix the test itself without adding the opt file for it, after MDEV-21664 is pushed, the opt file won't be necessary.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              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.