Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3.1
-
None
-
Ubuntu 16.04
Description
CREATE TABLE m1 (a VARCHAR(200)) PARTITION BY KEY(a) partitions 10; |
ALTER TABLE m1 ADD PARTITION (PARTITION pm TABLESPACE = `innodb_file_per_table`); |
CREATE TABLE m2 like m1; |
ALTER TABLE m2 REMOVE PARTITIONING; |
ALTER TABLE m1 EXCHANGE PARTITION pm WITH TABLE m2; |
on 10.2 and 10.3.0 it produces an error (as expected):
MariaDB [test]> ALTER TABLE m1 EXCHANGE PARTITION pm WITH TABLE m2;
|
ERROR 1731 (HY000): Non matching attribute 'TABLESPACE' between partition and table
|
on 10.3 Lost connection to MySQL server during query
mysqld: /home/alice/git/10.3/sql/sql_partition.cc:4346: bool compare_partition_options(HA_CREATE_INFO*, partition_element*): Assertion `!part_elem->tablespace_name && !table_create_info->tablespace' failed.
|
170818 20:02:44 [ERROR] mysqld got signal 6 ;
|
This could be because you hit a bug. It is also possible that this binary
|
or one of the libraries it was linked against is corrupt, improperly built,
|
or misconfigured. This error can also be caused by malfunctioning hardware.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
We will try our best to scrape up some info that will hopefully help
|
diagnose the problem, but since we have already crashed,
|
something is definitely wrong and this may fail.
|
|
Server version: 10.3.1-MariaDB-debug
|
key_buffer_size=134217728
|
read_buffer_size=131072
|
max_used_connections=1
|
max_threads=153
|
thread_count=7
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467322 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x7f5038000b00
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x7f508b7d1ec0 thread_stack 0x49000
|
/data/bld/10.3/bin/mysqld(my_print_stacktrace+0x38)[0x564a0f1e0952]
|
/data/bld/10.3/bin/mysqld(handle_fatal_signal+0x3a3)[0x564a0ea6d71e]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f50bf2ec390]
|
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f50be6a5428]
|
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f50be6a702a]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7f50be69dbd7]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7f50be69dc82]
|
/data/bld/10.3/bin/mysqld(_Z25compare_partition_optionsP14HA_CREATE_INFOP17partition_element+0x70)[0x564a0ec23974]
|
/data/bld/10.3/bin/mysqld(+0xaaa49d)[0x564a0ec3e49d]
|
/data/bld/10.3/bin/mysqld(_ZN38Sql_cmd_alter_table_exchange_partition18exchange_partitionEP3THDP10TABLE_LISTP10Alter_info+0x5b6)[0x564a0ec3f2c2]
|
/data/bld/10.3/bin/mysqld(_ZN38Sql_cmd_alter_table_exchange_partition7executeEP3THD+0x2ef)[0x564a0ec3dd49]
|
/data/bld/10.3/bin/mysqld(_Z21mysql_execute_commandP3THD+0x9e35)[0x564a0e7c5ecc]
|
/data/bld/10.3/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x29d)[0x564a0e7caad5]
|
/data/bld/10.3/bin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcjbb+0xfe1)[0x564a0e7b8802]
|
/data/bld/10.3/bin/mysqld(_Z10do_commandP3THD+0x713)[0x564a0e7b7175]
|
/data/bld/10.3/bin/mysqld(_Z24do_handle_one_connectionP7CONNECT+0x1ca)[0x564a0e906b93]
|
/data/bld/10.3/bin/mysqld(handle_one_connection+0x30)[0x564a0e906913]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f50bf2e26ba]
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f50be7773dd]
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7f5038013408): ALTER TABLE m1 EXCHANGE PARTITION pm WITH TABLE m2
|
Connection ID (thread ID): 8
|
Status: NOT_KILLED
|
|
Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_grouping_derived=on
|
stack trace
Thread 1 (Thread 0x7f508b7d2700 (LWP 26217)):
|
#0 0x00007f50be6a5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
|
#1 0x00007f50be6a702a in __GI_abort () at abort.c:89
|
#2 0x00007f50be69dbd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x564a0f3e5910 "!part_elem->tablespace_name && !table_create_info->tablespace", file=file@entry=0x564a0f3e4c58 "/home/alice/git/10.3/sql/sql_partition.cc", line=line@entry=4346, function=function@entry=0x564a0f3e71e0 <compare_partition_options(HA_CREATE_INFO*, partition_element*)::__PRETTY_FUNCTION__> "bool compare_partition_options(HA_CREATE_INFO*, partition_element*)") at assert.c:92
|
#3 0x00007f50be69dc82 in __GI___assert_fail (assertion=0x564a0f3e5910 "!part_elem->tablespace_name && !table_create_info->tablespace", file=0x564a0f3e4c58 "/home/alice/git/10.3/sql/sql_partition.cc", line=4346, function=0x564a0f3e71e0 <compare_partition_options(HA_CREATE_INFO*, partition_element*)::__PRETTY_FUNCTION__> "bool compare_partition_options(HA_CREATE_INFO*, partition_element*)") at assert.c:101
|
#4 0x0000564a0ec23974 in compare_partition_options (table_create_info=0x7f508b7cec90, part_elem=0x7f5038052a10) at /home/alice/git/10.3/sql/sql_partition.cc:4345
|
#5 0x0000564a0ec3e49d in compare_table_with_partition (thd=0x7f5038000b00, table=0x7f50380511e0, part_table=0x7f50380870e0, part_elem=0x7f5038052a10) at /home/alice/git/10.3/sql/sql_partition_admin.cc:271
|
#6 0x0000564a0ec3f2c2 in Sql_cmd_alter_table_exchange_partition::exchange_partition (this=0x7f50380141a8, thd=0x7f5038000b00, table_list=0x7f5038013520, alter_info=0x7f508b7d0560) at /home/alice/git/10.3/sql/sql_partition_admin.cc:599
|
#7 0x0000564a0ec3dd49 in Sql_cmd_alter_table_exchange_partition::execute (this=0x7f50380141a8, thd=0x7f5038000b00) at /home/alice/git/10.3/sql/sql_partition_admin.cc:94
|
#8 0x0000564a0e7c5ecc in mysql_execute_command (thd=0x7f5038000b00) at /home/alice/git/10.3/sql/sql_parse.cc:6210
|
#9 0x0000564a0e7caad5 in mysql_parse (thd=0x7f5038000b00, rawbuf=0x7f5038013408 "ALTER TABLE m1 EXCHANGE PARTITION pm WITH TABLE m2", length=50, parser_state=0x7f508b7d1250, is_com_multi=false, is_next_command=false) at /home/alice/git/10.3/sql/sql_parse.cc:7896
|
#10 0x0000564a0e7b8802 in dispatch_command (command=COM_QUERY, thd=0x7f5038000b00, packet=0x7f503800ace1 "ALTER TABLE m1 EXCHANGE PARTITION pm WITH TABLE m2", packet_length=50, is_com_multi=false, is_next_command=false) at /home/alice/git/10.3/sql/sql_parse.cc:1814
|
#11 0x0000564a0e7b7175 in do_command (thd=0x7f5038000b00) at /home/alice/git/10.3/sql/sql_parse.cc:1372
|
#12 0x0000564a0e906b93 in do_handle_one_connection (connect=0x564a11bc37a0) at /home/alice/git/10.3/sql/sql_connect.cc:1354
|
#13 0x0000564a0e906913 in handle_one_connection (arg=0x564a11bc37a0) at /home/alice/git/10.3/sql/sql_connect.cc:1260
|
#14 0x00007f50bf2e26ba in start_thread (arg=0x7f508b7d2700) at pthread_create.c:333
|
#15 0x00007f50be7773dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
|