Skip to content

bugfix:Fix the issues of empty rollback infinite retries and inability to resolve hanging bugs in TCC-Fence mode.#684

Closed
yangwenbinch wants to merge 7 commits intoapache:masterfrom
yangwenbinch:master
Closed

bugfix:Fix the issues of empty rollback infinite retries and inability to resolve hanging bugs in TCC-Fence mode.#684
yangwenbinch wants to merge 7 commits intoapache:masterfrom
yangwenbinch:master

Conversation

@yangwenbinch
Copy link
Copy Markdown

What this PR does:
解决tcc-fence无限回滚与无法解决悬挂问题
具体问题见链接:apache/incubator-seata-go-samples#53
Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:
此问题使tcc-fence模式下使用问题较大
Does this PR introduce a user-facing change?:

NONE

@yangwenbinch
Copy link
Copy Markdown
Author

Which issue(s) this PR fixes:
#685

@sonarqubecloud
Copy link
Copy Markdown

@luky116 luky116 removed the coding label Nov 23, 2024
}
log.Infof("Insert tcc fence suspend record xid: %s, branchId: %d", xid, branchId)
return nil
return true, tx.Commit()
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里是否要执行 commit?

@luky116
Copy link
Copy Markdown
Contributor

luky116 commented Dec 21, 2024

正在测试

@AlexStocks
Copy link
Copy Markdown
Contributor

Whether the pr title or code comment, please do not use Chinese.

@sonarqubecloud
Copy link
Copy Markdown

@luky116
Copy link
Copy Markdown
Contributor

luky116 commented Feb 15, 2025

@泽睿

@AlexStocks
Copy link
Copy Markdown
Contributor

Please change the title of this PR in English. Maybe you can get help from ChatGPT.

@yangwenbinch yangwenbinch changed the title bugfix:修复tcc-fence模式空回滚无限重试以及无法解决悬挂bug bugfix:Fix the issues of empty rollback infinite retries and inability to resolve hanging bugs in TCC-Fence mode. Feb 17, 2025
@Similarityoung
Copy link
Copy Markdown
Contributor

我觉得在QueryTCCFenceDO方法中将查不到数据时返回nil即可修复,请问这样修改是否可行?我在此pr上提交了该修改 #745
image

@yangwenbinch
Copy link
Copy Markdown
Author

我觉得在QueryTCCFenceDO方法中将查不到数据时返回nil即可修复,请问这样修改是否可行?我在此pr上提交了该修改 #745 image

功能上无影响,但如发生悬挂问题,会导致忽略报错无法插入悬挂记录,当commit请求先于prepare请求过来时,commit请求被忽略,prepare请求会插入记录,此记录只会等待最大超时时间才会被销毁。本人理解此处应确认错误后插入一条悬挂或空回滚记录,如prepare请求后至则直接放弃执行。

@Code-Fight
Copy link
Copy Markdown
Contributor

fixed #745

@Code-Fight Code-Fight closed this Apr 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants