Skip to main content

版本发布记录

CloudCanal-2.2.4.0

发版时间:2022年6月17日 版本号: 2.2.4.0

新特性

  • 支持异地多活冲突检测条件(创建任务列选择页->对端更新条件)
  • 支持异地多活防循环标记自定义,以支持星型结构多活变更事件可传递能力
  • 支持 MongoDB 整形(Long、Integer)和字符串类型主键("_id")
  • 支持用户级任务异常/延迟可自定义告警抑制间隔、告警方式、IM告警群
  • 支持任务异常/延迟告警等级,以便发送到不同级别的IM告警群
  • 支持 StarRocks/Doris 对端可配置的刷出等待时间(参数realFlushPauseSec)
  • 支持阿里云 Vrigina 区域数据源
  • 支持 MySQL -> MySQL 对端更新条件,创建任务和修改订阅
  • 支持消息对端(Kafka/RocketMQ/RabbitMQ)选择一个已存在的 Topic/Queue 作为上游 DDL 接收 Topic/Queue
  • 支持飞书群机器人告警(目前已支持钉钉、企业微信、飞书三种告警方式)

优化

  • 优化 StarRocks/Doris 对端参数 flushTimeoutSec ,修改为 asyncFlushIntervalSec
  • 优化用户配置为 kv 形式,并对既有用户的配置进行页面级补全操作
  • 优化组件间通信超时参数设置,以缓解某些场景下控制信息交互超时问题(部署级参数,xxx.rsocket.wait_result_timeout_ms 和xxx.rsocket.connect_timeout_ms)
  • 优化自定义代码包过大(>50MB), 导致更新代码不生效问题,支持参数控制部署新代码等待时间(部署级参数,sidecar.config.pkg.download_to_ready_ms)
  • 升级 fastjson版本到 1.2.83,避免安全问题
  • 升级 Druid 链接池到 1.2.8,解决部分 DDL SQL 解析问题
  • 升级 RocketMQ http sdk 到 1.0.3.2 , 以消除 Log4j 风险
  • 开放大部分阿里云 Region

问题修复

  • 修复 PolarDBMySQL 源端,数据库切换时,按时间戳回退位点可能丢数据的问题
  • 修复 MySQL/PolarDBMySQL 源端,全库同步时 RENAME 操作无法被过滤的问题
  • 修复 MySQL 异地多活,编辑任务时产生的子任务没有继承父任务参数配置的问题
  • 修复 MySQL 异地多活,DDL 发生循环问题
  • 修复 MongoDB 源端 3.2、3.4、4.0、4.2、4.4、5.0 版本存在的增量获取时间戳位点的问题
  • 修复 MongoDB -> Kafka 新增数据类型后的问题
  • 修复部分数据源之间校验,如果指定主键会导致校验任务报错的问题
  • 修复多数据源对端,长时间未写入数据或 DDL 导致半开链接报错的问题(e.g.,源端定时写入数据)
  • 修复数据源更新数据源账号密码时无法更新 ssl 密钥文件问题
  • 修复 Oracle 源端识别 redo 日志中时间戳类型多出空格的问题,导致 Oracle to Oracle 链路同步中 删除/修改 操作的失败
  • 修复 PostgreSQL 增量任务删除的时候 slot 没有清理的问题
  • 修复过滤条件将数据完全过滤完毕造成的写入问题
  • 修复前端创建任务 Oracle->MySQL 选择 Oracle 库不自动映射,选择表空间后再自动映射的问题
  • 修复前端任务列表页当位点列表为空时的问题
  • 修复前端修改订阅添加库支持待创建
  • 修复 StarRocks/Oceanbase 对端,结构迁移进度显示不准确问题
  • 修复 OceanBase 无法重置位点的问题
  • 移除 OceanBase 源端尚不支持的对端数据源
  • 修复 MySQL 获取表源数据 DATA_FREE 字段数据过长问题
  • 修复控制台连接元数据库因使用 Druid 连接池引起的 discard long time none received connection 问题

CloudCanal-2.2.3.0

发版时间:2022年5月16日 版本号: 2.2.3.0

新链路

  • 支持 MySQL->Doris, Unique数据模型,结构迁移、全量、增量、数据校验、有限的DDL同步(加减列)
  • 支持 PolarDBMySQL->StarRocks, PrimaryKey数据模型,结构迁移、全量、增量、数据校验、有限的DDL同步(加减列)
  • 支持 PolarDBMySQL->Doris, Unique数据模型,结构迁移、全量、增量、数据校验、有限的DDL同步(加减列)
  • 支持 MongoDB (副本集) -> TiDB(全量、增量)
  • 支持 OceanBase->MySQL (结构迁移、全量、增量、数据校验、有限的DDL同步)
  • 支持 OceanBase->StarRocks (PrimaryKey数据模型,结构迁移、全量、增量、数据校验)
  • 支持 OceanBase->OceanBase (结构迁移、全量、增量、数据校验、有限的DDL同步)

新功能

  • 支持新 where 过滤条件,时间字段取当前时间的上一个单位,如gmt_create > 'cc_last_hour_21:22',或者 gmt_create > 'cc_last_date_12:21:22'
  • 支持源对端 PolarDBMySQL 自定义代码包
  • 支持源端 Kafka 自定义代码包

优化

  • 优化 MongoDB 源端全量初始化获取最大、最小 _id性能问题

问题修复

  • 修复 MySQL 生成元数据时字段长度设置不对的问题(字符串、数字选择其一)
  • 修复 RDB 源端全量迁移,数字主键大于 2 的 63 次方导致的位点上报问题和迁移无法结束问题
  • 修复 MySQL->ClickHouse , unsigned 字段类型映射问题
  • 修复 ClickHouse 对端写入 unsigned 数据溢出问题
  • 修复 MySQL->ClickHouse 结构同步类型映射出错问题
  • 修复 MongoDB 源端和目标端数据类型问题(Integer,Long,Double,Decimal)
  • 修复控制台未显示 MySQL gtid 的问题(gtidMode为true的情况下)
  • 修复前端添加虚拟列表格无法滚动的问题
  • 修复前端添加虚拟列的时候对名称,类型,列值进行校验
  • 修复前端卡片模式进入任务关联页面,删除主任务之后请求接口报错,现在直接跳转列表页面
  • 修复 MongoDB 源端,任务详情查看库表映射不显示表的问题
  • 修复任务详情页,全量阶段刷新,表格页码不跟着刷新的问题
  • 修复任务列表页无法批量处理任务的问题
  • 修复任务列表页批量处理任务时取消状态筛选的问题
  • 修改添加机器高可用部署文档地址
  • 修复创建任务列选择页面,筛选出来的数据为空会报错的问题
  • 修复创建任务列选择页面,筛选有无 where 条件失败的问题
  • 修复创建任务列选择页面,左侧库表之间出现空格的问题
  • 修复 SQLServer 对端,创建任务选择表选择列的时候左边不显示 schema 的问题

CloudCanal-2.2.2.0

发版时间:2022年5月6日 版本号: 2.2.2.0

新链路

  • 支持 MongoDB (副本集) 到 MySQL 全量/增量
  • 支持 MongoDB (副本集) 到 MongoDB (副本集) 全量/增量/校验

新功能

  • 支持 MySQL 到 AdbForMySQL 全量数据校验
  • 支持 MySQL 到 AdbForMySQL 有限的 DDL 同步(alter table add/drop/modify column)
  • 支持 MySQL 到 StarRocks 有限的 DDL 同步(alter table add/drop column)
  • 支持 MongoDB 源端自定义代码处理
  • 支持 MySQL BLOB 同步 Oracle BLOB (全量/增量)
  • 支持 Oracle 对端 全量/增量 模式下 IGNORE , REPLACE , EXCEPTION 三种写入策略
  • 支持新参数,可配置同步任务在一个时间窗口内失败次数超过设定值将会停止任务的执行,直到手动再次启动(taskRetryWindowMin,重试的窗口时间,单位分钟,taskRetryCount 窗口时间内任务允许最大自动重启次数)

优化

  • 重构关系型数据库以及部分实时数仓写入逻辑,采用 激进写入+保守兜底 架构
  • 重构 StarRocks 对端刷出变更策略,优化数据结构,保护内存
  • 重构 Oracle 对端写入逻辑,提升写入性能
  • 修改 MySQL 到 MongoDB 主键采用 ObjectId
  • 支持 MongoDB 源端 ObjectId 主键
  • 优化 StarRocks 对端全量数据校验性能
  • 优化后端控制台数据任务列表展现,提升响应性能,改成分页,取消列表状态排序
  • 优化创建任务时最后一步确认页面
  • 优化参数设置页面,解决卡顿问题
  • 创建任务,修改源端类型后,对面默认选择第一个

问题修复

  • 修复 Aliyun RocketMQ tcp 协议写入 bug
  • 修复创建任务,源对端测试连接之后,修改源端类型后,对端实例不清空的问题
  • 修复 MySQL to Oracle 结构迁移上的一些问题
  • 修复 ClickHouse 对有 comment 的表结构迁移问题
  • 修复 Oracle 源端 Redo 日志解析过程对于 ROLLBACK 事件在不完整的事务中导致同步中断的问题。
  • 修复创建任务选择表阶段,删选出现表格遮挡的问题

CloudCanal-2.2.1.0

发版时间:2022年3月18日 版本号: 2.2.1.0

新链路

  • 支持 MongoDB->Kafka,schema 支持 Alibaba Canal/Aliyun DTS avro/CloudCanal 3种消息格式
  • 支持 Kafka->MongoDB, schema 支持 Alibaba Canal/Aliyun DTS avro/CloudCanal 3种消息格式
  • 支持 Oracle->Kafka,schema 支持 Alibaba Canal/Aliyun DTS avro/CloudCanal 3种消息格式

新功能

  • 支持机器内存超卖
  • 支持 Kafka 消息格式 Aliyun DTS Avro 格式 兼容,并拓展 isPk 属性
  • 支持到 Greenplum 全量比较再 upsert 能力(可结合过滤条件,适合做数据订正)
  • 支持 MySQL 源端全库同步时编辑任务并添加新库
  • 支持 MySQL 源端全库同步配置action过滤
  • 支持任务编辑时,新增同步对象可选择不做全量迁移,直接进行增量同步
  • 支持MySQL、PostgreSQL 到 Oracle 结构迁移时源端时间类型列默认值

优化

  • 优化创建任务 MySQL 源端大小写处理
  • 优化控制台打开任务列表的性能

问题修复

  • 修复 MongoDB 源端增量日志解析问题
  • 修复 PolarDbMySQL 对端数据同步时单线程模式写入问题
  • 修复拉取 Aliyun RDS oss binlog 切换问题,此问题可能偶发导致任务卡住或极端情况丢数据
  • 修复 StarRocks 链路不支持主键更新的问题
  • 修复全量校验 Decimal 类型比较不准的问题
  • 修复增量同步transaction buffer sequence在启动时没有正确重置的问题
  • 修复 StarRocks 配合自定义代码中增减列时存在的问题
  • 修复 StarRocks 结构迁移 Decimal 类型精度为 0 时的迁移问题
  • 修复 MySQL binlog 解析初始化 LogBuffer 过小导致的解析问题
  • 修复 PostgreSQL/Greenplum 到 StarRocks 结构迁移,schema 处理不正确导致的迁移问题
  • 修复 MySQL、Oracle、PostgreSQL 到 Greenplum 结构迁移唯一索引和主键共享列问题
  • 修复 Oracle 源端 redo 模式下某些情况下位点卡住问题
  • 修复对端 MySQL 5.7 结构迁移时对于默认值允许为空的兼容问题
  • 修复对端 MySQL 结构迁移时 maxrowsize 问题,CloudCanal 会计算 rowsize 并自动优化列类型映射

CloudCanal-2.2.0.7

发版时间:2022年3月4日 版本号: 2.2.0.7

新链路

  • 支持 MySQL->OceanBase
  • 支持 PostgreSQL->OceanBase
  • 支持 Oracle->OceanBase

新功能

  • 主代码CloudCanal-SDK升级到1.0.4,支持OceanBase和StarRocks对端使用自定义代码
  • StarRocks的StreamLoad导入支持json模式导入,避免分隔符和内容冲突导致的写入异常
  • StarRocks链路支持ZeroDate处理,支持对MySQL源端过来的0000-00-00时间做特殊处理
  • StarRocks链路支持全量、增量阶段异常跳过能力
  • ES链路支持debug日志

优化

  • StarRocks支持最新的2.1版本
  • 增量任务会预占用内存,支持用户自定义设置资源超卖
  • 支持MySQL对端大小写敏感处理
  • 优化删除任务的逻辑,等待任务停止后才进行删除

问题修复

  • 修复MySQL源端结构迁移now()函数识别问题导致的结构迁移失败
  • 修复MySQL 5.7 源端结构迁移,有多个TIMESTAMP列导致迁移失败的问题
  • 修复Sidecar FD泄露问题
  • 修复PostgreSQL->Greenplum结构迁移中约束降级的问题
  • 修复数据校验时位点记录错误导致无法正确校验出差异的问题
  • 修复物化视图模式时Oracle同步到StarRocks中update增量不同步的问题
  • 修复异常跳过日志没有正确记录的问题
  • 修复归档日志名称显示不正确的问题

CloudCanal-2.2.0.4

发版时间:2022年2月25日 版本号: 2.2.0.4

新链路

  • 支持 PostgreSQL->Kafka
  • 支持 PostgreSQL->ClickHouse
  • 支持 SQLServer->Kafka
  • 支持 SQLServer->SQLServer
  • 支持 Kafka->PostgreSQL
  • 支持 Kafka->Greenplum
  • 支持 Kafka->ElasticSearch
  • 支持 Kafka->ClickHouse
  • 支持 Kafka->StarRocks
  • 支持 Kafka->SQLServer

新功能

  • 支持 MySQL->ElasticSearch 定时全量任务(Upsert)
  • 支持 MySQL->ElasticSearch 任务修改订阅
  • 支持 MySQL->Redis 自定义代码
  • 支持 MySQL->Redis 任务修改订阅
  • 支持 MySQL->RabbitMQ 任务修改订阅
  • 支持 MySQL->ClickHouse 任务修改订阅
  • 支持 MySQL->PostgreSQL 任务修改订阅大小写
  • 支持到 MySQL 任务全量/增量冲突覆盖策略(keyConflictStrategy参数为REPLACE)

优化

  • 优化到 PostgreSQL/Greenplum 结构迁移 bit(n>1) 类型自动转为 bit varying(n)
  • 优化到 PostgreSQL/Greenplum 结构迁移 char 类型自动转为 character varying(n)
  • 优化 SQLServer->SQLServer 支持 uniqueidentifier 类型, 目标端类型映射成 varchar(64)

问题修复

  • 修复 MySQL 预检 show master status 文件是否在 show binary logs 中 bug
  • 修复创建任务时,MySQL 源端初始化位点未获取 server_id 的问题
  • 修复 where 条件 col is null 问题
  • 修复 where 条件 in/not in 分支条件通过 and/or 与其他条件连接的问题(e.g., is_delete=0 and abc not in (‘07’,‘08’,‘10’,‘13’))
  • 修复 where 条件列为 bit 类型导致全量迁移时数据过滤报错问题
  • 修复 MySQL->MySQL 带自定义代码时,bit 类型对端写入 NPE 问题
  • 修复 PostgreSQL/Greenplum 对端写入 bit varying 或 varbit 类型数据截断问题
  • 修复对于 ClickHouse 20.x 版本获取表元数据时兼容问题
  • 修复批量裁剪列问题
  • 修复创建相似任务时,修改 where 条件失败问题
  • 修复定时任务下一次执行时间显示问题
  • 修复创建任务第二步强制填写错乱问题
  • 修复 MySQL->Redis 创建任务 Redis Key 没有默认值的问题
  • 修复MySQL->Redis创建任务对端库名错误问题(应该是dbName:tableName格式)

CloudCanal-2.1.0.14

发版时间:2022年1月19日 版本号: 2.1.0.14

新特性

  • 【重要】支持新的数据源对端 StarRocks 。使用文档参考:https://www.askcug.com/topic/262
  • 【重要】支持 Oracle 源端新的 REDO 增量消费模式。使用文档参考:https://www.askcug.com/topic/263/
  • 【重要】支持 SQLServer 源端。使用文档参考:https://www.askcug.com/topic/258
  • 支持机器管理页面根据数据源过滤机器上绑定的任务
  • 数据源管理页面支持按照描述、部署类型等条件筛选数据源
  • 支持 MariaDB 更多版本,10.1.x
  • 支持 MySQL->ElasticSearch 校验任务
  • 支持阿里云 RocketMQ HTTP 协议
  • 新支持 PostgreSQL -> ClickHouse 链路
  • 支持MySQL源端增量 DDL 细粒度 action 控制
  • MySQL 源端编辑订阅支持 action 过滤、列裁剪
  • 更好的云数据库支持,机器列表支持将机器添加到关联数据源

优化

  • 报警发送默认也发送给系统管理员
  • 增量任务停止后支持页面手动摘除绑定,避免内存预占用导致创建任务时由于资源不足无法创建任务
  • 支持任务列表页根据绑定的worker来筛选任务
  • 优化机器列表查看机器和绑定任务的性能
  • 优化PG查询元数据的性能
  • MySQL源端的转义功能,支持更多特殊字符的转义,避免写入报错
  • 优化没有列映射时的性能
  • 优化自定义代码包加载逻辑,启动时加载
  • 优化对 Kafka 数据源不同版本的兼容性
  • 支持 Redis 空密码数据源
  • 支持自定义代码任务相关日志白屏化展示
  • 对 MySQL 源端实例长时间没更新抛出的 SocketTimeout 做更可读的日志输出

BugFix

  • 修复 OSS binlog 下载和解析消费有时候卡住的问题
  • 修复写入 PostgreSQL 由于并发执行可能获取到空 DataSource 对象导致的 NPE 问题
  • 修复结构迁移时,统计迁移的表数量不准的问题
  • 修复增量SINK/PUBLISH相关指标不准确的问题
  • 修复以物化视图方式订阅 Oracle 源端表时,当表全列均为主键情况引发 sequence ("") 异常的问题。
  • 修复 Oracle 为对端数据写入时,主键字段含有 CHAR/NCHAR 类型时 丢失 UPDATE、DELETE的问题。
  • 修复针对含有 Foreign Key 约束的表结构迁移时,出现 ForeignKey already exists. 异常的问题。

CloudCanal-2.0.1.0

发版时间:2021年12月6日 版本号: 2.0.1.0

重要特性

  • 支持自定义代码上传,让业务有机会在数据流动过程中进行数据处理,包括(不限于)基于反查的宽表构建、拆分表数据汇聚(修改主键)、实时业务告警、数据清洗(非法值过滤、数据补全等)。参考资料:详细使用说明数据处理插件开源工程

新特性

  • 支持相似任务创建
  • 支持 MySQL 对端唯一键冲突感知的并行写入模式,避免多唯一索引存在共享列导致的死锁问题
  • 支持状态机生命周期的控制能力
  • 支持阿里云 Kafka CIDR 格式的白名单识别
  • 支持设置 MySQL 设置 max_allowed_packet 参数(global)避免写入包过大问题
  • 支持阿里云 PolarDBMySQL 杭州金融云数据源添加

优化

  • 优化 PostgreSQL/Greenplum 对端写入,默认采用 batch 写入模式,避免偶发的异常
  • 优化 console 和 sidecar 日志输出优化,避免重复日志打印,更好隔离日志输出
  • 任务类型修改为全量迁移、增量同步方便理解
  • 社区版获取验证码提示优化
  • 社区版添加机器关闭选择阿里云机器,避免误操作
  • 社区版禁用不支持的客户端下载功能,避免误操作
  • ElasticSearch 对端结构迁移支持全格式 format
  • ElasticSearch 选择对端已经存在的索引时支持无限制的自定义分词器名称
  • 优化任务状态显示逻辑,状态显示更加准确
  • sidecar 获取 ip 时额外增加虚拟网卡黑名单,避免获取错误 ip

BugFix

  • 修复 RDS MySQL 主备上 binlog fileName 相同时,从 RDS 下载 oss binlog 的问题
  • 修复 binlog file 中同时存在主备 serverId 导致的解析阻塞问题
  • 修复 MySQL 源端 json 字符串中包含\r \t \n
  • 修复编辑任务只有公网 host 的问题
  • 修复 MySQL 结构迁移时大小写引发的表结构迁移问题
  • 修复ElasticSearch 6.X 对端写入 null 值报错的问题
  • 修复有账号密码的 ElasticSearch 无法创建任务的问题
  • 修复任务异常重启时,由于退出进程过快导致异常日志没有上报管控的问题
  • 修复 position 日志没有正确打印的问题
  • 修复虚拟列功能不正常的问题
  • 修复异构数据源之间 DDL 同步的问题

CloudCanal-1.2.1

发版时间:2021年11月12日 版本号: 1.2.1

新特性

  1. 支持 MySQL/PolarDBMySQL 源端周期性探测心跳能力(dbHeartbeatEnable,dbHeartbeatOp,dbHeartbeatIntervalSec 参数),此特性主要解决无任何变更延迟问题
  2. 支持多阶段性能调优(fetchFromBrokerTimeoutMs,actionFilterParallel,dataProcessParallel,waitStrategy,parseBinlogBufferSize 参数)
  3. 支持数据过滤表达式(col % 数字 = 数字),此功能对于想要做数据水平拆分的业务比较实用
  4. 支持对端 ADB MYSQL 虚拟列能力
  5. 支持 kudu 对端表名映射新规则
  6. 支持修改 console 和 sidecar 之间通信超时时间
  7. 支持并验证腾讯云 RDS for MySQL(5.6 无心跳包问题) 和华为云 RDS for MySQL(默认binlog保留时间为0问题)
  8. 新增 OpenAPI java SDK , 帮助用户更容易集成 CloudCanal 产品
  9. 支持 MacOS M1/M1X (linux aarch64), azul-1.8 JDK(非 docker 部署方式)

优化

  1. 优化刷新元数据间隔时间,从 24 小时变成 6 小时
  2. 优化 MySQL 表选择,默认去掉视图和系统表
  3. console默认的启动堆大小修改为1024MB,避免创建任务涉及表数量较多时OOM
  4. 规格预检算法避免计算所有的任务阶段,导致需求的内存比实际情况多很多导致预检失败

BugFix

  1. 修复任务列表展示,子任务状态机误用主任务状态机导致任务删除不了问题
  2. 修复 MySQL -> Greenplum DDL 同步转换的问题
  3. 修复 MySQL 增量任务位点中的 server id 可能碰到非链接机器 server id 问题,此问题可能导致在主备切换时任务中断
  4. 修复任务添加数据过滤条件后,全量和校验任务统计数据不准的问题
  5. 修复 MySQL/PolarDBMySQL 目标端 bit 类型写入问题
  6. 修复 ADB MYSQL 对端初始化数据处理器问题
  7. 修复 PolarDBMySQL 源端增量无法重置位点的问题
  8. 通过升级 MySQL 驱动版本,修复可能报 ssl 协议不支持问题

CloudCanal-1.2.0

发版时间:2021年10月28日 版本号: 1.2.0

新链路

  1. 支持 MySQL 到 PolarDB-X 链路(结构迁移、全量、增量、数据校验),具体操作参考文章 5分钟搞定 MySQL 到 PolarDB-X 数据迁移和同步

新特性

  1. 支持 MySQL->MySQL 双向同步新方案-数据标记方式,性能更好、更稳定,详见文章异地多活基础之数据双向同步进阶篇
  2. 支持 OpenAPI ,包含数据源、集群查询,任务查询、创建、启停等,详见 OpenAPI 文档 和文章 如何快速将CloudCanal集成到你自己的平台, 如何编码参考 sdk 项目
  3. 支持 MySQL & PolarDBMySQL 对端增量同步整行替换(dstWholeReplace参数), insert/update 均会被转成 INSERT…ON DUPLICATE KEY UPDATE
  4. 支持 ClickHouse 自动定时 Optimize (autoOptimizeThresholdSec参数)
  5. 支持自定义复杂数据过滤条件(SQL where 条件,AND OR > < = in 等组合)
  6. 支持对端为 MQ , 编辑任务加库加表子任务可略过全量迁移
  7. 支持并重构 Hive 和 RabbitMQ 对端,解决可用性问题
  8. 支持主键为 Decimal 类型的表进行数据迁移(断点续传)
  9. 支持自定义设置对端写入 0000-00-00 的替换日期或者时间戳 (defaultZeroDate 参数)
  10. 支持企业微信群机器人告警(和钉钉群机器人二选一)
  11. 支持已登录用户更改邮箱和手机号(带手机验证码校验)
  12. 支持已登录用户获取 AK/SK , 以便 OpenAPI 认证使用(带手机验证码校验)

优化

  1. 优化数据库元信息捞取性能
  2. 优化内核关键日志打印、参数检查与开关开闭
  3. 优化 ClickHouse 对端链接/TCP超时等配置
  4. 优化 CloudCanal 内置消息格式兼容老版本消息格式(如果db为空,自动填充 schema 信息)
  5. 优化丰富后端常量配置接口,让页面更加友好自动化
  6. 优化数据过滤规则(SQL where 条件)合法性校验
  7. 优化任务创建预检,同时适配 OpenAPI 和自带页面请求
  8. 优化短信告警模板,由 10+ 个模板缩减为 3 个
  9. 优化去除 csrf token , HTTP_ONLY 设置为 true
  10. 优化机器内存的展示

BugFix

  1. 修复 PolarDbMySQL 5.6 源端无主键 binlog 消费问题
  2. 修复变更规格时未重新计算任务占用资源问题
  3. 修复数据校验任务详情页面进度等信息缺失问题
  4. 修复多链路对端写入空字符串特殊处理问题
  5. 修复 MySQL 对端 DDL 时链接半开失效问题
  6. 修复 PostgreSQL 源端增量前镜像数据缺失问题
  7. 修复新增表在全库迁移(同步)场景中有 schema 映射无法同步的问题
  8. 修复缓存或消息对端新增列无法同步的问题
  9. 修复 MongoDB 源端增量同步问题(可用性)
  10. 修复多链路 DDL 同步特殊库/schema 名称问题
  11. 修复 Oracle 增量源端反查参数设置问题
  12. 修复 MySQL 对端结构迁移重复表报错问题
  13. 修复 TiDB & Oracle & PostgreSQL 对端结构迁移问题(default值,数据类型等)
  14. 修复 MySQL & PostgreSQL & ElasticSearch & Kudu & TiDB 对端写入的类型问题
  15. 修复全库迁移(同步)的任务,结构迁移无法进行问题
  16. 修复修改数据源认证信息时,认证类型不生效问题
  17. 修复添加自建数据源页面某些数据源测试连接无效问题
  18. 修复创建任务时点击上一步下一步数据不更新问题
  19. 修复无法创建源端目标端同名的 MySQL-> ElasticSearch 任务问题
  20. 修复定时任务查看历史弹窗无法隐藏的问题
  21. 修复存在库映射的任务无法进行修改订阅问题

CloudCanal-1.1.0

发版时间:2021年9月24日 版本号: 1.1.0

新链路

  1. 支持 MySQL 到 Oracle & MongoDB 链路 (结构迁移、全量、增量、校验)
  2. 支持 MySQL & PostgreSQL & Oracle 到 Kudu 链路 (version >= 1.6)
  3. 支持 PostgreSQL 到 MySQL 链路 (结构迁移、全量、增量、校验)
  4. 支持 PolarDB MySQL 到 Greenplum 链路 (结构迁移、全量、增量、校验)

新特性

  1. 支持增量订正数据 (暂且开放 MySQL -> MySQL)
  2. 支持添加数据源时测试连通性(自建数据源)
  3. 支持精确设置任务增量位点(e.g., MySQL 文件位点)
  4. 支持 Kafka 压缩消息(压缩算法可选择)
  5. 支持全量迁移任务重跑
  6. 支持阿里云 MongoDB & Redis 数据源无缝添加(自动获取信息、加白名单等)
  7. 支持系统管理员管理用户(移交资源和删除用户)
  8. 支持修改个人信息(手机号和邮箱)
  9. 支持新元数据架构(部分数据源,逐步完整)
  10. 支持通过配置关闭验证码登录
  11. 支持通过配置自定义验证码(但还是建议使用正规短信验证码)
  12. 支持 MySQL 作为源端 unsigned 列自动类型提升
  13. 支持 MySQL MyISAM 表引擎
  14. 支持创建任务的时候使用唯一键+普通列的方式来设置对端主键(特别针对主键不全局唯一的分库分表场景)
  15. 支持在任务详情可视化查看校验任务日志
  16. 支持 where 过滤条件 !=

优化

  1. 优化创建任务过程中对于数据库元信息获取效率(特别对于上千张表,分库分表等情况)
  2. 优化报错信息,更加清晰和明确(特别对于控制台异步任务)
  3. 优化增量任务(所有具备增量能力的链路)位点更新和重置相关的逻辑
  4. 优化 MySQL 源端全量获取数据行数问题,去除对 information_schema.innodb_xx 系列表依赖
  5. 优化 MySQL <-> MySQL 双向同步性能(multisql)
  6. 统一并优化数据源认证方式
  7. 优化结构迁移在获取元信息内容过多导致 RPC TIMEOUT 的问题
  8. 优化 Druid 依赖,统一版本为 1.2.6
  9. 优化 Oracle 为对端结构迁移过程中索引名字超过30个字符问题
  10. 优化 ElasticSearch 作为对端在写入 Array 类型数据的数据兼容性
  11. 优化创建任务的性能
  12. 优化前端部署方式
  13. 优化交互体验

Bug Fix

  1. 修复 MySQL 对端,某些情况下异常被吞问题(致命)
  2. 修复 Redis 对端 连接池使用不当问题 (致命)
  3. 修复 RDS 隐藏主键导致的空 field name 问题(老版本 RDS for MySQL 无主键表 , 致命)
  4. 修复 MySQL 心跳包位点干扰增量解析问题(exceed max allowed packet size,致命)
  5. 修复 MySQL 切换可能导致的位点错位问题
  6. 修复 MySQL 到 Kafka & RabbitMQ & RocketMQ 结构迁移过程中存在的问题
  7. 修复 MySQL 到 ClickHouse 结构迁移类型问题(部分)
  8. 修复 MySQL 到 PostgreSQL & Greenplum 结构迁移过程中的外键问题
  9. 修复 MySQL 中 enum/set 类型解析问题
  10. 修复 MySQL enum/set 类型配合 where 条件结合使用时的类型处理问题
  11. 修复 MySQL 对端,特殊分支逻辑和常规分支逻辑不一致问题(ignore 缺失导致not null 约束字段报 can not be null 错误)
  12. 修复 MySQL 多唯一键情况下,第一个唯一键被识别为主键的元信息问题
  13. 修复 Oracle 到 Oracle & MySQL 数据同步过程中异常中断问题
  14. 修复 Oracle 对端,时间类型写入问题
  15. 修复 Oracle 创建物化视图, 虚拟列处理错误的问题
  16. 修复 ElasticSearch 对端,“是否索引”添加在 object,nested 等类型上导致的创建索引失败问题
  17. 修复 MySQL -> ElasticSearch 结构迁移地理信息类型同步的问题
  18. 修复 ElasticSearch 对端,已存在索引设置 index 属性时,结构迁移中无法正常搜索的问题
  19. 修复 ElasticSearch 对端,查询已经存在的索引时 Boolean 类型转化报错
  20. 修复 ElasticSearch 对端,字段“是否索引”设置不准确的问题(设置为false,仍然为true)
  21. 修复 PolarDB for MySQL 的使用 AK/SK 上的问题
  22. 修复数据过滤 where条件 != 操作符全量报错问题
  23. 修复多条链路结构迁移时类型映射问题
  24. 修复部分数据源 unsigned type 类型映射没有指定的问题
  25. 修复登录异常问题(csrf)
  26. 修复结构迁移进度不准问题
  27. 修复状态机异常情况下无法删除任务的问题
  28. 修复任务状态显示异常问题(任务因异常不断重启,页面状态仍然显示正常)
  29. 关闭 Greenplum 不能作为源端增量任务,但可被创建出来的问题
  30. 修复同步进度百分比展示异常的问题

CloudCanal-1.0.3

发版时间:2021年8月31日 版本号: 1.0.3 ​

新特性

  1. 支持高可用集群化部署(参考教程点我查看)
  2. 支持钉钉群 & 短信告警发送给同为 SYSTEM 角色的团队伙伴,以支持团队化运维
  3. 支持 PostgreSQL->MySQL 结构迁移、数据迁移、数据同步、数据校验
  4. 支持 MySQL->Redis 数据迁移、数据同步、数据校验
  5. 支持 MySQL->ClickHouse DDL 同步
  6. 支持 MySQL->TiDB DDL 同步,对于 alter table 多个 action (add/drop/modify column) 自动拆解成 TiDB 支持的多个 DDL
  7. 支持 Oracle 11g (原支持19c、12c)
  8. 支持创建任务选择 ClickHouse 表引擎,默认表引擎为 ReplacingMergeTree
  9. 支持 ES 对端选择阿里云、腾讯云、IK等主流分析器
  10. 支持 RocketMQ tag & key 分别设置 db & schema & table & action 和 主键列表
  11. 支持 MySQL & PostgreSQL 源端 where 条件操作符 != (暂限定为全量迁移)
  12. 支持自定义主键选择其他非唯一约束列
  13. 支持对端 ES 自定义分析器(需符合 CloudCanal 命名规范)

优化

  1. 任务详情按任务阶段查看任务日志
  2. 当任务预检出错时可略过并继续创建
  3. 支持数据源只填写外网地址
  4. 优化 Kafka header 生成方式
  5. 结构迁移支持展示unsigned类型
  6. 支持非标准化的 ARRAY 类型写入到 ES Nested 类型
  7. 容器内目录 owner 调整,避免 clougence 用户运行脚本权限报错

Bug Fix

  1. 修复到消息中间件(RocketMQ/Kafka/RabbitMQ) update 类型变更前数据问题
  2. 修复数据源写入对端时纳秒时间精度丢失的问题
  3. 修复 Oracle 到 MySQL、Oracle 到 Oracle 链路中 DDL 同步问题。
  4. 修复 Oracle 作为源端数据源,Date 类型解析格式异常导致无法同步到对端到问题。
  5. 修复数据校验任务详情页面无法查看进度和日志的问题
  6. 修复内核元数据引用时的NPE问题
  7. 修复MySQL json字符串写入对端 nested 类型的异常问题
  8. 修复短信告警实例信息错误的问题
  9. 修复结构迁移unsigned 类型映射没有做类型升级的问题
  10. 修复 RocketMQ 元信息获取错误问题(升级 RocketMQ 客户端版本)
  11. 修复无账号密码ES实例连通性测试失败问题

CloudCanal-1.0.2

发版时间:2021年8月20日 版本号: 1.0.2

新特性

  1. 新增Oracle源端
  2. 新增PostgreSQL源端
  3. 新增Greenplum源端
  4. 新增PolarDbMySQL源端
  5. 新增Oracle目标端
  6. 新增PostgreSQL目标端
  7. 新增Greenplum目标端
  8. 新增Hive目标端
  9. 新增DRDS目标端
  10. 新增PolarDbMySQL目标端
  11. 新增AdbForMySQL目标端
  12. 新增校验任务结果查看
  13. 支持ClickHouse最新版本到22.1
  14. ClickHouse 新增 ReplacingMergeTree 支持,并且默认选中该表引擎

BugFix&优化

  1. 修复timestamp on update current timestamp不同步问题
  2. 修复树状选择,筛选表,勾选掉一张表后又加载全部的问题
  3. 修复校验、订正任务重跑刷新的问题
  4. 修复源端阿里云 kafka 初始位点问题
  5. 修复Clickhouse对端同步无主键表问题
  6. 修复sidecar stdout打印过多日志问题
  7. 修复Kafka任务,获取分区NPE问题
  8. 修复因机器规格低导致的sidecar访问管控超时问题
  9. 修复机器timezone非东八区时的时区问题,现在CloudCanal时间值的写入和机器操作系统时区解耦
  10. 修复sidecar容器重启,sidecar进程没法正常重启的问题
  11. 优化写入对端 RocketMQ 性能
  12. 放开任务创建数量限制

CloudCanal-1.0.1

发版时间:2021年8月12日 版本号: 1.0.1

新特性

  1. 创建任务支持批量裁剪列
  2. 支持MySQL->MySQL数据源数据校验、订正任务
  3. 支持数据校验和数据订正任务的重跑
  4. 无主键无唯一键表也支持update delete
  5. 支持用户自定义配置异步任务调度相关参数
  6. parser新增监控项:增量数据处理与写入队列发布延迟
  7. 支持oracle->oracle迁移
  8. 支持pg->pg 无嵌套结构的array类型结构迁移和同步
  9. 新增约束冲突处理策略,针对pg/tidb为对端时,发生duplicated key时支持insert转update逻辑
  10. 新增kafka commit log

BugFix&优化

  1. 内核获取列meta信息性能优化
  2. 优化页面展示数据源顺序,优先展示使用频次高的数据源
  3. 修复polardb reader读取时cpu load异常偏高的问题
  4. 修复任务状态展示异常问题
  5. Oracle->Oracle结构迁移采用新的schema体系
  6. ES写入优化,单主键表使用主键作为默认_id值
  7. 修复由于没有获取时间精度、timeformat等ES结构迁移异常
  8. 优化oracle 物化视图drop index逻辑
  9. 修复ClickHouse写入null值问题
  10. 修复mysql->ck无主键表结构迁移问题
  11. 修复mysql->pg结构迁移中约束中列的映射问题
  12. 隐藏资源限制相关无效页面
  13. 修复mysql->tidb同步时schema is null的问题

CloudCanal-1.0.0

发版时间:2021年7月27日 版本号: 1.0.0

新特性

  1. 新增PolarDB源端支持
  2. 新增Adb for mysql对端支持
  3. 新增mysql->mysql、mysql->adb的虚拟列功能
  4. 新增Clickhouse对端支持
  5. 新增DRDS源端、对端支持
  6. 新增Oracle源端支持
  7. 新增Tidb对端支持
  8. 支持mysql->mysql双向复制(需开启GTID)
  9. 各源和目标端支持列裁剪和列映射(MQ全量不支持裁剪)
  10. 支持mysql/polardb->kafka的整库迁移
  11. 支持mysql/polardb为源端的相关链路把源端唯一键设置为自定义的主键、支持批量设置
  12. 源端为mysql/polardb的同步任务,创建任务时支持树状批量选择库以及对端映射批量选择
  13. 新增polardb源端
  14. 允许用户不订阅主键
  15. 无主键表允许用户配合自定义主键,开放订阅INSERT/UPDATE/DELETE 16 新增编辑订阅关系能力,支持对已有任务添加和删除新增订阅
  16. 支持全量任务忽略异常能力
  17. 支持任务异常直接跳转白屏化查看
  18. 异常监控支持显示任务名称和描述信息、支持按照任务名查找

BugFix&优化

  1. 修复es对端对于json的处理问题
  2. 支持用户自定义配置各组件端口
  3. 支持新配置项needJsonEscape,mysql json字段中的\r\n等特殊符号会被正确处理成转义符,避- 免写入报错
  4. 修复任务编辑时没有感知主任务大小写配置的问题
  5. 修复MQ链路若干bug
  6. 修复ClickHouse相关问题若干
  7. 过滤drds的xa事件,避免影响后续写入
  8. 修复mysql->gp索引同步导致的结构迁移问题
  9. 机器监控CPU负载显示异常问题
  10. 机器监控处显示逻辑CPU核数
  11. 监控管理、任务管理页面CPU、内存等信息不展示的问题
  12. 支持 decimal 字段做数据过滤
  13. 修复创建任务不同步DDL选择无效的问题
  14. 控制台批量操作只操作第一页的问题
  15. CPU使用率优化
  16. 规格选择匹配默认测试,优化默认参数任务性能
  17. 修复pg->pg结构迁移大小写问题
  18. 支持基于regionId自动获取vpc的binlog下载地址
  19. 优化内存控制,支持基于memory size的控制策略
  20. 优化监控体系代码,并额外支持实时内存监控
  21. 修复跨账号之间创建任务,访问机器的权限问题
  22. 修复pg->pg增量bool类型写入的问题
  23. 支持阿里云RDS oss binlog多节点版本、优化RDS oss binlog下载性能
  24. 支持阿里云金融云RDS oss binlog下载
  25. 钉钉报警支持艾特到具体的人 26 优化任务状态展示,基于心跳信息展示,更简单和准确
  26. binlog parser优化字符串处理性能,提升json大字段解析性能