文档首页/ 数据复制服务 DRS/ 故障排除/ 失败案例/ PostgreSQL->PostgreSQL实时同步/ 任务启动失败报错,关键词“Initialize logical replication stream failed, the source database may have a long transaction: ****.”
更新时间:2024-11-29 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的连接超时参数来解决。