文档首页/
数据复制服务 DRS/
故障排除/
失败案例/
PostgreSQL->PostgreSQL实时同步/
任务启动失败报错,关键词“Initialize logical replication stream failed, the source database may have a long transaction: ****.”
更新时间:2024-05-20 GMT+08:00
任务启动失败报错,关键词“Initialize logical replication stream failed, the source database may have a long transaction: ****.”
场景描述
任务启动失败报错,同步日志界面提示:service LOGMANAGER failed, caused by: Initialize logical replication stream failed, the source database may have a long transaction: ****.
可能原因
- 报错信息中包含detail:Read timed out:DRS启动任务后,DRS增量抓取在源端数据库创建逻辑复制槽时由于长事务阻塞,或者创建逻辑复制槽的过程中数据库未找到一致性位点,等待创建超时。
- 报错信息中包含slot [***] is active: DRS启动任务后,DRS增量抓取在源端数据库创建逻辑复制槽时由于长事务阻塞,复制槽未创建成功,此时状态会显示被占用(active),DRS自动重试时会出现此类报错。
解决方案
参考以下SQL在源数据库查询是否存在长事务。
select datname, pid, xact_start, state, query from pg_stat_activity where xact_start < current_timestamp - interval '300 second
- 如果存在,需要等待长事务结束之后再进行重试。
- 如果不存在,可在管理控制台右上角,选择“工单 > 新建工单”,联系DRS客服调大DRS的连接超时参数来解决。