openGauss-子事务并发回滚流程优化

openGauss- 子事务并发回滚流程优化

可获得性

本特性自openGauss 5.1.0版本开始引入。

特性简介

本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为group leader负责请求ProcArrayLock锁,并在获取到锁后清理group中所有backend的事务信息。避免子事务并发回滚时,各backend互相争抢ProcArrayLock,导致事务被阻塞的问题。

客户价值

优化大量包含子事务的业务并发提交、回滚时,对ProcArrayLock锁的争抢问题,提高该场景下的事务并发能力。

特性描述

在子事务回滚场景,每个子事务回滚时都会清理PGPROC中的子事务列表等事务信息,并更新lastCompleteXid,在此期间需要申请ProcArrayLock用于保护ProcArray。如果一个事务内包括多个子事务,在回滚事务时,会串行回滚每个子事务,每次回滚都需要请求ProcArrayLock,此外事务提交或回滚同样需要请求ProcArrayLock锁。因此在大量子事务并发提交、回滚时,backends对ProcArrayLock的争抢会较为明显,进而可能导致事务的提交和回滚被阻塞。
针对该问题,本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为group leader负责请求ProcArrayLock锁,并在获取到锁后清理group中所有backend的事务信息,避免各backend之间互相争抢ProcArrayLock,提高子事务回滚效率。

特性增强

优化子事务并发回滚时,对ProcArrayLock锁的争抢问题。

特性约束

无。

依赖关系

本特性依赖于已有的事务结束和子事务回滚流程。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用mybatis-plus进行事务回滚时,需要注意以下几点: 1. 确保你的mybatis-plus版本是高于2021年下半年的版本,因为在高版本中,mybatis-plus已经实现了多数据源事务的统一提交和回滚管理。 2. 在使用mybatis-plus时,部分配置项的名称可能与mybatis有所不同,需要注意调整配置项的名称。 3. 当需要实现多数据源的事务支持时,mybatis-plus已经将相关功能集成到spring框架中,因此简化了多数据源切换和事务回滚提交操作。 4. 如果你使用的是旧版本的mybatis-plus,那么你需要自己实现多数据源切换和事务回滚提交等操作,相对来说比较麻烦。 综上所述,使用mybatis-plus进行事务回滚相对简单,特别是在高版本中已经实现了多数据源事务的统一管理。具体的实现细节可以参考相关文档或官方指南。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [解决seata和mybatis-plus事物不回滚问题](https://blog.csdn.net/dxcll/article/details/124132317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [多数据源事务集成-mybatis-plus](https://blog.csdn.net/u013309797/article/details/121968596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值