云数据库 GaussDB-锁管理:partition_lock_upgrade_timeout

时间:2025-02-12 15:08:01

partition_lock_upgrade_timeout

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

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

参数类型:整型

参数单位:s(秒)

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

默认值:1800

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

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

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

support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-10-0300.html