https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000821593
上述文档在锁机制的存储中提到,当行中事务信息被转储成sstable后,由于sstable的immutable特性,是无法直接修改sstable来解锁的,那么这种情况是如何在事务完成后,立即清理对应行中的锁信息的?
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000821593
上述文档在锁机制的存储中提到,当行中事务信息被转储成sstable后,由于sstable的immutable特性,是无法直接修改sstable来解锁的,那么这种情况是如何在事务完成后,立即清理对应行中的锁信息的?
“依旧可以通过事务标识来确认找到对应的事务信息来确认事务是否已经解锁。” 是在内存中查找事务状态的。
行锁并没有一个实体的对象,而是通过 tx_id 去查事务数据表,来确认事务是否提交,未提交则认为有行锁。对于sstable上的数据,每行会有事务相关的信息比如事务是否提交的flag、事务提交版本等信息。
我理解并不存在“立即清理对应行中的锁信息”的操作