local模式-回滚失败的事务流程
2016-06-16 18:16:18 0 举报
在local模式下,如果事务回滚失败,系统会尝试进行恢复操作。首先,它会查找日志文件以确定哪些操作已经提交,哪些操作尚未提交。然后,它会尝试重新执行尚未提交的操作,以便将这些更改回滚到数据库中。如果恢复操作仍然失败,系统可能会生成一条错误消息,通知管理员手动解决此问题。在某些情况下,可能需要关闭并重新启动数据库服务才能成功恢复。总之,当事务回滚失败时,系统会尽力自动恢复数据,但如果无法恢复,管理员需要介入解决问题。
作者其他创作
大纲/内容
获取事务涉及的所有物理DB
获取事务的路由以及stage
是
路由为空?
取出没有回滚的记录进行回滚
抛异常
回滚成功?
根据物理DB的tcc_log表获取此事务的所有记录
回滚失败的事务
获取所有的物理DB
物理DB的个数等于stage?
回滚失败次数加1
否
更新tcc_operation表中此事务的状态
有记录没有回滚?
根据路由信息获取所有DB
更新tcc_log表的此条记录的status
抛出异常
0 条评论
下一页