dm由于上游语句不兼容异常怎么解决?


[ERROR] [db.go:201] [“execute statements failed after retry”] [task=task_gz_fat] [unit=“binlog replication”] [queries=“[DELETE FROM loverent_order_fat.rent_record_imei WHERE id = ? AND rentRecordNo = ? AND imei = ? AND fundId IS ? AND orderType = ? AND merchantType = ? AND terminateApplyTime IS ? AND createOn = ? AND applyTime = ? AND changeDate = ? AND createTime = ? AND updateTime = ? LIMIT 1]”] [arguments=“[[0 SJ1810270000124748 354851095017446 2 1 2018-10-27 18:54:50 2018-10-27 18:54:50 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00]]”] [error=“[code=10006:class=database:scope=not-set:level=high], Message: execute statement failed: begin, RawCause: sql:connection is already closed”]
可能是tidb不兼容上游mysql语句导致的异常,这要怎么解决

跳过去,然后手动补偿一下

跳过去的办法:

这不就是个普通delete吗?没看出什么特殊之处,怎么会不支持

RawCause: sql:connection is already closed"]

感觉不是不兼容导致的。建议看下日志或者检查下网络连接。

也不排除其他dm task 全量同步占用了大量的tidb的资源,过几个小时这个任务自动修复了。后面也是提示提示连接问题,但网络是没有问题的

确实有可能:thinking:这个问题还有再继续出现吗?

这个报错后面再出现了吗?
有错误message 信息吗?粘出来看看


感觉这个文档说了个寂寞:see_no_evil:

应该是这个原因,做了下压测,的确会出现,然后自动恢复了

后面压测了一下,用其他方式写入数据到tidb,增加tidb端的压力,然后dm也会出现这种问题,后面自动恢复了,主要出现的提示是:connection is already closed,出先上面的语句不兼容是误导了我。

“connection is already closed” 可能是一个常见状态, 你数据导入报错可能又其他原因

表没有主键或者唯一索引吧,这会导致 DML 比较慢

这个是老版本的语法吧?相当于现在的handle-error ,但这只能跳过ddl,没法跳过dml

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