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

engine ARIA with row_format=FIXED is broken

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.2.10
    • Fix Version/s: 10.2.13
    • Component/s: Storage Engine - Aria
    • Labels:
    • Environment:
      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

          Activity

            People

            Assignee:
            monty Michael Widenius
            Reporter:
            marcp Marc Pohl
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: