mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Many files:
Fix hang introduced by selective deadlock resolution srv0srv.c, row0mysql.c: Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE innobase/include/que0que.h: Fix hang introduced by selective deadlock resolution innobase/include/trx0trx.h: Fix hang introduced by selective deadlock resolution innobase/include/ut0ut.h: Fix hang introduced by selective deadlock resolution innobase/lock/lock0lock.c: Fix hang introduced by selective deadlock resolution innobase/log/log0log.c: Fix hang introduced by selective deadlock resolution innobase/que/que0que.c: Fix hang introduced by selective deadlock resolution innobase/row/row0mysql.c: Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE innobase/srv/srv0srv.c: Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE innobase/trx/trx0sys.c: Fix hang introduced by selective deadlock resolution innobase/trx/trx0trx.c: Fix hang introduced by selective deadlock resolution
This commit is contained in:
parent
8fc4319ae3
commit
4fa5e50edb
10 changed files with 81 additions and 24 deletions
|
|
@ -1727,6 +1727,7 @@ index->table_name);
|
|||
}
|
||||
|
||||
trx->que_state = TRX_QUE_LOCK_WAIT;
|
||||
trx->was_chosen_as_deadlock_victim = FALSE;
|
||||
trx->wait_started = time(NULL);
|
||||
|
||||
ut_a(que_thr_stop(thr));
|
||||
|
|
@ -3173,7 +3174,8 @@ lock_deadlock_recursive(
|
|||
err_buf += sprintf(err_buf,
|
||||
"*** WE ROLL BACK TRANSACTION (1)\n");
|
||||
|
||||
wait_lock->trx->error_state = DB_DEADLOCK;
|
||||
wait_lock->trx->was_chosen_as_deadlock_victim
|
||||
= TRUE;
|
||||
|
||||
lock_cancel_waiting_and_release(wait_lock);
|
||||
|
||||
|
|
@ -3353,6 +3355,7 @@ table->name);
|
|||
}
|
||||
|
||||
trx->que_state = TRX_QUE_LOCK_WAIT;
|
||||
trx->was_chosen_as_deadlock_victim = FALSE;
|
||||
trx->wait_started = time(NULL);
|
||||
|
||||
ut_a(que_thr_stop(thr));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue