dm 增量同步一段时间后卡在某个点

dm版本:5.3.0
tidb版本: 5.0.6
(1)同步一段时间后,出现
error=“ReadPacketTo failed: ReadPacketTo failed: io.CopyN failed. err read tcp 172.10.10.10:32866->8.8.8.8:3306: i/o timeout, copied 3670016, expected 9570255: connection was bad”
这是从外部拉取binlog,估计是网络带宽问题,增加上游带宽解决。 这个有时间timeout得配置吗,上游mysql net_read_timeout 我配置成120了。但是没什么作用。

(2)后续写入下游tidb得时候 出现 execute statement failed
个人觉得可能是我这语句太大导致得问题,这边是否有参数可以调整,后续再找研发人员处理这个语句

日志:
[2022/01/05 12:41:24.801 +08:00] [INFO] [tracker.go:457] [“Show create table info”] [task=tongbu] [unit=“binlog replication”] [tableID=read.usercomment] [“create string”=“CREATE TABLE usercomment (\ MyComments longtext COLLATE utf8mb4_general_ci DEFAULT NULL,\ ReplyMes longtext COLLATE utf8mb4_general_ci DEFAULT NULL,\ lastReplyId bigint(20) DEFAULT NULL,\ Id bigint(20) NOT NULL,\ PRIMARY KEY (Id) /*T![clustered_index] CLUSTERED */\ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci”]
[2022/01/05 12:41:57.767 +08:00] [ERROR] [baseconn.go:184] [“execute statement failed”] [task=tongbu] [unit=“binlog replication”] [query=“INSERT INTO read.usercomment (MyComments,ReplyMes,lastReplyId,Id) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE MyComments=VALUES(MyComments),ReplyMes=VALUES(ReplyMes),lastReplyId=VALUES(lastReplyId),Id=VALUES(Id)”] [argument="[[91 123 34 84 121 112 101 34 58 49 44 34 73 100 34 58 49 49 54 56 52 55 48 54 44 34 80 105 100 34 58 49 52 55 51 55 53 44 34 83 101 110 100 84 105 109 101 34 58 34 50 48 50 49 45 48 51 45 51 48 84 49 53 58 53 55 58 49 53 46 51 51 53 49 55 52 49 43 48 56 58 48 48 34 44 34 66 111 111 107 73 100 34 58 48 125 44 123 34 84 121 112 101 34 58 49 44 34 73 100 34 58 51 49 57 49 48 49 56 44 34 80 105 100 34 58 50 51 55 53 44 34 83 101 110 100 84 105 109 101 34 58 34 50 48 50 48 45 48 54 45 49 56 84 50 50 58 52 50 58 51 57 46 48 57 50 51 48 56 54 43 48 56 58 48 48 34 44 34 66 111 111 107 73 100 34 58 48 125 44 123 34 84 121 112 101 34 58 49 44 34 73 100 34 58 49 57 55 57 55 53 49 44 34 80 105 100 34 58 49 52 55 51 55 53 44 34 83 101 110 100 84 105 109 101 34 58 34 50 48 50 48 45 48 53 45 49 56 84 48 49 58 49 53 58 52 54 46 54 52 52 56 49 56 52 43 48 56 58 48 48 34 44 34 66 111 111 107 73 100 34 58 48 125 44 123 34 84 121 112 101 34 58 49 44 34 73 100 34 58 50 55 49 56 55 55 44 34 80 105 100 34 58 49 52 55 51 55 53 44 3…"] [error=“context deadline exceeded”]

这个是执行 SQL 报错了,可以拿下 SQL 手动在 TiDB 执行下,另外 DM 中反馈的是 TiDB 返回的报错,详细的报错信息还是看下 tidb.log 吧。

1 个赞

之前版本遇到过这个问题,换了版本就行了

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。