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

engine ARIA with row_format=FIXED is broken

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.2.10
    • 10.2.13
    • Storage Engine - Aria
    • Ubuntu 16.04 LTS 64 Bit (fresh install in VM)
      mariadb 10.2.10-MariaDB-10.2.10+maria~xenial-log from official repository (fresh install)

    Description

      hi,

      i discovered a bug when using the storage-engine ARIA with row_format=FIXED. we use this combination for an efficient storage of a highly partioned table with more than 4*10^9 rows.

      after migration from mariadb 10.1 to 10.2 our import was broken because of

       ERROR 1114 (HY000) at line 34: The table 'nutzung' is full
      

      my first thought was that it is a problem related to partitioning (we create a new partition every month and first occurence of the problem was on the same day).
      i started a clean rebuild of the complete database, but the error remains and already occured during the import.

      after playing around with the create-statement i detected that this problem is not related to partitioning but to the row_format.

      our table definition is not very complex

      >CREATE TABLE `nutzung` (
      >  `id1` mediumint(8) unsigned NOT NULL,
      >  `id2` int(10) unsigned NOT NULL,
      >  `start` int(10) unsigned NOT NULL,
      >  `ende` int(10) unsigned NOT NULL,
      >  `laenge` mediumint(8) unsigned NOT NULL,
      >  `bytes` bigint(20) unsigned NOT NULL,
      >  `flag` tinyint(3) unsigned NOT NULL DEFAULT 0,
      >  `ident` char(16) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
      >  `dummy` char(2) CHARACTER SET ascii COLLATE ascii_bin NOT NULL DEFAULT '',
      >  KEY `idx_id2` (`id2`),
      >  KEY `idx_id1` (`id1`),
      >  KEY `idx_start` (`start`),
      >  KEY `idx_ende` (`ende`)
      >) ENGINE=Aria DEFAULT CHARSET=ascii row_format=FIXED;
      

      when we now insert data into this table, then the table is full after the fourth multi-insert-statement (1MB sql per statement ).
      "show table status" now shows

       nutzung | Aria | 10 | Fixed | 65535 | 46 | 3014610 | 3014655 | 1957888 | 0 | NULL | ...  | row_format=FIXED
      

      you will note that max_data_length is a small value
      and "check table" reports

       ...nutzung | check |warning | datefile ist almost full, 3014610 of 3014655 used
      

      we now reverted the database to current release of mariadb 10.1 and after reimport everything was ok again.

      "show table" in 10.1 reports for the table

       | nutzung           | Aria   |      10 | Fixed      | 4186352479 |             46 | 192572214034 |               0 | 121799540736 |         0 |           NULL | 2017-11-08 01:37:42 | 2017-11-08 10:29:43 | 2017-11-08 12:49:30 | ascii_general_ci |     NULL | row_format=FIXED partitioned |
      

      regards
      marc

      Attachments

        Issue Links

          Activity

            People

              monty Michael Widenius
              marcp Marc Pohl
              Votes:
              1 Vote for this issue
              Watchers:
              7 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.