-
环境
Dtle 2.19.01.0
部署三节点即为manager又为agent
配置job开启failover
源数据库5.6 目标数据库5.6
迁移数据量378万条
网络均可达
-
操作
不设置job的GTID,配置job为全量+增量迁移。
在创建job同时向源数据库插入数据压力
-
现象
全量迁移过程正常,可在日志中看到job“mysql.extractor: Beginning streaming”,开始增量迁移。增量迁移过程中源数据库show processlist,查看binlog dump进程为“Writing to net”状态,200秒左右断开。断开后,job状态为running,目标端有增量数据,但落后源库。

一段时间后检查源端数据和目标端数据,发现数据量不一致且不再继续增加,job状态为running。此时向源库插入数据,无法同步。
尝试暂停恢复job,发现binlog dump 进程状态“Writing to net”一段时间后“Master has sent all binlog to slave; waiting for binlog to be updated”。再向源端插入数据,无法继续迁移。
binlog dump是否有重连或超时机制?源库的max_allowed_packet设置为1G,出现“Writing to net”是否考虑数据量过大?