TiDB 4.0.0-beta.1 Release Notes

发版日期:2020 年 02 月 28 日

TiDB 版本:4.0.0-beta.1

TiDB Ansible 版本:4.0.0-beta.1

TiDB 4.0.0-beta.1 兼容性变化

  • TiDB

    • 修改配置项 log.enable-slow-log 的类型,由整数型改为布尔类型 #14864
    • 调整修改系统表 mysql.userpassword 列名为 authentication_string,与 MySQL 5.7 保持一致(该变动会导致升级后不能回退#14598
    • txn-total-size-limit 配置项的默认值由 1GB 调整为 100MB #14522
    • 新增动态修改、更新配置项的功能,配置项由 PD 持久化存储 #14750 #14303 #14830
  • TiKV

  • PD

    • 优化 HTTP API 兼容以新的配置项管理方式 #2080
  • TiDB Lightning

    • 优化配置项,部分配置项在没有设置的时候使用默认配置 #255
  • TiDB Ansible

    • theflash 更名为 tiflash #1130
    • 优化 TiFlash 配置文件中的默认值及相关配置 #1138

新功能

  • TiDB

    • 慢日志系统表 SLOW_QUERY / CLUSTER_SLOW_QUERY 支持查询任意时间段的日志#14840 #14878
    • 支持 SQL 性能诊断功能
    • 新增 Sequence 功能 #14731 #14589 #14674 #14442
    • 新增动态修改、更新配置项的功能,配置项由 PD 持久化存储 #14750 #14303 #14830
    • 新增系统自动根据负载均衡策略从不同角色上读取数据的功能,且新增 leader-and-follower 系统变量用于控制开启此功能 #14761
    • 新增 Coercibility 函数 #14739
    • 支持在分区表上建立 TiFlash 副本 #14735 #14713 #14644
    • 完善 SLOW_QUERY 表的权限检查 #14451
    • 新增当 Join 时若内存不足时系统自动将中间结果写磁盘文件的功能 #14708 #14279
    • 新增通过查询 information_schema.PARTITIONS 系统表查看 partition 详细信息的功能 #14347
    • 新增 json_objectagg 聚合函数 #11154
    • 新增审计日志记录用户登录失败的功能 #14594
    • 新增 max-server-connections 配置项,默认值为 4096 ,用于控制单个服务器连接数 #14409
    • 支持隔离读在 Server 级别指定多个存储引擎 #14440
    • 优化 Apply 算子和 Sort 算子的代价估算模型,提升系统稳定性 #13550 #14708
  • TiKV

    • 新增通过 HTTP API 从 status 端口获取配置项的功能 #6480
    • 提升 Coprocessor 的 Chunk Encoder 的性能 #6341
  • PD

    • 新增通过 UI 访问集群热点数据分布功能 #2086
    • 新增收集集群组件的启动时间的功能 #2116
    • member API 返回信息新增部署路径和组件版本信息 #2130
    • pd-ctl 新增 component 命令用于修改、查看组件配置信息 (experimental) #2092
  • TiDB Binlog

    • 同步链路新增 TLS 功能 #904 #894
    • Drainer 新增 kafka-client-id 配置项,支持连接 Kafka 客户端配置客户端 ID #902
    • Drainer 新增清理增量备份文件的功能 #885
  • TiDB Ansible

    • 新增同一个集群中部署多个 Grafana/Prometheus/Alertmanager 的功能 #1142
    • TiFlash 配置文件新增 metrics_port 配置项,默认值为8234 #1145
    • TiFlash 配置文件新增 flash_proxy_status_port 配置项,默认值为 20292 #1141
    • 新增 TiFlash 监控 Dashboard #1147 #1151

Bug 修复

  • TiDB

    • 修复创建视图时,列名超过 64 个字符时将报错的问题,报错改为重命名过长的列名 #14850
    • 修复因 create or replace view 语句处理逻辑不正确导致 information_schema.views 中有重复数据的问题 #14832
    • 修复开启 plan cache 之后,BatchPointGet 的获取到错误数据的问题 #14855
    • 修复按照时间分区的分区表,在修改时区后,因处理逻辑不正确导致数据插入到错误分区表的问题 #14370
    • 修复 IsTrue 函数的表达式因名称不正确,在执行外连化简利用非法函数名重建表达式导致系统 panic 的问题 #14515
    • 修复 show binding 语句权限检查不正确的问题 #14443
  • TiKV

  • TiDB Lightning

    • 修复在非 server mode 模式下 web 界面无法打开的问题 #259