Debezium Postgres 保留 wal 大小随 select 语句增加

问题描述 投票:0回答:0

我们正在为 PostgreSQL 使用 Debezium 连接器,Debezium 版本 1.3 和 PostgreSQL 10.2,带有 pgoutput 插件。我们在 PostgreSQL 上进行选择时遇到了一个特殊的问题,它返回表上的大量数据(对于这些表,复制没有启用),如果查询需要很长时间,WAL 保留的大小会不断增加。一旦 select 语句返回数据,WAL 大小会减少并在一段时间后恢复正常。

我们已经在 Debezium 中配置了心跳查询和心跳主题。那没有多大帮助。当我们在 select 语句运行时检查 Debezium 日志时,我们在日志中看到偏移量正在提交。所以我认为 Debezium 仍在提交它已经消耗的 LSN。

今天我们尝试重现问题,发现当 Select 查询运行时,Debezium 失去了与 Kafka Broker 之一的连接。不确定这是巧合还是相关,但 Debezium 尝试了很长时间连接到代理,并在 10 多分钟后能够连接。在它能够连接到 Kafka 代理之前,LSN 没有得到承诺并且 WAL 大小在增加。

我们尝试了 Debezium 文档中可用的所有内容并链接到在 Debezium 上发布问题的其他文章,但仍然无法找到 WAL 大小增加的根本原因。

由于上述问题,我们无法在数据库中运行任何需要超过 5-10 分钟的查询。 有时它以这种方式挂起,永远无法恢复,我们必须删除复制槽并重新创建它。在少数情况下,我们甚至不能删除复制槽。我们不得不重新启动数据库以终止进程(我们在 AWS RDS 上,所以无法终止进程,请登录框)。

CDC 在项目中大量使用,升级到最新版本的 Debezium (2.2) 和 PostgreSQL (14) 是在未来的计划中,但正在寻找我们现在可以做的解决方案。

问题,

What is link with select query and WAL size increasing? 

When Debezium lost connectivity with one of the broker, doesn't it ignore that broker after few seconds and try to re-balance and continue. why it tried forever (i see it took almost 10 mins to reconnect. during that time it tried to reconnect again and again)

我们使用了心跳主题,心跳查询,但它们并没有太大帮助。

postgresql apache-kafka-connect debezium
© www.soinside.com 2019 - 2024. All rights reserved.