Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
10.1(EOL), 10.2(EOL), 10.3(EOL)
Description
MySQL 8.0, which was the first MySQL release to include the VATS algorithm that debuted in MariaDB 10.1, includes this bug fix:
BUG#26562371 ASSERTION FAILURE: !LOCK_REC_OTHER_TRX_HOLDS_EX
Please evaluate whether this fix is applicable to MariaDB.
Attachments
Issue Links
- relates to
-
MDEV-14958 Merge new release of InnoDB MySQL 5.7.21 to 10.2
-
- Closed
-
We can ignore this fix. In MariaDB, we are not updating the age of the transaction if deadlock is involved.
In mariaDB 10.1 code is like the following:
// Move it only when it does not cause a deadlock.
&& innodb_lock_schedule_algorithm
== INNODB_LOCK_SCHEDULE_ALGORITHM_VATS
&& !thd_is_replication_slave_thread(lock->trx->mysql_thd)) {
space = buf_block_get_space(block);
page_no = buf_block_get_page_no(block);
HASH_DELETE(lock_t, hash, lock_sys->rec_hash,
lock_rec_fold(space, page_no), lock);
dberr_t res = lock_rec_insert_by_trx_age(lock);
}
}
But their patch checks the condition whether the transaction is a deadlock victim. So we can close this issue.