暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库build异常解决

古月方源 2025-06-06
182

一.问题背景

1.两个备机building100%没有结束;
2.主机备份报已有备份在执行,有可能受备机building影响 集群异常,当前启动集群后节点3是primary,其他两个节点一直处于building(100%)状态。当务之急是备份数据,然后处理集群故障,以防集群或数据库无法启动导致数据丢失。

二、问题分析

1.数据库集群状态

image.png

2. 1 2节点的gs_ctl日志:

image.png

3.gs_ctl query命令分别查看三台节点

image.png
image.png
image.png

4.查看 primary节点的data目录大小,以及querybuild命令

image.png

5.查看 standby节点的querybuild命令

image.png

6.备份报错如下

image.png

7.查看到对应的日志报错(在build有问题的节点上查看):

image.png

三、问题原因

image.png

if (current_len_left < 0 || current_len_left > INT_MAX - 511) {
pg_log(PG_WARNING, _(“current_len_left is invalid\n”));
DisconnectConnection();
FREE_AND_RESET(copybuf);
return false;
}
全量备份将本地数据目录清空,仅保留相关配置文件,对端数据目录下所有文件都会发送本地。 而备份复制的对端节点数据目录下,有生成core文件,3.2GB大小。(INT_MAX =2GB),属于大文件,超过了大小限制,导致build失败。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论