ITPub博客

首页 > 数据库 > 国内数据库 > FATAL XX000 the limit of 818 distributed transactions has been reached

FATAL XX000 the limit of 818 distributed transactions has been reached

原创 国内数据库 作者:瀚高PG实验室 时间:2023-07-20 17:26:14 0 删除 编辑
环境
系统平台: Linux x86-64 Red Hat Enterprise Linux 7
版本: 6.0
症状

故障现象


HGDW集群。同步备库standby宕机,同时查询慢。standby日志报错如下

2022-11-23 15:00:59.626549 CST,,,p99618,th1765820480,,,,0,,,seg-1,,,,,"FATAL","XX000","the limit of 818 distributed transactions has been reached","It should not happen. Temporarily increase max_connections (need postmaster reboot) on the postgres (master or standby) to work around this issue and then report a bug",,,,"xlog redo distributed commit 2022-11-18 04:34:25.408317+08 gid = 3776315472-0000032765 gid = 1634724298-0555780955, gxid = 555780955",,0,,"cdbdtxrecovery.c",571,"Stack trace:
1    0xa49a1e postgres errstart + 0x439
2    0xb3c24b postgres redoDistributedCommitRecord + 0x14c
3    0x51519b postgres <symbol not found> + 0x51519b
4    0x5154fe postgres xact_redo + 0x1a6
5    0x52b893 postgres StartupXLOG + 0x1d27
问题原因

查询hgdw参数配置

max_connections,800
max_prepared_transactions,250


参数配置值过小。无法满足分布式事务需求。


解决方案

建议

设置max_connections为1200。max_prepared_transactions参数值建议与max_connections参数值一致。



官方文档:

Sets the maximum number of transactions that can be in the prepared state simultaneously. Greenplum uses prepared transactions internally to ensure data integrity across the segments. This value must be at least as large as the value of max_connections on the master. Segment instances should be set to the same value as the master.





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994931/viewspace-2965461/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。

注册时间:2021-02-18

  • 博文量
    184
  • 访问量
    126023