We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
用这个patch模拟耗时sql查询,然后提前timeout的场景。 使用的是samples里的XA basic的代码 test-timeout.patch
diff --git a/pkg/datasource/sql/conn_xa.go b/pkg/datasource/sql/conn_xa.go index f557c1e..8625f9e 100644 --- a/pkg/datasource/sql/conn_xa.go +++ b/pkg/datasource/sql/conn_xa.go @@ -199,6 +199,7 @@ func (c *XAConn) createNewTxOnExecIfNeed(ctx context.Context, f func() (types.Ex // execute SQL ret, err := f() + time.Sleep(10 * time.Second) if err != nil { // XA End & Rollback if rollbackErr := c.Rollback(ctx); rollbackErr != nil { diff --git a/pkg/tm/transaction_executor.go b/pkg/tm/transaction_executor.go index 22b662e..4665cf4 100644 --- a/pkg/tm/transaction_executor.go +++ b/pkg/tm/transaction_executor.go @@ -180,6 +180,8 @@ func beginNewGtx(ctx context.Context, gc *GtxConfig) error { timeout = config.DefaultGlobalTransactionTimeout } + timeout = 2 * time.Second + SetTxRole(ctx, Launcher) SetTxName(ctx, gc.Name) SetTxStatus(ctx, message.GlobalStatusBegin)
What happened:
报错, XAER_NOTA: Unknown XID
XAER_NOTA: Unknown XID
2024-03-04 19:36:07.434 INFO getty/getty_remoting.go:92 send async message: {message.RpcMessage{ID:4, Type:0x0, Codec:0x1, Compressor:0x0, HeadMap:map[string]string(nil), Body:message.BranchRegisterRequest{Xid:"172.24.0.3:8091:27517667274727427", BranchType:3, ResourceId:"root:12345678@tcp(127.0.0.1:3308)/seata_client", LockKey:"", ApplicationData:[]uint8{}}}} 2024-03-04 19:36:07.436 INFO client/client_on_response_processor.go:48 the rm client received clientOnResponse msg message.RpcMessage{ID:4, Type:0x1, Codec:0x1, Compressor:0x0, HeadMap:map[string]string{}, Body:message.BranchRegisterResponse{AbstractTransactionResponse:message.AbstractTransactionResponse{AbstractResultMessage:message.AbstractResultMessage{ResultCode:0x1, Msg:""}, TransactionErrorCode:0}, BranchId:27517667274727428}} from tc server. 2024-03-04 19:36:07.436 INFO xa/mysql_xa_connection.go:184 xa branch start, xid 172.24.0.3:8091:27517667274727427-27517667274727428 2024-03-04 19:36:11.266 INFO client/rm_branch_rollback_processor.go:38 the rm client received rmBranchRollback msg message.RpcMessage{ID:2, Type:0x0, Codec:0x1, Compressor:0x0, HeadMap:map[string]string{}, Body:message.BranchRollbackRequest{AbstractBranchEndRequest:message.AbstractBranchEndRequest{MessageTypeAware:message.MessageTypeAware(nil), Xid:"172.24.0.3:8091:27517667274727427", BranchId:27517667274727428, BranchType:3, ResourceId:"root:12345678@tcp(127.0.0.1:3308)/seata_client", ApplicationData:[]uint8{}}}} from tc server. 2024-03-04 19:36:11.266 INFO client/rm_branch_rollback_processor.go:44 Branch rollback request: xid 172.24.0.3:8091:27517667274727427, branchID 27517667274727428, resourceID root:12345678@tcp(127.0.0.1:3308)/seata_client, applicationData [] 2024-03-04 19:36:11.268 INFO xa/mysql_xa_connection.go:163 xa branch rollback, xid 172.24.0.3:8091:27517667274727427-27517667274727428 2024-03-04 19:36:11.268 ERROR xa/mysql_xa_connection.go:174 xa branch rollback failed, xid 172.24.0.3:8091:27517667274727427-27517667274727428, err Error 1397 (XAE04): XAER_NOTA: Unknown XID github.com/seata/seata-go/pkg/datasource/sql/xa.(*MysqlXAConn).Rollback /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/datasource/sql/xa/mysql_xa_connection.go:174 github.com/seata/seata-go/pkg/datasource/sql.(*XAConn).XaRollback /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/datasource/sql/conn_xa.go:399 github.com/seata/seata-go/pkg/datasource/sql.(*XAConn).XaRollbackByBranchId /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/datasource/sql/conn_xa.go:395 github.com/seata/seata-go/pkg/datasource/sql.(*XAResourceManager).BranchRollback /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/datasource/sql/xa_resource_manager.go:187 github.com/seata/seata-go/pkg/remoting/processor/client.(*rmBranchRollbackProcessor).Process /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/remoting/processor/client/rm_branch_rollback_processor.go:52 github.com/seata/seata-go/pkg/remoting/getty.(*gettyClientHandler).OnMessage /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/remoting/getty/listener.go:107 github.com/apache/dubbo-getty.(*session).addTask.func1 /Users/smiletrl/go/src/pkg/mod/github.com/apache/[email protected]/session.go:565 github.com/dubbogo/gost/sync.(*taskPoolSimple).worker /Users/smiletrl/go/src/pkg/mod/github.com/dubbogo/[email protected]/sync/task_pool.go:305 2024-03-04 19:36:11.268 ERROR sql/xa_resource_manager.go:188 rollback xa, resourceId: root:12345678@tcp(127.0.0.1:3308)/seata_client, err Error 1397 (XAE04): XAER_NOTA: Unknown XID github.com/seata/seata-go/pkg/datasource/sql.(*XAResourceManager).BranchRollback /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/datasource/sql/xa_resource_manager.go:188 github.com/seata/seata-go/pkg/remoting/processor/client.(*rmBranchRollbackProcessor).Process /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/remoting/processor/client/rm_branch_rollback_processor.go:52 github.com/seata/seata-go/pkg/remoting/getty.(*gettyClientHandler).OnMessage /Users/smiletrl/go/src/jihulab.com/yanlin/incubator-seata-go/pkg/remoting/getty/listener.go:107 github.com/apache/dubbo-getty.(*session).addTask.func1 /Users/smiletrl/go/src/pkg/mod/github.com/apache/[email protected]/session.go:565 github.com/dubbogo/gost/sync.(*taskPoolSimple).worker /Users/smiletrl/go/src/pkg/mod/github.com/dubbogo/[email protected]/sync/task_pool.go:305
What you expected to happen: 应该可以正确处理 xa的回滚
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
The text was updated successfully, but these errors were encountered:
Successfully merging a pull request may close this issue.
用这个patch模拟耗时sql查询,然后提前timeout的场景。
使用的是samples里的XA basic的代码
test-timeout.patch
What happened:
报错,
XAER_NOTA: Unknown XID
What you expected to happen:
应该可以正确处理 xa的回滚
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
The text was updated successfully, but these errors were encountered: