Details
-
Bug
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.3.3, 10.3(EOL), 10.4(EOL)
Description
https://api.travis-ci.org/v3/job/348679822/log.txt
10.3 d70573564cb2701076083ea7f55ae9539fad13b4 |
mysqld: /home/travis/src/storage/innobase/handler/handler0alter.cc:9195: virtual bool ha_innobase::commit_inplace_alter_table(TABLE*, Alter_inplace_info*, bool): Assertion `new_clustered == ctx->need_rebuild()' failed.
|
180304 2:46:51 [ERROR] mysqld got signal 6 ;
|
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7f24a001f4d8): ALTER TABLE t1 ADD FULLTEXT KEY ftidx ( col4 ) /* QNO 1163 CON_ID 17 */
|
Connection ID (thread ID): 17
|
Status: NOT_KILLED
|
#7 0x00007f2502363ca2 in __GI___assert_fail (assertion=0x5600de9ba0d0 "new_clustered == ctx->need_rebuild()", file=0x5600de9b80a0 "/home/travis/src/storage/innobase/handler/handler0alter.cc", line=9195, function=0x5600de9bff60 <ha_innobase::commit_inplace_alter_table(TABLE*, Alter_inplace_info*, bool)::__PRETTY_FUNCTION__> "virtual bool ha_innobase::commit_inplace_alter_table(TABLE*, Alter_inplace_info*, bool)") at assert.c:101
|
#8 0x00005600de1d62fd in ha_innobase::commit_inplace_alter_table (this=0x7f24a80d15b8, altered_table=0x7f24a00e7340, ha_alter_info=0x7f24ec93d200, commit=true) at /home/travis/src/storage/innobase/handler/handler0alter.cc:9195
|
#9 0x00005600ddf81e12 in handler::ha_commit_inplace_alter_table (this=0x7f24a80d15b8, altered_table=0x7f24a00e7340, ha_alter_info=0x7f24ec93d200, commit=true) at /home/travis/src/sql/handler.cc:4403
|
#10 0x00005600de6ff1b7 in ha_partition::commit_inplace_alter_table (this=0x7f24a80d0d08, altered_table=0x7f24a00e7340, ha_alter_info=0x7f24ec93d200, commit=true) at /home/travis/src/sql/ha_partition.cc:10025
|
#11 0x00005600ddf81e12 in handler::ha_commit_inplace_alter_table (this=0x7f24a80d0d08, altered_table=0x7f24a00e7340, ha_alter_info=0x7f24ec93d200, commit=true) at /home/travis/src/sql/handler.cc:4403
|
#12 0x00005600ddd616de in mysql_inplace_alter_table (thd=0x7f24a000c610, table_list=0x7f24a001f610, table=0x7f24a80d00c0, altered_table=0x7f24a00e7340, ha_alter_info=0x7f24ec93d200, inplace_supported=HA_ALTER_INPLACE_SHARED_LOCK_AFTER_PREPARE, target_mdl_request=0x7f24ec93d370, alter_ctx=0x7f24ec93e020) at /home/travis/src/sql/sql_table.cc:7683
|
#13 0x00005600ddd679a0 in mysql_alter_table (thd=0x7f24a000c610, new_db=0x7f24a0010c58, new_name=0x7f24a0011008, create_info=0x7f24ec93ec00, table_list=0x7f24a001f610, alter_info=0x7f24ec93eb50, order_num=0, order=0x0, ignore=false) at /home/travis/src/sql/sql_table.cc:9847
|
#14 0x00005600dddee17a in Sql_cmd_alter_table::execute (this=0x7f24a001fd30, thd=0x7f24a000c610) at /home/travis/src/sql/sql_alter.cc:334
|
#15 0x00005600ddc92ca3 in mysql_execute_command (thd=0x7f24a000c610) at /home/travis/src/sql/sql_parse.cc:6280
|
#16 0x00005600ddc9782a in mysql_parse (thd=0x7f24a000c610, rawbuf=0x7f24a001f4d8 "ALTER TABLE t1 ADD FULLTEXT KEY ftidx ( col4 ) /* QNO 1163 CON_ID 17 */", length=71, parser_state=0x7f24ec9405e0, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:8009
|
#17 0x00005600ddc84f23 in dispatch_command (command=COM_QUERY, thd=0x7f24a000c610, packet=0x7f24a0016d11 "ALTER TABLE t1 ADD FULLTEXT KEY ftidx ( col4 ) /* QNO 1163 CON_ID 17 */ ", packet_length=72, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:1838
|
#18 0x00005600ddc8396f in do_command (thd=0x7f24a000c610) at /home/travis/src/sql/sql_parse.cc:1383
|
#19 0x00005600ddde8bef in do_handle_one_connection (connect=0x5600e020a050) at /home/travis/src/sql/sql_connect.cc:1402
|
#20 0x00005600ddde897c in handle_one_connection (arg=0x5600e020a050) at /home/travis/src/sql/sql_connect.cc:1308
|
#21 0x00007f2502f25184 in start_thread (arg=0x7f24ec941700) at pthread_create.c:312
|
#22 0x00007f250243203d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
|
experimental e42a181399012909fbda32f7e9b7be8b416175c9 |
perl /home/travis/rqg/runall-new.pl --duration=350 --threads=6 --seed=1520131581 --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --transformers=ConvertSubqueriesToViews,ConvertTablesToDerived,Count,DisableOptimizations,Distinct,EnableOptimizations,ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsDerived,ExecuteAsExcept,ExecuteAsExecuteImmediate,ExecuteAsInsertSelect,ExecuteAsIntersect,ExecuteAsSelectItem,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsWhereSubquery,Having,InlineSubqueries,LimitRowsExamined,OrderBy,StraightJoin,ExecuteAsPreparedTwice,ExecuteAsTrigger,ExecuteAsSPTwice,ExecuteAsFunctionTwice --redefine=conf/mariadb/general-workarounds.yy --mysqld=--log_output=FILE --mysqld=--log_bin_trust_function_creators=1 --mysqld=--log-bin --mysqld=--max-statement-time=30 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --views --redefine=conf/mariadb/versioning.yy --basedir=/home/travis/server --grammar=conf/runtime/alter_online.yy --gendata=conf/runtime/alter_online.zz --engine=Aria --mysqld=--default-storage-engine=Aria --vardir=/home/travis/logs/vardir1_4
|
Not reproducible right away
Attachments
Issue Links
- relates to
-
MDEV-16329 Engine-independent online ALTER TABLE
-
- Closed
-
-
MDEV-22168 Supporting multiple engines with table partitioning
-
- Stalled
-
The assertion is failing, because the native ALTER TABLE in InnoDB is based on the assumption that each partition of the table has equivalent schema and therefore the ALTER TABLE will invoke a similar operation on each partition.
In the test case, some partitions would require rebuilding (to add a hidden FTS_DOC_ID column that is not visible in TABLE_SHARE) while others could be modified in-place, just to add the FULLTEXT INDEX.
An easy fix could be to ensure that fulltext indexes remain disabled on partitioned InnoDB tables.
A more complex fix would be to rewrite all ALTER TABLE code in some way that guarantees that each partition inside InnoDB will be created in the same way. It might be sufficient to do this for ADD PARTITION and similar operations. If we do that, some tests for fulltext search with partitioned InnoDB tables should be added to the regression test suite, and the fix should be extensively tested with RQG.