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]

Reply via email to