解决金仓KingbaseFlySync同步服务源端报错:Unable to retrieve column metadata schema=flysync_cdc_141 table=heartbeat的问题
关键字
KingbaseFlySync,KFS,同步服务,源端,mysql
问题描述
KFS同步数据时(源端mysql),解析源端binglog日志失败,并且会循环抽取binlog日志,过程中无kufl解析,且日志报错Unable to retrieve column metadata schema=flysync_cdc_141 table=heartbeat
问题分析
KFS在查询MySQL表结构时,因为现场网络原因造成获取表结构超时,所以KFS报错回滚至上一次断点。但是此时KFS没有解析到需要的表,binlog一直跳过,导致KFS内部记录的断点没有及时更新。KFS由于报错触发了重连重试,且每次重连后会从很早的binlog断点开始拉取文件解析,此时因为拉取日志过大又造成超时,所以导致该问题发生。
解决方案
KFS在online时指定上次最近的binlog,并指定binlog日志点开始同步,即可解决问题。命令示例如下(XXXXX使用KFS具体的服务名替代):
fsrepctl -service XXXXX online -from-event mgr-binlog.004323:190:-1
更多信息,参见https://help.kingbase.com.cn/v8/index.html