云数据库 GAUSSDB-锁管理:partition_lock_upgrade_timeout

时间:2024-12-19 14:11:20

partition_lock_upgrade_timeout

参数说明:在执行某些查询语句的过程中,需要将分区表上的锁级别由允许读的ExclusiveLock级别升级到读写阻塞的AccessExclusiveLock级别。如果此时已经存在并发的读事务,那么该锁升级操作将阻塞等待。partition_lock_upgrade_timeout为尝试锁升级的等待超时时间。该参数可在PDB级别设置。

举例:在分区表上进行MERGE PARTITION和CLUSTER PARTITION操作时,都利用了临时表进行数据重排和文件交换,为了最大程度提高分区上的操作并发度,在数据重排阶段给相关分区加锁ExclusiveLock,在文件交换阶段加锁AccessExclusiveLock。加锁方式是尝试性加锁,加锁成功了则立即返回,不成功则等待50ms后继续下次尝试,加锁超时时间使用会话级设置参数partition_lock_upgrade_timeout。

参数类型:整型

参数单位:s(秒)

取值范围:-1 ~ 3000。-1表示无限等待,即不停地尝试锁升级,直到加锁成功。

默认值:1800。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:设置为-1时,长时间无法升级锁可能导致业务阻塞。

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0362.html