2
我最近在读InnoDB代码,需要在代码上写一些代码。 我知道在S2PL中,在发生冲突的事务结束后,将会恢复被阻止的事务。但是,我不确定InnoDB在块之后如何恢复事务,是否有一个处理这种工作的线程?非常感谢。innodb如何恢复交易?
我最近在读InnoDB代码,需要在代码上写一些代码。 我知道在S2PL中,在发生冲突的事务结束后,将会恢复被阻止的事务。但是,我不确定InnoDB在块之后如何恢复事务,是否有一个处理这种工作的线程?非常感谢。innodb如何恢复交易?
当需要锁但不能授予锁时,该锁被输入到页级别的锁定队列中。当释放任何锁时,释放事务将搜索队列并从队列中授予下一个新的非冲突锁。请参阅MySQL源代码中的storage/innobase/lock/lock0lock.c
的lock_rec_enqueue_waiting
,lock_rec_dequeue_from_page
,lock_grant
等。