KingbaseES V8R6C5B0023 sys_dump备份锁冲突故障测试

一、sys_dump故障现象

日志显示:
Sys_dump备份期间,需要获取AccessExclusiveLock,和应用中的锁发生冲突,导致sys_dump失败。

日志显示:
1、sys_dump需要获取AccessExclusiveLock,被recovery process阻塞。
2、在备库rcovery 期间,只能获取RowExclusiveLock以下的锁。

所以,这个sys_dump应该获取的锁信息有点不正常,导致sys_dump备份失败。

二、测试故障版本sys_dump锁信息
2.1 测试版本

prod=# select version();
                                                       version                                                       
-------------------------------------------------------------------------------
 KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)

2.2 执行sys_dump备份单张表

[kingbase@node1 bin]$ ./sys_dump -U system -p 54323 -d prod -t
public.t1 >/home/kingbase/t1.sql

2.3 查看访问对象加载的锁信息

三、测试其他版本sys_dump锁信息
3.1 测试版本

prod=# select version();
                                                       version                                                       
-------------------------------------------------------------------------------
 KingbaseES V008R006C003B0010 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)

3.2 执行sys_dump备份单张表

3.3 查看访问对象加载的锁信息

四、总结
如下图所示:正常的sys_dump备份只需要’AccessShareLock’锁,V8R6C5B0023 (故障版本),在做sys_dump时,增加了‘AccessExclusiveLock、ShareUpdateExclusiveLock’锁,导致和业务产生的锁发生了冲突,应该是bug问题导致。

五、解决方案

测试结果:

5.1 配置kingbase.conf

重新启动数据库服务。
5.2 执行sys_dump备份单张表

5.3 查看sys_dump加载锁信息

由以上图可知,sys_dump锁信息正常。

posted @   天涯客1224  阅读(294)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示