[MDEV-29058] Assertion `index->type == 32' failed in dict_index_build_internal_fts Created: 2022-07-07  Updated: 2022-07-26  Resolved: 2022-07-26

Status: Closed
Project: MariaDB Server
Component/s: Full-text Search, Storage Engine - InnoDB
Affects Version/s: 10.3
Fix Version/s: 10.3.36, 10.4.26, 10.5.17, 10.6.9, 10.7.5

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: not-10.4, not-10.5, not-10.6, not-10.7, not-10.8, not-10.9


 Description   

The assertion only fails on 10.3, while 10.4+ produce the warnings which are probably expected. If they indeed are, then the JIRA entry is for the record only, I don't expect it to be fixed.

--source include/have_innodb.inc
 
--let $datadir= `select @@datadir`
 
CREATE TABLE t (f CHAR(8), FULLTEXT KEY (f)) ENGINE=InnoDB;
FLUSH TABLES t FOR EXPORT;
--copy_file $datadir/test/t.ibd $datadir/test/t.ibd.save
--copy_file $datadir/test/t.cfg $datadir/test/t.cfg.save
UNLOCK TABLES;
 
ALTER TABLE t DISCARD TABLESPACE;
--move_file $datadir/test/t.ibd.save $datadir/test/t.ibd
--move_file $datadir/test/t.cfg.save $datadir/test/t.cfg
ALTER TABLE t IMPORT TABLESPACE;
 
# Cleanup
DROP TABLE t;

10.3 d6e80c21

2022-07-07 21:59:14 9 [ERROR] InnoDB: Index `f` of table `test`.`t` is corrupted
2022-07-07 21:59:14 9 [Note] InnoDB: Load corrupted index `f` of table `test`.`t`
mysqld: /data/src/10.3/storage/innobase/dict/dict0dict.cc:2723: dict_index_t* dict_index_build_internal_fts(dict_index_t*): Assertion `index->type == 32' failed.
220707 21:59:14 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f4e28d1e662 in __GI___assert_fail (assertion=0x55e29bbea851 "index->type == 32", file=0x55e29bbe9620 "/data/src/10.3/storage/innobase/dict/dict0dict.cc", line=2723, function=0x55e29bbea868 "dict_index_t* dict_index_build_internal_fts(dict_index_t*)") at assert.c:101
No locals.
#8  0x000055e29b58f59e in dict_index_build_internal_fts (index=0x7f4dcc168c20) at /data/src/10.3/storage/innobase/dict/dict0dict.cc:2723
        new_index = 0x7f4e1dea42b0
        __PRETTY_FUNCTION__ = "dict_index_t* dict_index_build_internal_fts(dict_index_t*)"
        table = 0x11d6b0f09c577500
#9  0x000055e29b58d297 in dict_index_add_to_cache (index=@0x7f4e1dea4340: 0x7f4dcc168c20, page_no=4294967295, add_v=0x0) at /data/src/10.3/storage/innobase/dict/dict0dict.cc:2014
        new_index = 0x0
        n_ord = 139972113234896
        i = 1285409291122472192
        __PRETTY_FUNCTION__ = "dberr_t dict_index_add_to_cache(dict_index_t*&, ulint, const dict_add_v_col_t*)"
#10 0x000055e29b5aa8d5 in dict_load_indexes (table=0x7f4dcc167bc0, heap=0x7f4dcc03c780, ignore_err=DICT_ERR_IGNORE_FK_NOKEY) at /data/src/10.3/storage/innobase/dict/dict0load.cc:2580
        index = 0x7f4dcc168c20
        err_msg = 0x0
        sys_indexes = 0x55e29d840850
        sys_index = 0x55e29d842820
        pcur = {btr_cur = {index = 0x55e29d842820, page_cur = {index = 0x0, rec = 0x7f4e1e1a898c "", offsets = 0x0, block = 0x7f4e1e13eb00}, purge_node = 0x0, left_block = 0x0, thr = 0x0, flag = BTR_CUR_BINARY, tree_height = 1, up_match = 1, up_bytes = 0, low_match = 0, low_bytes = 7, n_fields = 0, n_bytes = 0, fold = 0, path_arr = 0x0, rtr_info = 0x0}, latch_mode = 1, old_stored = false, old_rec = 0x0, old_n_core_fields = 10288, old_n_fields = 0, rel_pos = 0, block_when_stored = {m_block = 0x0, m_page_id = {m_space = 0, m_page_no = 0}}, modify_clock = 0, pos_state = BTR_PCUR_IS_POSITIONED, search_mode = PAGE_CUR_GE, trx_if_known = 0x0, old_rec_buf = 0x0, buf_size = 0}
        tuple = 0x7f4dcc03c800
        dfield = 0x7f4dcc03c838
        rec = 0x7f4e1e1a898c ""
        buf = 0x7f4dcc03c850 ""
        mtr = {m_memo = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea4628, prev = 0x7f4e1dea4628}}, size_ = 1}, m_size = 32, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea4608, prev = 0x7f4e1dea4608}, m_buf_end = 0, m_magic_n = 375767, m_data = "\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\353\023\036N\177\000\000\001\000\000\000\000\000\000\000\360\022T\372\023\226.\000`\003\000\000\000\000\000\000\020G\352\035N\177\000\000@B\033(N\177\000\000\000\a\002'N\177\000\000\240\235\332&N\177\000\000\003\021\062\233\342U\000\000\000w\352\035N\177\000\000\000w\352\035N\177\000\000\340F\352\035N\177\000\000\377\377\377\377\377\377\377\377\340F\352\035N\177\000\000\221\021F\233\342U\000\000\263\215%\233\342U\000\000(\347\023\234\342U\000\000\000G\352\035N\177\000\000\320v%\233\000\000\000\000\001\000\000\234\000\000\000\000\000\000\000\000\342U", '\000' <repeats 18 times>..., m_used = 32}}, m_log = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea4868, prev = 0x7f4e1dea4868}}, size_ = 1}, m_size = 0, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea4848, prev = 0x7f4e1dea4848}, m_buf_end = 0, m_magic_n = 375767, m_data = "\000uW\234\360\260\326\021\260H\352\035N\177\000\000\020N\352\035N\177\000\000\340H\352\035N\177", '\000' <repeats 18 times>, "\300o\352\035N\177\000\000\000\300\004\000\000\000\000\000\002\230E\233\342U\000\000\340H\352\035N\177\000\000\200>\v\314M\177\000\000 I\352\035N\177\000\000@\260E\233\342U\000\000\020I\352\035N\177\000\000\000uW\234\360\260\326\021\000\000\000\000\000\000\000\000\060\360\026\314\000\000\000\000\361\370\310\233\342U\000\000\000\000\000\000\000\000\000\000@I\352\035N\177\000\000\223\331\206\233\000\000\001\000`I\352\035N\177\000\000g\330\206\233\342U\000\000`I\352\035N\177\000\000\223\331\206\233\342U\000\000"..., m_used = 0}}, m_made_dirty = false, m_inside_ibuf = false, m_modifications = false, m_n_log_recs = 0, m_log_mode = MTR_LOG_ALL, m_user_space_id = 0, m_user_space = 0x0, m_state = MTR_STATE_ACTIVE, m_flush_observer = 0x0, m_commit_lsn = 0}
        error = DB_SUCCESS
        __PRETTY_FUNCTION__ = "dberr_t dict_load_indexes(dict_table_t*, mem_heap_t*, dict_err_ignore_t)"
#11 0x000055e29b5ac2ee in dict_load_table_one (name=@0x7f4e1dea5300: {m_name = 0x7f4dcc011340 "test/t"}, ignore_err=DICT_ERR_IGNORE_FK_NOKEY, fk_tables=std::deque with 0 elements) at /data/src/10.3/storage/innobase/dict/dict0load.cc:2968
        err = 501894960
        sys_tables = 0x55e29d843b00
        pcur = {btr_cur = {index = 0x55e29d845270, page_cur = {index = 0x0, rec = 0x0, offsets = 0x0, block = 0x0}, purge_node = 0x0, left_block = 0x0, thr = 0x0, flag = BTR_CUR_BINARY, tree_height = 1, up_match = 1, up_bytes = 0, low_match = 0, low_bytes = 0, n_fields = 0, n_bytes = 0, fold = 0, path_arr = 0x0, rtr_info = 0x0}, latch_mode = 8, old_stored = false, old_rec = 0x0, old_n_core_fields = 4, old_n_fields = 0, rel_pos = 0, block_when_stored = {m_block = 0x0, m_page_id = {m_space = 0, m_page_no = 0}}, modify_clock = 0, pos_state = BTR_PCUR_NOT_POSITIONED, search_mode = PAGE_CUR_GE, trx_if_known = 0x0, old_rec_buf = 0x0, buf_size = 0}
        sys_index = 0x55e29d845270
        tuple = 0x7f4dcc03c800
        heap = 0x7f4dcc03c780
        dfield = 0x7f4dcc03c838
        rec = 0x7f4e1e3f4352 "test/t"
        field = 0x7f4e1e3f4352 "test/t"
        len = 6
        mtr = {m_memo = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea4e38, prev = 0x7f4e1dea4e38}}, size_ = 1}, m_size = 0, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea4e18, prev = 0x7f4e1dea4e18}, m_buf_end = 0, m_magic_n = 375767, m_data = "\000\000\000\000\000\000\000\000 ", '\000' <repeats 15 times>, "\001\000\000\000\000\000\000\000\003\021\062\233\342U\000\000\000w\352\035N\177\000\000\000w\352\035N\177\000\000\300N\352\035N\177\000\000\377\377\377\377\377\377\377\377\300N\352\035N\177\000\000\221\021F\233\342U\000\000I\351\061\233\342U\000\000\"\264$\233\342U\000\000\340N\352\035N\177\000\000H\360\067\234\342U\000\000@\360\067\234\342U\000\000\000uW\234\360\260\326\021\000O\352\035N\177\000\000\310p\231\036N\177\000\000\060O\352\035N\177\000\000\001", '\000' <repeats 15 times>, "\300o\352\035N\177\000\000\000\300\004\000\000\000\000\000\002\230E\233\342U\000\000"..., m_used = 0}}, m_log = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea5078, prev = 0x7f4e1dea5078}}, size_ = 1}, m_size = 0, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea5058, prev = 0x7f4e1dea5058}, m_buf_end = 0, m_magic_n = 375767, m_data = "`\340r)N\177\000\000\000\000\000\000\000\000\000\000pQ\352\035N\177\000\000\200\361r)N\177\000\000\241\022\342(N\177\000\000 R\352\035N\177\000\000\001\000\000\000N\177\000\000\024\000\000\000\000\000\000\000\000T\352\035N\177\000\000\020Q\352\035N\177\000\000 \367r)N\177\000\000PR\352\035N\177\000\000\360\241\356(N\177\000\000\024", '\000' <repeats 23 times>, "\060\360\026\314M\177\000\000@S\352\035N\177\000\000\206\220P\233\342U\000\000\000\000\000\000\000\000\000\000\300\371\276\233\342U\000\000S\f\000\000\000\000\000\000 U\352\035N\177\000\000\000\000\000\000\000\000\000\000\300\217P\233\342U\000\000"..., m_used = 0}}, m_made_dirty = false, m_inside_ibuf = false, m_modifications = false, m_n_log_recs = 0, m_log_mode = MTR_LOG_ALL, m_user_space_id = 0, m_user_space = 0x0, m_state = MTR_STATE_COMMITTED, m_flush_observer = 0x0, m_commit_lsn = 0}
        _db_stack_frame_ = {func = 0x55e29bbf149d "dict_load_table", file = 0x55e29bbef9c0 "/data/src/10.3/storage/innobase/dict/dict0load.cc", level = 2147483656, line = -1, prev = 0x7f4e1dea5330}
        __PRETTY_FUNCTION__ = "dict_table_t* dict_load_table_one(const table_name_t&, dict_err_ignore_t, dict_names_t&)"
        table = 0x7f4dcc167bc0
        index_load_err = DICT_ERR_IGNORE_FK_NOKEY
#12 0x000055e29b5ab313 in dict_load_table (name=0x7f4dcc011340 "test/t", ignore_err=DICT_ERR_IGNORE_FK_NOKEY) at /data/src/10.3/storage/innobase/dict/dict0load.cc:2751
        fk_list = std::deque with 0 elements
        result = 0x0
        i = non-dereferenceable iterator for std::deque
        _db_stack_frame_ = {func = 0x55e29baede40 "ha_innobase::discard_or_import_tablespace", file = 0x55e29bae71e8 "/data/src/10.3/storage/innobase/handler/ha_innodb.cc", level = 2147483655, line = -1, prev = 0x7f4e1dea5ab0}
        __PRETTY_FUNCTION__ = "dict_table_t* dict_load_table(const char*, dict_err_ignore_t)"
#13 0x000055e29b5ad002 in dict_load_table_on_id (table_id=32, ignore_err=DICT_ERR_IGNORE_FK_NOKEY) at /data/src/10.3/storage/innobase/dict/dict0load.cc:3190
        table_name = 0x7f4dcc011340 "test/t"
        id_buf = "\000\000\000\000\000\000\000 "
        pcur = {btr_cur = {index = 0x55e29d845ea0, page_cur = {index = 0x0, rec = 0x7f4e1e628191 "", offsets = 0x0, block = 0x7f4e1e170300}, purge_node = 0x0, left_block = 0x0, thr = 0x0, flag = BTR_CUR_BINARY, tree_height = 1, up_match = 1, up_bytes = 0, low_match = 0, low_bytes = 7, n_fields = 0, n_bytes = 0, fold = 0, path_arr = 0x0, rtr_info = 0x0}, latch_mode = 1, old_stored = false, old_rec = 0x0, old_n_core_fields = 59121, old_n_fields = 0, rel_pos = 0, block_when_stored = {m_block = 0x0, m_page_id = {m_space = 0, m_page_no = 0}}, modify_clock = 0, pos_state = BTR_PCUR_IS_POSITIONED, search_mode = PAGE_CUR_GE, trx_if_known = 0x0, old_rec_buf = 0x0, buf_size = 0}
        heap = 0x7f4dcc011270
        tuple = 0x7f4dcc0112f0
        dfield = 0x7f4dcc011328
        sys_table_ids = 0x55e29d845ea0
        sys_tables = 0x55e29d843b00
        rec = 0x7f4e1e628191 ""
        field = 0x7f4e1e628199 "test/tgtid_slave_pos\016\b "
        len = 6
        table = 0x0
        mtr = {m_memo = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea5548, prev = 0x7f4e1dea5548}}, size_ = 1}, m_size = 32, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea5528, prev = 0x7f4e1dea5528}, m_buf_end = 0, m_magic_n = 375767, m_data = "\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\003\027\036N\177\000\000\001\000\000\000\000\000\000\000\223\331\206\233\000\000\001\000\300U\352\035N\177\000\000\227A\211\233\342U\000\000\300U\352\035N\177\000\000\320\f\000\314M\177\000\000\320\f\000\314M\177\000\000\260\f\000\314\001\000\000\000\000X\352\035N\177\000\000\t4\211\233\000\000\000\000\n\t\311\233\342U", '\000' <repeats 11 times>, "V\352\035N\177\000\000\223\331\206\233\000\000\001\000 V\352\035N\177\000\000\227A\211\233\342U\000\000 V\352\035N\177\000\000\320\f\000\314M\177\000\000\320\f\000\314M\177\000\000\260\f\000\314\001\000\000\000`X\352\035N\177\000\000\t4\211\233\000\000\000\000"..., m_used = 32}}, m_log = {m_heap = 0x0, m_list = {<ilist<mtr_buf_t::block_t, void>> = {sentinel_ = {next = 0x7f4e1dea5788, prev = 0x7f4e1dea5788}}, size_ = 1}, m_size = 0, m_first_block = {<ilist_node<void>> = {next = 0x7f4e1dea5768, prev = 0x7f4e1dea5768}, m_buf_end = 0, m_magic_n = 375767, m_data = "9\376\310\233\342U\000\000`\v\000\314M\177\000\000\340\377\377\377\377\377\377\377\n\t\311\233\342U\000\000\000\000\000\000\000\000\000\000\360W\352\035N\177\000\000g\330\206\233\342U\000\000\000X\352\035N\177\000\000\223\331\206\233\342U\000\000\020X\352\035N\177\000\000`\v\000\314M\177\000\000 X\352\035N\177\000\000\245\r\211\233\342U\000\000\320\f\000\314M\177\000\000\260\f\000\314M\177\000\000PX\352\035N\177\000\000\000uW\234\360\260\326\021\363\241\215\233\342U\000\000\200\065\204\235\342U\000\000pX\352\035N\177\000\000^\215[\233\342U\000\000\000\000\000\000\000\000\000\000\070=\026\314M\177\000\000\000\300\004\000\000\000\000\000\200\065\204\235\342U\000\000"..., m_used = 0}}, m_made_dirty = false, m_inside_ibuf = false, m_modifications = false, m_n_log_recs = 0, m_log_mode = MTR_LOG_ALL, m_user_space_id = 0, m_user_space = 0x0, m_state = MTR_STATE_ACTIVE, m_flush_observer = 0x0, m_commit_lsn = 0}
        __PRETTY_FUNCTION__ = "dict_table_t* dict_load_table_on_id(table_id_t, dict_err_ignore_t)"
#14 0x000055e29b585743 in dict_table_open_on_id_low (table_id=32, ignore_err=DICT_ERR_IGNORE_FK_NOKEY, open_only_if_in_cache=0) at /data/src/10.3/storage/innobase/include/dict0priv.inl:90
        table = 0x0
        fold = 424183904935
        __PRETTY_FUNCTION__ = "dict_table_t* dict_table_open_on_id_low(table_id_t, dict_err_ignore_t, ulint)"
#15 0x000055e29b587d43 in dict_table_open_on_id (table_id=32, dict_locked=1, table_op=DICT_TABLE_OP_NORMAL) at /data/src/10.3/storage/innobase/dict/dict0dict.cc:824
        table = 0x7f4dcc163be0
        __PRETTY_FUNCTION__ = "dict_table_t* dict_table_open_on_id(table_id_t, ulint, dict_table_op_t)"
#16 0x000055e29b23a5b0 in ha_innobase::discard_or_import_tablespace (this=0x7f4dcc16e888, discard=0 '\000') at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13165
        _db_stack_frame_ = {func = 0x55e29b92b9e0 "mysql_discard_or_import_tablespace", file = 0x55e29b929b90 "/data/src/10.3/sql/sql_table.cc", level = 2147483654, line = -1, prev = 0x7f4e1dea5cc0}
        err = DB_SUCCESS
        id = 32
        __PRETTY_FUNCTION__ = "virtual int ha_innobase::discard_or_import_tablespace(my_bool)"
#17 0x000055e29b006b39 in handler::ha_discard_or_import_tablespace (this=0x7f4dcc16e888, discard=0 '\000') at /data/src/10.3/sql/handler.cc:4587
        __PRETTY_FUNCTION__ = "int handler::ha_discard_or_import_tablespace(my_bool)"
#18 0x000055e29adb9187 in mysql_discard_or_import_tablespace (thd=0x7f4dcc000d90, table_list=0x7f4dcc012bb8, discard=false) at /data/src/10.3/sql/sql_table.cc:6070
        alter_prelocking_strategy = {<Prelocking_strategy> = {_vptr.Prelocking_strategy = 0x55e29c007788 <vtable for Alter_table_prelocking_strategy+16>}, <No data fields>}
        error = 6625
        _db_stack_frame_ = {func = 0x55e29b9112c8 "mysql_execute_command", file = 0x55e29b9106a8 "/data/src/10.3/sql/sql_parse.cc", level = 2147483653, line = -1, prev = 0x7f4e1dea5ed0}
#19 0x000055e29ae54a62 in Sql_cmd_discard_import_tablespace::execute (this=0x7f4dcc013220, thd=0x7f4dcc000d90) at /data/src/10.3/sql/sql_alter.cc:553
        select_lex = 0x7f4dcc0053d8
        table_list = 0x7f4dcc012bb8
#20 0x000055e29ace0aae in mysql_execute_command (thd=0x7f4dcc000d90) at /data/src/10.3/sql/sql_parse.cc:6075
        res = 0
        up_result = 0
        lex = 0x7f4dcc004b80
        select_lex = 0x7f4dcc0053d8
        first_table = 0x7f4dcc012bb8
        all_tables = 0x7f4dcc012bb8
        unit = 0x7f4dcc004c40
        have_table_map_for_update = false
        rpl_filter = 0x3889b8931dc
        _db_stack_frame_ = {func = 0x55e29b9125a0 "mysql_parse", file = 0x55e29b9106a8 "/data/src/10.3/sql/sql_parse.cc", level = 2147483652, line = -1, prev = 0x7f4e1dea6400}
        __PRETTY_FUNCTION__ = "int mysql_execute_command(THD*)"
        orig_binlog_format = BINLOG_FORMAT_MIXED
        orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
#21 0x000055e29ace6090 in mysql_parse (thd=0x7f4dcc000d90, rawbuf=0x7f4dcc012ad8 "ALTER TABLE t IMPORT TABLESPACE", length=31, parser_state=0x7f4e1dea65b0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7870
        found_semicolon = 0x0
        error = 32589
        lex = 0x7f4dcc004b80
        err = false
        _db_stack_frame_ = {func = 0x55e29b910b32 "dispatch_command", file = 0x55e29b9106a8 "/data/src/10.3/sql/sql_parse.cc", level = 2147483651, line = -1, prev = 0x7f4e1dea6590}
        __PRETTY_FUNCTION__ = "void mysql_parse(THD*, char*, uint, Parser_state*, bool, bool)"
#22 0x000055e29acd28c5 in dispatch_command (command=COM_QUERY, thd=0x7f4dcc000d90, packet=0x7f4dcc008f31 "ALTER TABLE t IMPORT TABLESPACE", packet_length=31, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
        packet_end = 0x7f4dcc012af7 ""
        parser_state = {m_lip = {lookahead_token = -1, lookahead_yylval = 0x0, m_thd = 0x7f4dcc000d90, m_ptr = 0x7f4dcc012af8 "\004", m_tok_start = 0x7f4dcc012af8 "\004", m_tok_end = 0x7f4dcc012af8 "\004", m_end_of_query = 0x7f4dcc012af7 "", m_tok_start_prev = 0x7f4dcc012af7 "", m_buf = 0x7f4dcc012ad8 "ALTER TABLE t IMPORT TABLESPACE", m_buf_length = 31, m_echo = true, m_echo_saved = 12, m_cpp_buf = 0x7f4dcc012b50 "ALTER TABLE t IMPORT TABLESPACE", m_cpp_ptr = 0x7f4dcc012b6f "", m_cpp_tok_start = 0x7f4dcc012b6f "", m_cpp_tok_start_prev = 0x7f4dcc012b6f "", m_cpp_tok_end = 0x7f4dcc012b6f "", m_body_utf8 = 0x0, m_body_utf8_ptr = 0x100009b86d993 <error: Cannot access memory at address 0x100009b86d993>, m_cpp_utf8_processed_ptr = 0x0, next_state = MY_LEX_END, found_semicolon = 0x0, ignore_space = false, stmt_prepare_mode = false, multi_statements = true, yylineno = 1, m_digest = 0x0, in_comment = NO_COMMENT, in_comment_saved = PRESERVE_COMMENT, m_cpp_text_start = 0x7f4dcc012b5c "t IMPORT TABLESPACE", m_cpp_text_end = 0x7f4dcc012b5d " IMPORT TABLESPACE", m_underscore_cs = 0x0}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {m_item = {0x0 <repeats 12 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = 0x7f4dcc004658}
        net = 0x7f4dcc001098
        error = false
        do_end_of_statement = true
        _db_stack_frame_ = {func = 0x55e29b9108bd "do_command", file = 0x55e29b9106a8 "/data/src/10.3/sql/sql_parse.cc", level = 2147483650, line = -1, prev = 0x7f4e1dea6df0}
        drop_more_results = false
        __PRETTY_FUNCTION__ = "bool dispatch_command(enum_server_command, THD*, char*, uint, bool, bool)"
        res = <optimized out>
#23 0x000055e29acd1283 in do_command (thd=0x7f4dcc000d90) at /data/src/10.3/sql/sql_parse.cc:1398
        return_value = false
        packet = 0x7f4dcc008f30 "\003ALTER TABLE t IMPORT TABLESPACE"
        packet_length = 32
        net = 0x7f4dcc001098
        command = COM_QUERY
        _db_stack_frame_ = {func = 0x55e29bc927d0 "?func", file = 0x55e29bc927d6 "?file", level = 2147483649, line = -1, prev = 0x0}
        __PRETTY_FUNCTION__ = "bool do_command(THD*)"
#24 0x000055e29ae4e878 in do_handle_one_connection (connect=0x55e29d86cb30) at /data/src/10.3/sql/sql_connect.cc:1403
        create_user = true
        thr_create_utime = 3642466182701
        thd = 0x7f4dcc000d90
#25 0x000055e29ae4e5e3 in handle_one_connection (arg=0x55e29d86cb30) at /data/src/10.3/sql/sql_connect.cc:1308
        connect = 0x55e29d86cb30
#26 0x000055e29b7fdb62 in pfs_spawn_thread (arg=0x55e29d8a9060) at /data/src/10.3/storage/perfschema/pfs.cc:1869
        typed_arg = 0x55e29d8a9060
        user_arg = 0x55e29d86cb30
        user_start_routine = 0x55e29ae4e5b3 <handle_one_connection(void*)>
        pfs = 0x7f4e2701fb40
        klass = 0x55e29d3ae280
#27 0x00007f4e28eb7ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139973486081792, -2149187085446212743, 140732485058366, 140732485058367, 139973486079936, 311296, 2067352818131342201, 2067394591493264249}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#28 0x00007f4e28de7def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

10.4 9a0cbd31

FLUSH TABLES t FOR EXPORT;
Warnings:
Warning	1235	This version of MariaDB doesn't yet support 'FLUSH TABLES on tables that have an FTS index. FTS auxiliary tables will not be flushed.'
Warning	1235	This version of MariaDB doesn't yet support 'FLUSH TABLES on tables that have an FTS index. FTS auxiliary tables will not be flushed.'
UNLOCK TABLES;
Warnings:
Warning	1235	This version of MariaDB doesn't yet support 'FLUSH TABLES on tables that have an FTS index. FTS auxiliary tables will not be flushed.'
ALTER TABLE t DISCARD TABLESPACE;
ALTER TABLE t IMPORT TABLESPACE;
Warnings:
Warning	1817	Index corrupt: Index f not found or corrupt, you should recreate this index.
DROP TABLE t;
bug.import8a 'innodb'                    [ fail ]  Found warnings/errors in server log file!
        Test ended at 2022-07-07 22:05:00
line
2022-07-07 22:04:59 9 [Warning] InnoDB: Skip adjustment of root pages for index `f`.
^ Found warnings in /mnt8t/bld/10.4-debug-nightly/mysql-test/var/log/mysqld.1.err



 Comments   
Comment by Thirunarayanan Balathandayuthapani [ 2022-07-20 ]

patch is in bb-10.3-thiru

Comment by Marko Mäkelä [ 2022-07-25 ]

Thank you, the fix looks OK. I suppose that what happens is that the internal FTS_ tables cannot be found in SYS_TABLES.

Could you add some SELECT that attempts to access the fulltext index after the IMPORT TABLESPACE?

Generated at Thu Feb 08 10:05:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.