人大金仓 解决金仓KingbaseFlySync同步服务源端启动时报复制槽已经存在的问题

76 阅读1分钟

解决金仓KingbaseFlySync同步服务源端启动时报复制槽已经存在的问题

关键字

KingbaseFlySync,KFS,同步服务,复制槽

问题描述

部署KFS解析源端KingbaseES数据库的增量数据,KFS部署成功后通过fsrepctl services查看服务状态为error,查看{replicator安装目录}/flysync/flysync-replicator/log/fsrepsvc.log日志文件,发现日志中报错提示:复制槽已经存在

问题分析

KFS退出时,由于程序内部异常,导致未正常释放占用的复制槽的相关资源。

解决方案

1、停止replicator,并在KingbaseES中查看复制槽状态,并获取当前restart_lsn

2、以restart_lsn创建临时复制槽,命令如下:

select sys_create_logical_replication_slot(‘tmp_slot’,‘decoderbufs’,‘xxlsn’::pg_lsn);

注:使用步骤1获取的restart_lsn替换命令中的xxlsn

3、drop掉未释放kfs复制槽,命令如下 :

select * from sys_drop_replication_slot(‘v8r6_kfs_logical_slot’);

4、重启kfs程序,命令如下:replicator restart

5、drop创建的临时复制槽,命令如下:

select * from sys_drop_replication_slot(‘tmp_slot’);

更多信息,参见help.kingbase.com.cn/v8/index.ht…