Copilot commented on code in PR #848: URL: https://github.com/apache/incubator-seata-go/pull/848#discussion_r2263330718
########## pkg/tm/transaction_executor.go: ########## @@ -206,7 +206,10 @@ func useExistGtx(ctx context.Context, gc *GtxConfig) { } } -// clearTxConf When using global transactions in local mode, you need to clear tx config to use the propagation of global transactions. -func clearTxConf(ctx context.Context) { - SetTx(ctx, &GlobalTransaction{Xid: GetXID(ctx)}) +// transferTx transfer the gtx into a new ctx from old ctx. +// use it to implement suspend and resume instead +func transferTx(ctx context.Context) context.Context { + newCtx := InitSeataContext(ctx) + SetXID(newCtx, GetXID(ctx)) + return newCtx Review Comment: The `transferTx` function creates a new context but doesn't preserve the original context's values beyond the transaction ID. This could lead to loss of other important context values like timeouts, deadlines, or other metadata that might be present in the original context. ```suggestion // Preserve all values, deadlines, and cancellation from the original context. // If additional Seata-specific values are needed, set them on top of the original context. SetXID(ctx, GetXID(ctx)) return ctx ``` -- 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: notifications-unsubscr...@seata.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org