github-actions[bot] commented on issue #1116: URL: https://github.com/apache/incubator-seata-go/issues/1116#issuecomment-4319848082
> Bot detected the issue body's language is not English, translate it automatically. # # # ✅ Validation Checklist - [x] 🔍 I've searched [existing issues] (https://github.com/apache/incubator-seata-go/issues) and I'm sure it's not a duplicate request - [x] 📋 I have reviewed the [release notes] (https://github.com/apache/incubator-seata-go/releases) and am confident that this feature has not been implemented - [x] 🛠️ I am willing to take care of this on my own # # # 🎯 Function description The current `origin/master` has abstracted the XA resource creation as a registry expression structure in pr # 1090.But Oracle support remains incomplete at several key points: - The XA driver/connector/resource initialization path still clearly carries the MySQL assumption - Oracle XA approach just scaffolded in the direction of `DBMS_XA` - Oracle specific XID mapping scheme has not been defined - Oracle-specific misclassification and idempotent semantics not yet implemented - recovery semantics are still missingIn other words, the architectural direction is much better now than it was when # 1056 was exposed, but Oracle XA support is still not really done. So the goal is to provide full Oracle XA support for seata-go, including: - Oracle-specific XA resource creation and execution process - Oracle compatible XID encoding/mapping - Branch lifecycle support based on Oracle `DBMS_XA` - Correct one-stage/two-stage behavior - recovery support - Oracle-specific error mapping and retry/idempotent semantics # # # 📋 Usage scenarios Typical scenarios include: - Multiple microservices in a global transaction, with one or more branch resources backed by Oracle - The business system itself already uses Oracle as the core transaction database and cannot switch to MySQL-style XA behavior - Compared to AT mode, the business needs the database's native two-stage submission semantics rather than the undo log-based compensation mechanism - When an exception occurs between Phase 1 and Phase 2, it is still necessary to ensure that the branch submission, rollback and recovery behavior is correctA typical example is the * * order/inventory/payment/account * * process in the enterprise: different services operate Oracle resources separately, and global transactions must be guaranteed to be either submitted or rolled back. Without full Oracle XA support, seata-go users using Oracle cannot use XA mode as a complete and reliable option. # # # ⚖️ Complexity and risk assessment _No response_ # # # 🔗 External dependencies _No response_ # # # 📚 Additional information _No response_ -- 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]
