Skip to content
New issue

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

[Summer2021] Improve the performance of global commit and global rollback #3750

Closed
wangliang181230 opened this issue May 19, 2021 · 6 comments · Fixed by #4270
Closed

[Summer2021] Improve the performance of global commit and global rollback #3750

wangliang181230 opened this issue May 19, 2021 · 6 comments · Fixed by #4270
Assignees
Labels
Summer2021 task: help-wanted Extra attention is needed

Comments

@wangliang181230
Copy link
Contributor

Background

At present, branch transaction and global transaction are deleted synchronously when Seata-Server synchronously performs global commit or global rollback.
It is expected to asynchronize the deletion operation and reduce the time cost of global commit or global rollback.

The Seata community wants to open the task to Summer 2021.

Target

When global commit or global rollback, branch transaction and global transaction are deleted asynchronously.

Difficulty

Medium

Mentor

@wangliang181230
[email protected]

Output Requirements

  • When global commit or rollback, when all branches are successful, the global transaction state changes to the 'finished' state first, and the branch data and global transaction data are deleted asynchronously.
  • During global commit or rollback, when a failed branch is encountered, the data of the previous successful branch is synchronously deleted in batch, and then the 'TM' initiates a retry.

Technical Requirements

  • Familiar with Java programming language.
  • Understand common design patterns
  • Ability to read source code

————————————————————————

背景

目前Seata-Server在同步执行全局提交或回滚时,分支数据和全局事务数据是同步删除的。
期望将删除操作异步化,降低全局提交或回滚的时间成本。

Seata 社区想将这个任务开放给 Summer 2021

目标

全局提交或回滚时,分支数据和全局事务数据异步删除。

难度

中等

导师

@wangliang181230
[email protected]

产出要求

  • 全局提交或回滚时,当所有分支全部成功时,全局事务状态先变更为Finished状态,分支数据和全局事务数据异步删除。
  • 全局提交或回滚时,当碰到执行失败的分支时,前面执行成功的分支数据做批量同步删除,然后由TM发起重试。

能力要求

  • 熟悉Java开发语言。
  • 理解常见设计模式。
  • 具备一定的源码阅读能力。
@wangliang181230 wangliang181230 changed the title [Summer2021] When global commit or global rollback, branch transaction and global transaction are deleted asynchronously [Summer2021] Improve the performance of global commit and global rollback May 19, 2021
@wangliang181230
Copy link
Contributor Author

#3741

@wangliang181230 wangliang181230 added the task: help-wanted Extra attention is needed label Aug 30, 2021
@wangliang181230
Copy link
Contributor Author

Help Wanted:目前,该课题由于学生没有时间做,他已放弃该项目。现开放给社区的其他人来认领。

@pengten
Copy link
Contributor

pengten commented Jan 4, 2022

Please assign it to me @wangliang181230

@wangliang181230
Copy link
Contributor Author

Please assign it to me @wangliang181230

OK

@pengten
Copy link
Contributor

pengten commented Jan 5, 2022

@wangliang181230 已经有一个PR对全局事务进行了异步处理,但是实现方式有些不同。是否只需要在此基础上对分支事务进行异步化?
#3615

@pengten
Copy link
Contributor

pengten commented Jan 5, 2022

我的想法是:全局事务继续使用目前的异步化实现,而分支事务添加 Finished 状态,在retry时删除已经是Finished状态的分支事务。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Summer2021 task: help-wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants