tidb 出现写写冲突的原因

写写冲突发生在 prewrite 阶段,当发现有其他的事务在写当前 Key (data.commit_ts > txn.start_ts),则会发生写写冲突。

这个 data.commit_ts > txn.start_ts 应该怎么理解呀?我的测试是这样的:

SESSION1:
SQL>begin;

SESSION2:
SQL>begin;
SQL>update test set name=‘DDD’ where id=4;
SQL>commit;

SESSION1:
SQL>insert into test values(4,‘ddddddd’);
ERROR 1062 (23000):Duplicate entry ‘4’ for key ‘PRIMARY’
查看tidb.log,提示pessimistic write conflict的报错内容。
我的SESSION2里面已经commit了,为啥还提示写写冲突呢?