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

Assertion `block->type == PAGECACHE_EMPTY_PAGE || block->type == PAGECACHE_READ_UNKNOWN_PAGE || block->type == type || (block->type == PAGECACHE_PLAIN_PAGE && type == PAGECACHE_LSN_PAGE)' with aria_max_sort_file_size

Details

    Description

      --source include/have_sequence.inc
       
      SET @max_size.save= @@aria_max_sort_file_size;
      SET GLOBAL aria_max_sort_file_size= 0;
       
      CREATE TABLE t1 (pk INT PRIMARY KEY, a CHAR(255), KEY(a)) ENGINE=Aria;
      ALTER TABLE t1 DISABLE KEYS;
      INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
      ALTER TABLE t1 ENABLE KEYS;
       
      # Cleanup
      DROP TABLE t1;
      SET GLOBAL aria_max_sort_file_size= @max_size.save;
      

      10.2 5f1ec5cb

      mysqld: /data/src/10.2/storage/maria/ma_pagecache.c:4059: pagecache_write_part: Assertion `block->type == PAGECACHE_EMPTY_PAGE || block->type == PAGECACHE_READ_UNKNOWN_PAGE || block->type == type || (block->type == PAGECACHE_PLAIN_PAGE && type == PAGECACHE_LSN_PAGE)' failed.
      200727  2:10:23 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f4369322f12 in __GI___assert_fail (assertion=0x555dac580a80 "block->type == PAGECACHE_EMPTY_PAGE || block->type == PAGECACHE_READ_UNKNOWN_PAGE || block->type == type || (block->type == PAGECACHE_PLAIN_PAGE && type == PAGECACHE_LSN_PAGE)", file=0x555dac57f0d8 "/data/src/10.2/storage/maria/ma_pagecache.c", line=4059, function=0x555dac5813b0 <__PRETTY_FUNCTION__.16217> "pagecache_write_part") at assert.c:101
      #8  0x0000555dac0a94d7 in pagecache_write_part (pagecache=0x555dad68fe00 <maria_pagecache_var>, file=0x7f4348175d80, pageno=1, level=6, buff=0x7f434807eab0 "", type=PAGECACHE_PLAIN_PAGE, lock=PAGECACHE_LOCK_WRITE, pin=PAGECACHE_PIN, write_mode=PAGECACHE_WRITE_DELAY, page_link=0x7f435f611830, first_REDO_LSN_for_page=0, offset=0, size=8192) at /data/src/10.2/storage/maria/ma_pagecache.c:4054
      #9  0x0000555dac0cdfa7 in _ma_write_keypage (page=0x7f435f611920, lock=PAGECACHE_LOCK_WRITE, level=6) at /data/src/10.2/storage/maria/ma_page.c:250
      #10 0x0000555dac0f55a8 in _ma_enlarge_root (info=0x7f434807e390, key=0x7f435f6120b0, root=0x7f435f611a70) at /data/src/10.2/storage/maria/ma_write.c:597
      #11 0x0000555dac0f51e0 in _ma_ck_real_write_btree (info=0x7f434807e390, key=0x7f435f6120b0, root=0x7f435f611a70, comp_flag=131137) at /data/src/10.2/storage/maria/ma_write.c:534
      #12 0x0000555dac0f5036 in _ma_ck_write_btree_with_log (info=0x7f434807e390, key=0x7f435f6120b0, root=0x7f4348176720, comp_flag=131137) at /data/src/10.2/storage/maria/ma_write.c:498
      #13 0x0000555dac0f4e87 in _ma_ck_write_btree (info=0x7f434807e390, key=0x7f435f6120b0) at /data/src/10.2/storage/maria/ma_write.c:456
      #14 0x0000555dac0f4dea in _ma_ck_write (info=0x7f434807e390, key=0x7f435f6120b0) at /data/src/10.2/storage/maria/ma_write.c:441
      #15 0x0000555dac10ea7c in writekeys (sort_param=0x7f435f612520) at /data/src/10.2/storage/maria/ma_check.c:2942
      #16 0x0000555dac10ddfb in maria_repair (param=0x7f4348092568, info=0x7f434807e390, name=0x7f435f613b40 "./test/t1", rep_quick=1 '\001') at /data/src/10.2/storage/maria/ma_check.c:2713
      #17 0x0000555dac07f18d in ha_maria::repair (this=0x7f4348174ac8, thd=0x7f4348000af0, param=0x7f4348092568, do_optimize=false) at /data/src/10.2/storage/maria/ha_maria.cc:1695
      #18 0x0000555dac07ff28 in ha_maria::enable_indexes (this=0x7f4348174ac8, mode=2) at /data/src/10.2/storage/maria/ha_maria.cc:2038
      #19 0x0000555dabaf6661 in handler::ha_enable_indexes (this=0x7f4348174ac8, mode=2) at /data/src/10.2/sql/handler.cc:4330
      #20 0x0000555dab945595 in alter_table_manage_keys (table=0x7f4348173a60, indexes_were_disabled=1, keys_onoff=Alter_info::ENABLE) at /data/src/10.2/sql/sql_table.cc:7172
      #21 0x0000555dab9499c5 in simple_rename_or_index_change (thd=0x7f4348000af0, table_list=0x7f4348012540, keys_onoff=Alter_info::ENABLE, alter_ctx=0x7f435f614690) at /data/src/10.2/sql/sql_table.cc:8780
      #22 0x0000555dab94ae83 in mysql_alter_table (thd=0x7f4348000af0, new_db=0x7f4348012b58 "test", new_name=0x0, create_info=0x7f435f6152a0, table_list=0x7f4348012540, alter_info=0x7f435f6151f0, order_num=0, order=0x0, ignore=false) at /data/src/10.2/sql/sql_table.cc:9258
      #23 0x0000555dab9c841a in Sql_cmd_alter_table::execute (this=0x7f4348012b60, thd=0x7f4348000af0) at /data/src/10.2/sql/sql_alter.cc:333
      #24 0x0000555dab87b228 in mysql_execute_command (thd=0x7f4348000af0) at /data/src/10.2/sql/sql_parse.cc:5964
      #25 0x0000555dab8801a9 in mysql_parse (thd=0x7f4348000af0, rawbuf=0x7f4348012458 "ALTER TABLE t1 ENABLE KEYS", length=26, parser_state=0x7f435f616610, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7733
      #26 0x0000555dab86e4d5 in dispatch_command (command=COM_QUERY, thd=0x7f4348000af0, packet=0x7f434808d401 "ALTER TABLE t1 ENABLE KEYS", packet_length=26, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1824
      #27 0x0000555dab86cf50 in do_command (thd=0x7f4348000af0) at /data/src/10.2/sql/sql_parse.cc:1377
      #28 0x0000555dab9c2fb1 in do_handle_one_connection (connect=0x555dadaa4090) at /data/src/10.2/sql/sql_connect.cc:1336
      #29 0x0000555dab9c2d1c in handle_one_connection (arg=0x555dadaa4090) at /data/src/10.2/sql/sql_connect.cc:1241
      #30 0x0000555dac1d9048 in pfs_spawn_thread (arg=0x555dadb0af00) at /data/src/10.2/storage/perfschema/pfs.cc:1869
      #31 0x00007f436b2ab4a4 in start_thread (arg=0x7f435f617700) at pthread_create.c:456
      #32 0x00007f43693dfd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Reproducible on 10.1-10.5.
      No obvious problem on a non-debug build.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            monty Michael Widenius made changes -
            Assignee Vladislav Lesin [ vlad.lesin ] Michael Widenius [ monty ]

            When maria_drop_all_indexes() reset the key files, it didn't flush
            the page cache. This confused the cache as there where old key blocks
            marked with LSN in it and repair tried to overwrite these with PLAIN
            blocks which is not allowed.

            monty Michael Widenius added a comment - When maria_drop_all_indexes() reset the key files, it didn't flush the page cache. This confused the cache as there where old key blocks marked with LSN in it and repair tried to overwrite these with PLAIN blocks which is not allowed.
            monty Michael Widenius made changes -
            Status Open [ 1 ] In Progress [ 3 ]

            Review, testing and pushing

            monty Michael Widenius added a comment - Review, testing and pushing
            monty Michael Widenius made changes -
            issue.field.resolutiondate 2020-09-25 14:16:23.0 2020-09-25 14:16:23.972
            monty Michael Widenius made changes -
            Fix Version/s 10.4.15 [ 24507 ]
            Fix Version/s 10.5.6 [ 24508 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.5.7 [ 25019 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.5.6 [ 24508 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.4.16 [ 25020 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.4.15 [ 24507 ]
            elenst Elena Stepanova made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 111705 ] MariaDB v4 [ 158145 ]

            People

              monty Michael Widenius
              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.