apache / incubator-seata-go

Go Implementation For Seata
https://seata.apache.org/
Apache License 2.0
1.53k stars 269 forks source link

Tcc-fence模式下无法正确处理空回滚 #685

Open yangwenbinch opened 1 month ago

yangwenbinch commented 1 month ago

What happened: Tcc-fence模式下开启本地事务表后,无法正确处理空回滚,空回滚无限重试直至超时 What you expected to happen: 正确处理空回滚并插入挂起状态记录,防止悬挂 How to reproduce it (as minimally and precisely as possible): 模拟空回滚,prepare时不插入记录 Anything else we need to know?: TCC-fence模式下空回滚无法正常消费,无限重试 image 此时在查询时,如果没有记录会返回报错 image 导致无法执行插入逻辑并直接返回回滚失败

因在执行prepare前进行了分支注册 image 此时服务端会无限发起rollback重试请求直到超时