dromara / raincat

强一致分布式事务框架
https://dromara.org/
GNU Lesser General Public License v3.0
1.91k stars 663 forks source link

修复补偿纪录插入可能会爆 主键重复 的问题 #25

Closed 0000005 closed 6 years ago

0000005 commented 6 years ago

bug产生场景

假设有两个微服务,Order(订单)、member(会员)。 执行路径如下 Order.checkin(); \/ Order===>Member.createMember()

\/ Order===>Member.addFee()

也就是Order.checkin()在同一个分布式事务中,分别调用了两次Member的feign。此时Member微服务产生补偿记录时,会爆出主键重复的异常。导致整个分布式事务失败。

bug产生原因

补偿id为groupId,应该替换成一个随机的唯一值。