tachibana22 opened a new pull request, #1161:
URL: https://github.com/apache/incubator-seata-go/pull/1161

   <!-- Thanks for sending a pull request!
   -->
   <!-- Please make sure you have read and understood the contributing 
guidelines -->
   
   - [ ] I have registered the PR 
[changes](https://github.com/apache/incubator-seata-go/tree/master/changes).
   
   **What this PR does**:
   1. Fixes nested transaction context isolation in 
`pkg/tm/transaction_executor.go`: restores `ctx = transferTx(ctx)` instead of 
`ClearTxConf(ctx)` when a global transaction exists, preventing inner calls 
from overwriting the outer transaction role to `Participant` and skipping the 
second-phase commit.
   2. Adds `TestNestedRequiredMustCommitOuterTransaction` in 
`pkg/tm/transaction_executor_test.go` to verify that outer `Required` 
transaction is committed exactly once.
   3. Adds `TestGlobalTxPropagationMatrix` table-driven test suite covering all 
propagation types (`Required`, `RequiresNew`, `NotSupported`, `Supports`, 
`Mandatory`, `Never`) across success, inner business error, inner panic, and 
outer error scenarios.
   
   **Which issue(s) this PR fixes**:
   
   Fixes #1155
   
   **Special notes for your reviewer**:
   This bug is a regression of #848 introduced during the gRPC refactoring 
(#1113). The fix reinstates isolated context derivation via `transferTx` and 
adds regression tests to prevent silent drops in future refactoring.
   
   **Does this PR introduce a user-facing change?**:
   
   ```release-note
   NONE


-- 
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