YuZhangLarry opened a new pull request, #1052: URL: https://github.com/apache/incubator-seata-go/pull/1052
- [x] I have registered the PR [changes](https://github.com/apache/incubator-seata-go/tree/master/changes). **What this PR does**: Support XA branch reuse in autoCommit mode. When autoCommit is enabled, each SQL statement was creating a new XA branch, which could lead to "busy buffer" issues (#904). This change allows multiple SQL statements within the same transaction to reuse the same XA branch. **Which issue(s) this PR fixes**: Fixes #904 **Special notes for your reviewer**: Key changes: - Add `xaRegistry` to manage XA branch lifecycle and support reuse - `BeginTx`: save original autoCommit state to GlobalLockRequire - `createNewTxOnExecIfNeed`: implement XA branch reuse logic - `Commit`: skip actual XA commit in autoCommit mode (defer to TC Phase2) - `Rollback`: add conditional rollback and registry cleanup - `BuildExecutor`: filter out undoLogSQLHook for XA mode - `undoLogSQLHook`: skip undo log generation for XA mode - `Tx.Rollback`: handle nil target case for XA mode **Does this PR introduce a user-facing change?**: ```release-note Support XA branch reuse in autoCommit mode to avoid "busy buffer" issues -- 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]
