DM 2.0 GA Release Notes

发版日期:2020 年 10 月 30 日

DM 版本:2.0.0

改进提升

  • 对于 Amazon Aurora、阿里云 RDS 等不能使用 FTWRL 进行全量导出的场景,优化 safe-mode 的开启以确保数据的最终一致性 #981 #1017
  • 支持根据上下游的 global sql_mode 及 binlog event 中的 sql_mode,自动配置数据迁移过程中所需要的 sql_mode #1005 #1071 #1137
  • 支持根据下游 TiDB 的 global max_allowed_packet,自动设置 DM 连接到下游 client 的 max_allowed_packet #1071
  • 相对 DM 2.0 RC 版本优化了增量复制的速度 #1203
  • 默认使用乐观事务向 TiDB 迁移数据以提升性能 #1107
  • DM-worker 支持自动获取并使用集群中的 DM-master 节点列表 #1180
  • 禁用对更多不可自动恢复错误的 auto-resume 行为 #979 #1085 #1216

Bug 修复

  • 修复未自动设置全量导出的 statement-size 默认值而可能造成 packet for query is too large 或 TiDB OOM 的问题 #1133
  • 修复了全量导入过程中,可能由于并发 checkpoint 操作而造成 DM-worker panic 的问题 #1182
  • 修复上游 MySQL/MariaDB 实例重启后,数据迁移任务可能触发 table checkpoint position * less than global checkpoint position 而中断的问题 #1041
  • 修复上游未开启 GTID 时可能导致数据迁移任务中断的问题 #1123
  • 修复 shard DDL 协调遇到冲突后,DM-master 节点无法正常启动的问题 #1199
  • 修复待迁移的表中存在多个普通索引时,可能导致增量复制速度过慢的问题 #1063
  • 修复全量导入过程中,重启数据迁移任务后进度显示异常的问题 #1043
  • 修复处于暂停状态的数据迁移子任务被调度到其他 DM-worker 后无法被 query-status 获取的问题 #1183
  • 修复全量导出时,FileSize 参数可能不生效的问题 #1191
  • 修复全量导出时,extra-args-s 参数不生效的问题 #1196
  • 修复启用 online DDL 支持时,可能触发 not allowed operation: alter multiple tables in one statement 错误的问题 #1192
  • 修复增量复制时,待迁移的 DDL 语句有关联其他表时(如 foreign key 相关的 DDL)可能导致任务中断的问题 #1101 #1108
  • 修复全量迁移过程中,不能正确处理数据库名、表名中包含 / 字符的问题 #991
  • 修复增量复制过程中,向下游 TiDB 执行 DDL 失败后数据迁移任务可能未暂停且无法通过 query-status 获取到相应错误的问题 #1059
  • 修复乐观 shard DDL 模式下,并发协调多条 DDL 语句时可能造成阻塞的问题 #1051
  • 修复 DM-master 成为 leader 后仍可能尝试转发请求给其他 DM-master 节点的问题 #1157
  • 修复任务前置检查时,无法解析 GRANT CREATE TABLESPACE 的问题 #1113
  • 修复迁移 DROP TABLE 语句而对应数据表不存在时,数据迁移任务中断的问题 #990
  • 修复 operate-schema 在指定 --source 参数时可能无法正确工作的问题 #1106
  • 修复开启 TLS 后,无法正确执行 list-member 的问题 #1050
  • 修复开启 TLS 后,配置项中混合使用 httpshttp 可能导致集群无法正常工作的问题 #1220
  • 修复 DM-master 启用 cert-allowed-cn 后,HTTP API 无法正常使用的问题 #1036
  • 修复对于增量数据复制任务,仅在任务配置的 meta 中指定 binlog-gtid 时,配置检查不能通过的问题 #987
  • 修复 dmctl 在交互模式下,部分命令首尾包含空白字符时执行出错的问题 #1202
  • 修复全量导出时,日志中输出 converting NULL to string is unsupported 错误的问题 #1014
  • 修复全量导入时,进度可能显示为 NaN 的问题 #1209