TiDB 5.0.3 Release Notes

    TiDB 版本:5.0.3

    • TiDB

      • v4.0 集群升级到 v5.0 或更高版本(dev 和 v5.1)的集群后, 变量的默认值由 WARN 变为 OFF
      • 兼容 MySQL 5.7 的 noop 变量 innodb_default_row_format,配置此变量无实际效果 #23541
    • Tools

      • TiCDC

        • 增加 HTTP API 获取 TiCDC changefeed 信息和节点健康信息
        • 为 kafka 下游增加 SASL/SCRAM 支持 #1942
        • 使 TiCDC 在 server 级别支持 --data-dir 配置
    • TiDB

      • 支持将 TopN 算子下推到 TiFlash #25162
      • 支持将内置函数 json_unquote() 下推到 TiKV
      • 支持在 Dual 表上移除 Union 算子的优化 #25614
      • 支持将内置函数 replace() 下推到 TiFlash
      • 支持将内置函数 unix_timestamp()concat()year()day()datediff()datesub()concat_ws() 下推到 TiFlash #25564
      • 优化聚合算子的代价常数
      • 支持将 Limit 算子下推到 TiFlash #25159
      • 支持将内置函数 str_to_date() 下推到 TiFlash
      • 允许 MPP outer join 根据表行数选择构建表 #25142
      • 支持将内置函数 left()right()abs() 下推到 TiFlash
      • 支持将 Broadcast Cartesian Join 下推到 TiFlash #25106
      • 支持将 Union All 算子下推到 TiFlash
      • 支持 MPP 查询任务按 Region 均衡到不同 TiFlash 节点上 #24724
      • 支持执行 MPP 查询后将缓存中过时的 Region 无效化
      • 提升内置函数 在格式指定器中 %b/%M/%r/%T 的 MySQL 兼容性 #25767
      • 限制 TiCDC sink 的内存消耗
      • 为 TiCDC old value 缓存增加基于内存使用量的上限 #10313
    • PD

      • 将 TiDB Dashboard 升级至 v2021.06.15.1
    • Tools

      • TiCDC

        • 优化 gRPC 的重连逻辑,提升 KV client 的吞吐 #1586 #1682 #1847 #1904
        • 优化 sorter I/O 报错信息
    • TiDB

      • 修复在 SET 类型列上 Merge Join 结果不正确的问题
      • 修复 IN 表达式参数的数据腐蚀问题 #25591
      • 避免 GC 的 session 受全局变量的影响
      • 修复了在窗口函数查询中使用 Limit 时出现 panic 问题 #25344
      • 修复查询分区表时使用 Limit 返回错误值的问题
      • 修复了 IFNULLENUMSET 类型上不能正确生效的问题 #24944
      • 修复了 Join 子查询中的 count 被改写为 first_row 导致结果不正确的问题
      • 修复了 TopN 算子下使用 ParallelApply 查询时卡住的问题 #24930
      • 修复了使用含有多列的前缀索引查询时出现多余结果的问题
      • 修复了操作符 <=> 不能正确生效的问题 #24477
      • 修复并行 Apply 算子的数据竞争问题
      • 修复对 PartitionUnion 算子的 IndexMerge 结果排序时出现 index out of range 错误 #23919
      • 修复 被允许设置为非预期的过大值,而可能造成事务隔离性被破坏的问题
      • 修复 ODBC 类常数(例如 {d '2020-01-01'})不能被用作表达式的问题 #25531
      • 修复 SELECT DISTINCT 被转化为 Batch Get 而导致结果不正确的问题
      • 修复无法触发将查询从 TiFlash 回退到 TiKV 的问题 #23665
      • 修复在检查 only_full_group_by 时的 index-out-of-range 错误 #23839
      • 修复关联子查询中 Index Join 的结果不正确问题
      • 修复错误的 tikv_raftstore_hibernated_peer_state 监控指标 #10330
      • 修复 coprocessor 中 json_unquote() 函数错误的参数类型
      • 修复在 Leader 上 Replica Read 共享 Read Index 的问题 #10347
      • 修复 coprocessor 转换 DOUBLEDOUBLE 的错误函数
    • PD

      • 修复在 scheduler 启动之后,加载 TTL 配置产生的数据竞争问题 #3771
      • 修复 is_learner 字段在 TiDB 的 TIKV_REGION_PEERS 表中显示异常的问题 #24293
      • 修复在一个 zone 内所有 TiKV 节点下线或宕机的情况下,PD 不往其他 zone 调度数据的问题
      • 修复在添加 scatter range 调度器后导致 PD 挂掉的问题 #3762
    • TiFlash

      • 修复因 split 失败而不断重启的问题
      • 修复无法删除 Delta 历史数据的潜在问题
      • 修复在 CAST 函数中为非二进制字符串填充错误数据的问题
      • 修复处理包含复杂 GROUP BY 列的聚合查询时结果不正确的问题
      • 修复写入压力过大时出现进程崩溃的问题
      • 修复右连接键不为空且左连接键可为空时进程崩溃的问题
      • 修复 read-index 请求耗时长的潜在问题
      • 修复读负载高的情况下进程崩溃的问题
      • 修复 Date_Format 函数在参数类型为 STRING 且包含 NULL 值时可能导致 TiFlash server 崩溃的问题
    • Tools

      • TiCDC

        • 修复 TiCDC owner 在刷新 checkpoint 时异常退出的问题
        • 修复写 MySQL 下游出错暂停时 MySQL 连接泄漏的问题 #1946
        • 修复 TiCDC 读取 /proc/meminfo 失败时出现的 panic 问题
        • 减少 TiCDC 运行时的内存使用 #2012
        • 修复 resolved ts 计算慢导致 TiCDC panic 的问题 #1576
        • 修复 processor 潜在的死锁问题
      • Backup & Restore (BR)

        • 修复 BR 恢复中忽略了所有系统表的问题 #1197
        • 修复在 Backup & Restore 数据恢复期间开启 TDE 会报出文件已存在的错误 #1179
        • 修复 TiDB Lightning 在特殊数据下 panic 的问题
        • 修复 TiDB Lightning 导入大文件拆分时遇到的 EOF 报错问题 #1133
        • 修复 TiDB Lightning 导入含 auto_incrementDOUBLEFLOAT 类型列的表时生成极大 base 值的问题
        • 修复 TiDB Lightning 解析 Parquet 文件中 DECIMAL 类型数据失败的问题 #1277