- 感觉 tinyky 里面没有凸显 primary key 的作用。按照论文来说,commit 应该是先检查 primary key lock 的状态,但是这里我没有实现也能过。
-
KvCommit()
中如果发现 key 的 lock 不存在,应该直接报错,因为这种情况按照道理不应该出现,而按照测试用例来说还必须要返回不带错误的CommitResponse
,那不是还意味着这个请求是成功的了? -
KvCommit()
中如果发现 key 的 lock 的 ts 和当前事务的 startVersion 不同,为什么是返回 Retryable,想不通。我甚至觉得这种情况都不会发生,因为它在KvPrewrite()
阶段就应该被终止了,怎么还会到KvCommit()
阶段?
关于问题2,3,也许存在一种错误的场景我没有想到,请大佬们说下。