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锁信息正常。
标签:
kingbaseES
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」