我有一个应用程序,它使用 debezium-postgres 连接器从 postgres 在 kafka 上发布事件。如果 kubernetes 部署策略为 Recreate,则应用程序工作正常。 但是在使用 RollingUpdate 部署策略时抛出异常
replication slot "XXX" is active for PID XXX
,因为较旧的 pod 正在使用相同的复制槽应用程序正在使用 PGOUTPUT debezium 插件和一些 postgres 配置如下:
max_wal_senders = 4
max_replication_slots = 4
wal_level = logical
wal_receiver_timeout = 300s
wal_sender_timeout = 300s
是否有任何配置可能有助于解决此问题?
答案 0 :(得分:1)
不能使用相同的复制槽启动两个 WAL 发送方进程。
如果您需要两个客户端来运行逻辑解码,请创建两个复制槽。否则,请确保在连接之前停止使用复制槽的所有客户端。