为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】tidb4.07 dm2.0
【问题描述】你好 我这边发现block-allow-list: 过滤无效
第一个图为我的dm配置
第二个图为报错内容
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】tidb4.07 dm2.0
【问题描述】你好 我这边发现block-allow-list: 过滤无效
第一个图为我的dm配置
第二个图为报错内容
我这个任务 只有bsn_business 这一个表 ,现在上游传来了一个新ddl goodcang_toms
._stm_shippercurrent_new
。因为是armscii8 所以报错,
但是奇怪的是 我下游并只有bsn_business 这个表,为什么会去解析这个ddl 导致报错。
谢谢回复
而且 我用skip跳过 也跳不过去
1 为什么去执行不在 block-allow-list 中表的 DDL
2 跳不过这个ddl
下次 碰到了 再复现一次 ,现在是handle 后 ,没有动静 错误还是依旧
你好 我这边是用pt工具加索引 下游tidb也会报错
因为我tidb 不需要创建上游的索引。所以我配置了过滤
然后我配置了online-ddl-scheme: “pt” ,现在发现加字段是没有问题的,但是加用pt加索引 ,会报错 如下
上游dba 执行 (数据量较大:ALTER TABLE orders
ADD INDEX idx_fab_status
(is_fba
, order_status
) USING BTREE; 使用 PT 操作)
可以把配置任务的所有yaml文件发出来 , 可能上面block-allow-list配置是不是漏掉了什么
这边测试了 如果不配置过滤dm 创建索引操作 。就不会报错。 请问这种 应该怎么解决 ,因为我下游tidb是不需要这些上游mysql创建索引的,
请问你配置这个后是否有重启 task?没重启不会生效的。可以从日志里面确认下 是否生效了。
在block-allow-list中没有_stm_shippercurrent_new表,其实报错是提示的parser解析失败,现在worker没识别到。可以用skip进行跳过ddl的。
handle-error test skip
然后如果想排除该表,在dm2.0.2可以在datasource源进行filter将表排除掉。
你好 你的_stm_shippercurrent_new 应该是使用pt工具, 会去创建的和block-allow-list没有关系,
使用 handle-error test skip 跳过应该是不对的 ,这样上游每次使用pt加索引 下游都会报错。