Bug #115258 hang bug in mysql NDB cluster
| Submitted: | 9 Jun 2024 10:01 | Modified: | 12 Jun 2024 1:43 |
|---|---|---|---|
| Reporter: | CunDi Fang | Email Updates: | |
| Status: | Unsupported | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S3 (Non-critical) |
| Version: | 8.0.35-cluster MySQL Cluster Community S | OS: | Any |
| Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
[9 Jun 2024 10:01]
CunDi Fang
Here is the error log: 2024-06-09T09:03:52.483506Z 0 [System] [MY-010866] [NDB] Metadata: Failed to submit table 'mysql.ndb_apply_status' for synchronization mbind: Operation not permitted 2024-06-09T09:04:52.489797Z 0 [System] [MY-010866] [NDB] Metadata: Failed to submit table 'mysql.ndb_apply_status' for synchronization 2024-06-09T09:05:52.496659Z 0 [System] [MY-010866] [NDB] Metadata: Failed to submit table 'mysql.ndb_apply_status' for synchronization 2024-06-09T09:06:52.502972Z 0 [System] [MY-010866] [NDB] Metadata: Failed to submit table 'mysql.ndb_apply_status' for synchronization 2024-06-09T09:07:52.511564Z 0 [System] [MY-010866] [NDB] Metadata: Failed to submit table 'mysql.ndb_apply_status' for synchronization
[12 Jun 2024 1:43]
MySQL Verification Team
Hi, ndbcluster is not meant to be used with queries like this. Please use InnoDB Cluster / Group Replication for this type of use case.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: OS version and name: Ubuntu 22.04.3 LTS (Jammy Jellyfish) Linux eb1f47b08982 6.5.11-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-8 (2024-01-30T12:27Z) x86_64 x86_64 x86_64 GNU/Linux PoC: ''' delete from mytest100.test0 where EXISTS ( select ref_6.name as c0, mytest100.test0.column2 as c1 from mysql.plugin as ref_0 right join ndbinfo.index_stats as ref_1 inner join information_schema.INNODB_FT_INDEX_TABLE as ref_2 on (EXISTS ( select ref_2.WORD as c0, (select LOCKED_BY_THREAD_ID from performance_schema.mutex_instances limit 1 offset 95) as c1, mytest100.test0.column5 as c2, ref_3.server_id as c3, ref_3.server_id as c4 from mysql.ndb_apply_status as ref_3 where mytest100.test0.column0 is not NULL limit 84)) left join sys.ps_check_lost_instrumentation as ref_4 right join information_schema.COLLATIONS as ref_5 on (false) right join mysql.help_keyword as ref_6 right join information_schema.STATISTICS as ref_7 on (ref_6.help_keyword_id = ref_7.NON_UNIQUE ) on (ref_5.ID = ref_7.CARDINALITY ) on (((ref_1.sample_version is not NULL) or (false)) and (EXISTS ( select mytest100.test0.column1 as c0, ref_5.SORTLEN as c1, ref_7.SEQ_IN_INDEX as c2, ref_5.IS_DEFAULT as c3, ref_6.name as c4, ref_6.name as c5, ref_8.read_backup as c6, ref_2.WORD as c7, mytest100.test0.column5 as c8, mytest100.test0.column4 as c9, ref_2.DOC_ID as c10, ref_6.help_keyword_id as c11, ref_5.IS_DEFAULT as c12, ref_2.DOC_ID as c13 from ndbinfo.table_info as ref_8 where true))) on ((ref_7.PACKED is not NULL) or ((ref_5.IS_COMPILED is NULL) or ((ref_6.help_keyword_id is not NULL) or (ref_5.SORTLEN is not NULL)))) where (ref_4.variable_value is NULL) and (ref_6.help_keyword_id is NULL) limit 32); ''' This SQL statement will not be able to be stopped or return results, and can ultimately only be cancelled by forcing the mysql process to be killed. How to repeat: Architecture Information: ''' [NDBD DEFAULT] NoOfReplicas =2 DataMemory = 512M IndexMemory = 64M [NDB_MGMD] NodeId=1 hostname =192.172.10.8 datadir =/var/lib/mysql-cluster [NDBD] NodeId =2 hostname =192.172.10.9 datadir =/usr/local/mysql-cluster/data NodeGroup=0 [NDBD] NodeId =3 hostname =192.172.10.10 datadir =/usr/local/mysql-cluster/data NodeGroup=1 [NDBD] NodeId =4 hostname =192.172.10.11 datadir =/usr/local/mysql-cluster/data NodeGroup=0 [NDBD] NodeId =5 hostname =192.172.10.12 datadir =/usr/local/mysql-cluster/data NodeGroup=1 [mysqld] NodeId =6 hostname =192.172.10.9 [mysqld] NodeId =7 hostname =192.172.10.10 [mysqld] NodeId =8 hostname =192.172.10.11 [mysqld] NodeId =9 hostname =192.172.10.12 ''' Attempted and successfully reproduced! Suggested fix: There should be a problem with the query plan generation and optimisation of the SQL.