|
Initially, I suspected that we simply have a case of the .frm file being out of sync with the InnoDB dictionary (which should hopefully eventually be fixed by MDEV-17567), but it is not the case.
The extra index was created a little earlier:
|
10.5 0565d199737a8412d592c32f315eced33efac7e4 with an unrelated change
|
#5 0x000056388ad15901 in dict_mem_index_create (table=0x618000242120, index_name=0x61b0002c7e20 "\377ftidx3", type=32, n_fields=1) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0mem.cc:786
|
#6 0x000056388acd60df in dict_index_build_internal_fts (index=0x6170003572a0) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0dict.cc:2785
|
#7 0x000056388acd07cd in dict_index_add_to_cache (index=@0x7ff2ecc91b20: 0x6170003572a0, page_no=4294967295, add_v=0x0) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0dict.cc:2077
|
#8 0x000056388ad03e28 in dict_load_indexes (table=0x618000242120, heap=0x62c000410218, ignore_err=DICT_ERR_IGNORE_FK_NOKEY) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0load.cc:2568
|
#9 0x000056388ad07527 in dict_load_table_one (name=..., ignore_err=DICT_ERR_IGNORE_FK_NOKEY, fk_tables=std::deque with 0 elements) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0load.cc:2956
|
#10 0x000056388ad056c9 in dict_load_table (name=0x602000020050 "test/t1", ignore_err=DICT_ERR_IGNORE_FK_NOKEY) at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0load.cc:2739
|
#11 0x000056388acc9788 in dict_table_open_on_name (table_name=0x602000020050 "test/t1", dict_locked=1, try_drop=1, ignore_err=DICT_ERR_IGNORE_FK_NOKEY)
|
at /Server/bb-10.5-MDEV-24695/storage/innobase/dict/dict0dict.cc:1097
|
#12 0x000056388a6c5b06 in innobase_reload_table (thd=0x62b00028b218, table=0x6180001d1520, table_name=..., ctx=...) at /Server/bb-10.5-MDEV-24695/storage/innobase/handler/handler0alter.cc:10134
|
#13 0x000056388a6cb9f9 in ha_innobase::commit_inplace_alter_table (this=0x61d0009592b8, altered_table=0x7ff2ecc961a0, ha_alter_info=0x7ff2ecc95cc0, commit=true)
|
at /Server/bb-10.5-MDEV-24695/storage/innobase/handler/handler0alter.cc:11268
|
#14 0x0000563889ae86ee in handler::ha_commit_inplace_alter_table (this=0x61d0009592b8, altered_table=0x7ff2ecc961a0, ha_alter_info=0x7ff2ecc95cc0, commit=true) at /Server/bb-10.5-MDEV-24695/sql/handler.cc:4855
|
#15 0x000056388955f723 in mysql_inplace_alter_table (thd=0x62b00028b218, table_list=0x62b000292418, table=0x619000602c98, altered_table=0x7ff2ecc961a0, ha_alter_info=0x7ff2ecc95cc0,
|
target_mdl_request=0x7ff2ecc95da0, alter_ctx=0x7ff2ecc96c00) at /Server/bb-10.5-MDEV-24695/sql/sql_table.cc:8138
|
#16 0x000056388957255a in mysql_alter_table (thd=0x62b00028b218, new_db=0x62b00028fc60, new_name=0x62b000290060, create_info=0x7ff2ecc97fc0, table_list=0x62b000292418, alter_info=0x7ff2ecc97eb0, order_num=0,
|
order=0x0, ignore=false, if_exists=false) at /Server/bb-10.5-MDEV-24695/sql/sql_table.cc:10683
|
#17 0x00005638897117b0 in Sql_cmd_alter_table::execute (this=0x62b000292c48, thd=0x62b00028b218) at /Server/bb-10.5-MDEV-24695/sql/sql_alter.cc:539
|
#18 0x00005638892d22c7 in mysql_execute_command (thd=0x62b00028b218) at /Server/bb-10.5-MDEV-24695/sql/sql_parse.cc:6023
|
#19 0x00005638892dfd70 in mysql_parse (thd=0x62b00028b218,
|
rawbuf=0x62b000292238 "ALTER TABLE t1 ADD UNIQUE INDEX IF NOT EXISTS `uidx2` ( col1 ), LOCK = NONE, ALGORITHM = NOCOPY /* E_R Thread30 QNO 66 CON_ID 66 */", length=132, parser_state=0x7ff2ecc997c0,
|
is_com_multi=false, is_next_command=false) at /Server/bb-10.5-MDEV-24695/sql/sql_parse.cc:8062
|
thiru, should this index stub be loaded at all? If it has to be loaded, maybe we should skip it in ha_innobase::info_low() when checking for index count mismatch?
|