Lab4- CONCURRENCY CONTROL
拖了很久终于开始做实验4了。lab4有三个大任务1. Lock Manager、2. DEADLOCK DETECTION 、3. CONCURRENT QUERY EXECUTION。这里20年的lab好像和之前的不太一样记得之前有日志和错误恢复lab的。不过就做这个最新的了。
Task1 LOCK MANAGER
1.1 任务描述
这个任务只需要修改两个文件concurrency/lock_manager.cpp
和concurrency/lock_manager.h
。这里cmu已经给我们提供了和事物相关的一些函数。在include/concurrency/transaction.h
。这里的==锁管理==(下用LM表示)针对于tuple级别。我们需要对lock/unlock
请求作出正确的行为。如果出现错误应该抛出异常。
1.2 一些小tips
1. 请仔细阅读位于lock_manager.h内的LockRequestQueue类
这会帮助你确定哪些事物在等待一个锁