Assertion when ALTER TABLE(SPACE) executed concurrently with another query

Description

Another frequent assertion seen during pquery3 runs.

Steps to reproduce:

/home/mohit.joshi/percona-qa_fork/pquery/pquery3-pxc --database=test --threads=10 --queries-per-thread=2147483647 --logdir=/dev/shm/960159/1/node1/ --user=root --socket=/dev/shm/960159/1/node1/node1_socket.sock --seed 960159 --step 1 --metadata-path /home/mohit.joshi/pxc_runs/960159/ --seconds 60 --tables 5 --records 100 --trx-prb-k 0 --trx-size 0 --log-all-queries --log-failed-queries --primary-key-probablity 100

stack trace:

mysqld: /mnt/jenkins/workspace/pxc80-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/dd/impl/cache/shared_multi_map.cc:82: void dd::cache::Shared_multi_map<T>::remove(dd::cache::Cache_element<T>, dd::cache::Shared_multi_map<T>::Autolocker) [with T = dd::Tablespace]: Assertion `e->usage() == 1' failed.
2020-03-06T09:20:35.852976Z 23 [Note] [MY-000000] [WSREP] Initiating SST cancellation
09:20:35 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7f4f0d047000
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 = 7f4f4c69abd8 thread_stack 0x46000
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x55) [0x4db5f6c]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(handle_fatal_signal+0x2db) [0x3b6f6b5]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f4f7399f390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f4f719b2428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f4f719b402a]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7) [0x7f4f719aabd7]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc82) [0x7f4f719aac82]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(dd::cache::Shared_multi_map<dd::Tablespace>::remove(dd::cache::Cache_element<dd::Tablespace>, dd::cache::Shared_multi_map<dd::Tablespace>::Autolocker)+0xb9) [0x4c1c167]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(void dd::cache::Shared_multi_map<dd::Tablespace>::drop_if_present<dd::Primary_id_key>(dd::Primary_id_key const&)+0x68) [0x4c1f0a8]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(void dd::cache::Shared_dictionary_cache::drop_if_present<dd::Primary_id_key, dd::Tablespace>(dd::Primary_id_key const&)+0x2e) [0x4b9b52c]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(void dd::cache::Dictionary_client::invalidate<dd::Tablespace>(dd::Tablespace const*)+0x138) [0x4b83a48]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(bool dd::cache::Dictionary_client::drop<dd::Tablespace>(dd::Tablespace const*)+0x148) [0x4b70030]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(dd_drop_tablespace(dd::cache::Dictionary_client*, THD*, unsigned long long)+0x188) [0x53bca25]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x4f4b61a]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x4f4e66b]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(bool ha_innobase::prepare_inplace_alter_table_impl<dd::Table>(TABLE*, Alter_inplace_info*, dd::Table const*, dd::Table*)+0x278b) [0x4f5c73f]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(ha_innobase::prepare_inplace_alter_table(TABLE*, Alter_inplace_info*, dd::Table const*, dd::Table*)+0x1e0) [0x4f38c2c]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(handler::ha_prepare_inplace_alter_table(TABLE*, Alter_inplace_info*, dd::Table const*, dd::Table*)+0x8e) [0x350362c]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x3a2ac42]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(mysql_alter_table(THD*, char const*, char const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*)+0x3ca9) [0x3a37bc1]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(Sql_cmd_alter_table::execute(THD*)+0x13c5) [0x383f3db]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(mysql_execute_command(THD*, bool)+0x84bc) [0x3964e4d]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(mysql_parse(THD*, Parser_state*, bool)+0x719) [0x39681b5]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x396c101]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x1878) [0x39592e7]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(do_command(THD*)+0x93c) [0x3956e50]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld(threadpool_process_request(THD*)+0x82) [0x3af9918]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x3b2d8a5]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x3b2da99]
/home/mohit.joshi/pxc-8.0_build/Percona-XtraDB-Cluster_8.0.18.9-26.4.3_debug.Linux.x86_64/bin/mysqld() [0x55af319]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f4f739956ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f4f71a8441d]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f4f181a6028): ALTER TABLE tt_3_p ENCRYPTION = 'N'
Connection ID (thread ID): 23
Status: NOT_KILLED

Environment

None

blocks

Smart Checklist

Activity

Show:
Done

Details

Assignee

Reporter

Needs Review

Yes

Time tracking

2d logged

Fix versions

Priority

Smart Checklist

Created March 6, 2020 at 9:31 AM
Updated March 6, 2024 at 9:44 PM
Resolved April 29, 2020 at 1:15 PM