为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.3
- 【问题描述】:dm版本是v1.0.1和v1.0.3
配置文件案例如下
filters:
filter-supported-rule:
schema-pattern: "pd_user"
events: ["create table", "all dml"]
action: Do
filter-unsupported-rule:
schema-pattern: "*"
sql-pattern: ["unsupported-sql"]
action: Ignore
在学习官网university上的视频课程时,看到老师ppt上有 sql-pattern: [{unsupported-sql}] 这个配置项,目的是用以过滤tidb不支持的各种sql。但在官网文档上没找到 unsupported-sql 相关的定义和说明
问题1: 如上案例,dm任务处配置 sql-pattern: [{unsupported-sql}] 就会报错; 配置 sql-pattern: [“unsupported-sql”] 任务不会报错,已正常跑了2天+ 。请问正确的配置是 sql-pattern: [“unsupported-sql”] 吗 ?
问题2: unsupported-sql 规则具体定义是什么呢?会过滤tidb不支持的所有dml和ddl吗,还是只会过滤不支持的所有ddl呢?
问题3: 文档上提到"Ignore"规则的优先级比"Do"高, 如果有多个"Ignore"和多个"Do"规则同时存在,那么优先级顺序是:先顺序匹配Ignore规则,Ignore越靠前(位置在其他规则上方)优先级越高;Ignore匹配完成后,在顺序依次匹配Do规则,实际是这样的吗?
问题4: dm任务忽略所有ddl后,当上游出现ddl变更时,官方推荐的变更流程是什么样的呢? 变更流程: 先暂停dm任务 ,然后在下游tidb上执行ddl变更,之后在上游db上执行ddl变更,最后恢复启动dm任务 ,这么操作是正确的吗,会出现什么问题吗?
谢谢
谢谢
谢谢