【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1
【复现路径】
同步出现36027错误,下游字段比上游多,参考【 下游存在更多列的迁移场景】进行处理,执行binlog-schema update报错:[code=40082:class=dm-worker:scope=internal:level=high], Message: current validator stage is Running but not paused, invalid
【遇到的问题:问题现象及影响】
binlog-schema update 和 list命令均报错:[code=40082:class=dm-worker:scope=internal:level=high], Message: current validator stage is Running but not paused, invalid
【资源配置】
【附件:截图/日志/监控】
这提示不很明显么,先把任务停了再执行呢
任务已经是报错停止状态
同一resource下有两个任务,一个报错Paused状态,另一个手动Paused状态
手动停止下,别依赖报错那个停止,试下呢
试过了呢
dm-worker的日志信息有么,也是同样的这个错误么
补充:手动停止出错的任务,报38032错误。
该出错任务应该是全量同步阶段完成后,增量同步阶段立即出错
手动停止出错任务,worker日志:[2024/09/04 11:17:01.571 +08:00] [ERROR] [source_worker.go:777] [“fail to operate subtask stage”] [stage=“{"expect":3,"source":"report","task":"billreport_to_ods"}”] [“is deleted”=false] [error=“[code=40050:class=dm-worker:scope=internal:level=high], Message: current stage is Paused but not running, invalid”] [errorVerbose=“[code=40050:class=dm-worker:scope=internal:level=high], Message: current stage is Paused but not running, invalid\ngithub.com/pingcap/tiflow/dm/pkg/terror.(*Error).Generate\n\tgithub.com/pingcap/tiflow/dm/pkg/terror/terror.go:293\ngithub.com/pingcap/tiflow/dm/worker.(*SubTask).Pause\n\tgithub.com/pingcap/tiflow/dm/worker/subtask.go:585\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).OperateSubTask\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:627\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).operateSubTaskStage\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:834\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).operateSubTaskStageWithoutConfig\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:853\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).handleSubTaskStage\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:774\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).observeSubtaskStage\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:732\ngithub.com/pingcap/tiflow/dm/worker.(*SourceWorker).EnableHandleSubtasks.func1\n\tgithub.com/pingcap/tiflow/dm/worker/source_worker.go:482\nruntime.goexit\n\truntime/asm_amd64.s:1650”]
执行binlog-schema update错误:
对应dm-master日志:[2024/09/04 11:25:14.087 +08:00] [INFO] [server.go:2734] [payload="op:SetSchema task:"billreport_to_ods" sources:"report" database:"copm_ods" table:"rpt_acct_receivable_sed" flush:true sync:true fromSource:true "] [request=OperateSchema]
这咋感觉遇到bug了呢,如果数据量不多的话,把dm-meta库中的对应任务的元数据删掉,重新同步吧,数据量多的话我再想想
可能是bug,就是target表提前建好了,字段比resource多,然后开启全量同步,在全量阶段完成后,开始增量阶段就会报错了。数据量也不是特别大,我可以重试一次。感觉可以重现。
如果我把target表drop掉,再重新同步,应该就没有问题了
嗯呢,字段多报错正常,但是现实running就比较奇怪了,可能是个bug,8.1我这里还没使用,没法复现,你可以试下复现看看
问题已解决:提示很清晰,validator未停止。但由于不了解validator含义,导致看不懂提示。使用dmctl validation stop停止增量校验即可成功执行binlog-schema update。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。