[MDEV-24915] Galera conflict resolution is unnecessarily complex Created: 2021-02-18  Updated: 2021-12-03  Resolved: 2021-02-18

Status: Closed
Project: MariaDB Server
Component/s: Galera, Storage Engine - InnoDB
Affects Version/s: 10.6
Fix Version/s: 10.6.0

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 1
Labels: performance, threads

Issue Links:
Problem/Incident
is caused by MDEV-23328 Server hang due to Galera lock confli... Closed
Relates
relates to MDEV-18534 galera_sr.GCF-1018B: Test failure: my... Closed
relates to MDEV-20612 Improve InnoDB lock_sys scalability Closed
relates to MDEV-24671 Assertion failure in lock_wait_table_... Closed
relates to MDEV-24967 Signal 11 on ha_innodb.cc::bg_wsrep_k... Closed
relates to MDEV-24966 Galera multi-master regression Closed
relates to MDEV-25114 Crash: WSREP: invalid state ROLLED_BA... Closed

 Description   

The fix of MDEV-23328 introduced a background thread for killing conflicting transactions. In 10.6, thanks to the refactoring that was conducted in MDEV-24671, the high-priority ("brute-force") applier thread can kill the conflicting transactions itself, before waiting for the locks to be finally released (after the conflicting transactions have been rolled back), in the lock_wait() function.

This will also allow us to remove the Galera hack LockGGuard that had to be added in MDEV-20612, and remove Galera-related function parameters from lock creation.


Generated at Thu Feb 08 09:33:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.