CAICAIIs commented on issue #1116:
URL: 
https://github.com/apache/incubator-seata-go/issues/1116#issuecomment-4319863742

   ## 大致的 PR 路线
   
   ### PR1:先让 Oracle XA 路径可以正常使用
   
   第一个 PR 先把 Oracle 真正接进 XA 路径,包括 driver、connector 和 resource 创建,不再继续依赖 MySQL 
专用的假设。这个 PR 需要先选定一个 Oracle Go driver 和一个测试环境,实现 
`Start`、`End`、`Prepare`、`Commit`、`Rollback`,补上不支持环境的明确报错,并修复通用 XA branch-status 
的错误处理问题,这样后面的验证结果才可信。
   
   ### PR2:明确 XID 映射和二阶段行为
   
   第二个 PR 负责定义 seata-go 的分支标识如何映射到 Oracle XA 
标识。这里要把编码方式、长度限制、以及事务处理中如何追踪写清楚。同时也要明确二阶段的处理方式,特别是提交和回滚到底必须使用原来的连接,还是允许新连接执行。
   
   ### PR3:补上恢复能力
   
   第三个 PR 实现 `Recover`,并处理这样一类情况:事务已经 prepare,但在二阶段完成前进程或连接中断了。这个 PR 
需要把恢复行为说明白,并补上对应验证,确保后续能找到这些 prepared 分支并继续处理。
   
   ### PR4:完善 Oracle 错误处理
   
   第四个 PR 负责补 Oracle 专用的错误分类,并定义重试和幂等语义。要明确哪些 Oracle 错误表示分支已经结束,哪些是真正失败,以及 
TC/RM 重试时应该怎么处理。同时,这个 PR 也要补上这些异常场景的测试。
   
   ### PR5:补全文档和验证材料
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to