Veeupup/distributed-system-and-database

CMU 15445 concurrency control问题讨论

Opened this issue · 1 comments

  1. 为什么当其他事务也对某rid申请upgrade锁的时候,需要abort呢?

LockUpgrade: This should also abort the transaction and return false if another transaction is already waiting to upgrade their lock.

  1. LockManager RunCycleDetection()在什么地方调用呢?在哪儿启动它?
  2. RunCycleDetection如何abort一个transaction呢?只能得到需要abort的transaction id,lock manager又没有transaction manager属性。在lock manager中添加transaction manager类型attribute?
  3. LockManager abort的处理方式问题,setting transaction state to ABORT and return false 还是throw an exception