Error 3140: Invalid JSON text

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v3.0.9
  • 【问题描述】:上游分库分表,增加了字段,sql如下: ALTER TABLE dd_goods_0 ADD COLUMN activity_tags json NOT NULL after updated_at ; ALTER TABLE dd_goods_1 ADD COLUMN activity_tags json NOT NULL after updated_at ;

dm任务出现 : msg": "[code=10006:class=database:scope=not-set:level=high] execute statement failed: REPLACE INTO dd_product_x.dd_goods_x (id,goods_id,out_goods_id,name,out_cid,out_cid_name,out_cids,cate_id,subcate_id,cate_id3,cate_id4,min_group_price,min_normal_price,zk_price,sales_tip,has_coupon,has_mall_coupon,eval_count,mall_cps,commission_rate,shop_id,goods_status,pic,source_id,service_tags,desc_txt,serv_txt,lgst_txt,created_at,updated_at,activity_tags) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);: Error 3140: Invalid JSON text: The document is empty\ngithub.com/pingcap/dm/pkg/terror.(*Error).Delegate\ \t/go/src/github.com/pingcap/dm/pkg/terror/terror.go:267\ngithub.com/pingcap/dm/pkg/conn.(*BaseConn).ExecuteSQLWithIgnoreError\ \t/go/src/github.com/pingcap/dm/pkg/conn/baseconn.go:183\ngithub.com/pingcap/dm/syncer.(*DBConn).executeSQLWithIgnore.func2\ \t/go/src/github.com/pingcap/dm/syncer/db.go:260\ngithub.com/pingcap/dm/pkg/retry.(*FiniteRetryStrategy).Apply\ \t/go/src/github.com/pingcap/dm/pkg/retry/strategy.go:71\ngithub.com/pingcap/dm/pkg/conn.(*BaseConn).ApplyRetryStrategy\ \t/go/src/github.com/pingcap/dm/pkg/conn/baseconn.go:204\ngithub.com/pingcap/dm/syncer.(*DBConn).executeSQLWithIgnore\ \t/go/src/github.com/pingcap/dm/syncer/db.go:255\ngithub.com/pingcap/dm/syncer.(*DBConn).executeSQL\ \t/go/src/github.com/pingcap/dm/syncer/db.go:282\ngithub.com/pingcap/dm/syncer.(*Syncer).sync.func3\ \t/go/src/github.com/pingcap/dm/syncer/syncer.go:979\ngithub.com/pingcap/dm/syncer.(*Syncer).sync\ \t/go/src/github.com/pingcap/dm/syncer/syncer.go:1021\ngithub.com/pingcap/dm/syncer.(*Syncer).Run.func2\ \t/go/src/github.com/pingcap/dm/syncer/syncer.go:1092\ runtime.goexit\ \t/usr/local/go/src/runtime/asm_amd64.s:1357

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

你好,

请稍等,正在排查~

您好:

  1.  请问,DM版本是多少?   表的结构麻烦发一下,多谢。
  2.  上游两个表0和1是分表同步到下游同一张表,请问增加字段这一步成功了吗?
  3.  Invalid JSON text: The document is empty 请问这个json为空吗?

1、1.0.3

2、增加字段是成功的成功

3、尝试对上游表新的字段修改后(sql如下),resume-task 还是会报同样的错。
ALTER TABLE dd_goods_0 MODIFY COLUMN activity_tags json DEFAULT NULL ;

您好:

    1. 请问 ALTER TABLE dd_goods_0 MODIFY COLUMN activity_tags json DEFAULT NULL 这步骤成功了吗?看下当前下游表结构是否生效
    2. 请参考此文档,检测您当前表的列是否有空值,可以先更新为null,再测试,多谢. 

https://www.coder.work/article/496105

没有空值,最开始报错就是null值

您好: 1. 请参考文档,查看此表中的json是否有null,多谢 https://www.coder.work/article/496105 SELECT request, JSON_VALID(request) FROM log; 2. 抱歉,请尽量用相同账号回复,我们可以识别帖子状态,多谢