[MDEV-4176] Multi-master conflict resolving cause hanging or debug level assert Created: 2013-02-15  Updated: 2013-02-17  Resolved: 2013-02-17

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.29-galera
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Seppo Jaakola Assignee: Seppo Jaakola
Resolution: Fixed Votes: 0
Labels: None


 Description   

Resolving of multi-master conflicts can lead to situation when innodb kernel-mutex is tried to be locked twice by same THD:

130215 13:31:45 [Note] WSREP: BF kill (1, seqno: 1148093), victim: (1906) trx: 235097905
130215 13:31:45 [Note] WSREP: Aborting query: DELETE FROM comm01 WHERE p >= 1000
130215 13:31:45 [Note] WSREP: kill trx QUERY_EXEC for 235097905
130215 13:31:45 [Note] WSREP: kill query for: 1906
130215 13:31:45 InnoDB: Assertion failure in thread 140646447503104 in file sync0sync.ic line 207
InnoDB: Failing assertion: !mutex_own(mutex)

How to reproduce:
start two nodes and issue conflicting SQL load on both nodes



 Comments   
Comment by Seppo Jaakola [ 2013-02-15 ]

The problem is due to changes in THD::awake(), which now calls new handler method ha_kill_query()
InnoDB implementation of kill query (innobase_kill_query), enters kernel mutex.

Comment by Seppo Jaakola [ 2013-02-17 ]

Fix pushed in revision: http://bazaar.launchpad.net/~maria-captains/maria/maria-5.5-galera/revision/3380
Adapting to THD::awake() changes in MariaDB

Generated at Thu Feb 08 06:54:23 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.