• aliases: [‘/docs-cn/releases/3.0.0-rc.2/‘]
  • TiDB 3.0.0-rc.2 Release Notes
    • Overview
    • TiDB
    • PD
    • TiKV
    • Tools

    title: TiDB 3.0.0-rc.2 Release Notescategory: Releases

    aliases: [‘/docs-cn/releases/3.0.0-rc.2/‘]

    TiDB 3.0.0-rc.2 Release Notes

    发版日期:2019 年 5 月 28 日

    TiDB 版本:3.0.0-rc.2

    TiDB Ansible 版本:3.0.0-rc.2

    Overview

    2019 年 5 月 28 日,TiDB 发布 3.0.0-rc.2 版本,对应的 TiDB Ansible 版本为 3.0.0-rc.2。相比 3.0.0-rc.1 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。

    TiDB

    • SQL 优化器

      • 在更多的场景中支持 Index Join #10540
      • 支持导出历史统计信息 #10291
      • 支持对单调递增的索引列增量 Analyze #10355
      • 忽略 Order By 子句中的 NULL 值 #10488
      • 修复精简列信息时逻辑算子 UnionAll 的 Schema 信息的计算不正确的问题 #10384
      • 下推 Not 操作符时避免修改原表达式 #10363
      • 支持导入导出列的关联性信息 #10573
    • 执行引擎

      • 有唯一索引的虚拟生成列可以在 replace on duplicate key update/insert on duplicate key update 语句中被正确地处理 #10370
      • 修复 CHAR 列上的扫描范围计算 #10124
      • 修复 PointGet 处理负数不正确问题 #10113
      • 合并具有相同窗口名的窗口函数,提高执行效率 #9866
      • 窗口函数中 Range Frame 可以无需 Order By 子句 #10496
    • Server

      • 修复 TiKV 故障时,TiDB 不断创建与 TiKV 的新连接的问题 #10301
      • tidb_disable_txn_auto_retry 不再只影响写入冲突错误,而是影响所有的可重试错误 #10339
      • 不带参数的 DDL 语句可以通过 prepare/execute 来执行 #10144
      • 新增 tidb_back_off_weight 变量,控制 TiDB 内部 back off 时间的长短 #10266
      • tidb_disable_txn_auto_retry 的默认值改为 on,即默认情况下,TiDB 不会重试非自动提交的事务 #10266
      • 修复 RBAC 中对 role 的数据库权限的判断不正确的问题 #10261
      • 支持悲观事务模型(实验性)#10297
      • 降低某些情况下处理锁冲突时的等待时间 #10006
      • 重构 Region cache,增加在 Region 故障时的轮询逻辑 #10256
      • 新增 tidb_low_resolution_tso 变量,控制批量获取 tso 个数,减少事务获取 tso 的次数,以适应某些数据一致性要求较低的场景 #10428
    • DDL

      • 修复旧版本的 TiDB 存储的字符集名称大写的问题 #10272
      • 支持 table partition 预分裂 Region 功能,该选项可以在建表时预先分配 table Region,避免建表后大量写入造成的写热点 #10221
      • 修复某些情况下 TiDB 更新版本信息到 PD 不准确的问题 #10324
      • 支持通过 alter schema 语句修改数据库 charset 和 collation #10393
      • 支持通过语句按指定表的索引及范围分裂 Region,用于缓解热点问题 #10203
      • 禁止 alter table 语句修改 decimal 列的精度 #10433
      • 修复 hash partition 中对表达式和函数的约束 #10273
      • 修复某些情况下对含有 partition 的 table 添加索引时引发 TiDB panic 的问题 #10475
      • 添加对某些极端情况下导致 schema 出错的防护功能 #10464
      • 创建 range partition 若有单列或者创建 hash partition 时默认开启分区功能 #9936

    PD

    • 默认开启 Region storage 将 Region 元信息存储到 Region storage 中 #1524
    • 修复热点调度受其他调度器抢占的问题 #1522
    • 修复 Leader 优先级不生效的问题 #1533
    • 新增 ScanRegions 的 gRPC 接口 #1535
    • 主动下发 operator 加快调度速度 #1536
    • 添加 store limit 机制,限制单个 store 的调度速度 #1474
    • 修复 config 状态不一致的问题 #1476

    TiKV

    • Engine
      • 支持多个 column family 共享 block cache #4563
    • Server
      • 移除 txn scheduler #4098
      • 支持悲观锁事务 #4698
    • Raftstore
      • 新增 hibernate Regions 特性,减少 raftstore CPU 的消耗 #4591
      • 移除 local reader 线程 #4558
      • 修复 Leader 不回复 Learner ReadIndex 请求的问题 #4653
      • 修复在某些情况下 transfer leader 失败的问题 #4684
      • 修复在某些情况下可能发生的脏读问题 #4688
      • 修复在某些情况下 snapshot 少包含数据的问题 #4716
    • Coprocessor
      • 新增更多的 RPN 函数
        • LogicalOr #4691
        • LTReal #4602
        • LEReal #4602
        • GTReal #4602
        • GEReal #4602
        • NEReal #4602
        • EQReal #4602
        • IsNull #4720
        • IsTrue #4720
        • IsFalse #4720
        • 支持 Int 比较运算 #4625
        • 支持 Decimal 比较运算 #4625
        • 支持 String 比较运算 #4625
        • 支持 Time 比较运算 #4625
        • 支持 Duration 比较运算 #4625
        • 支持 Json 比较运算 #4625
        • 支持 Int 加法运算 #4733
        • 支持 Real 加法运算 #4733
        • 支持 Decimal 加法运算 #4733
        • 支持 Int 求余函数 #4727
        • 支持 Real 求余函数 #4727
        • 支持 Decimal 求余函数 #4727
        • 支持 Int 减法运算 #4746
        • 支持 Real 减法运算 #4746
        • 支持 Decimal 减法运算 #4746

    Tools

    • TiDB Binlog

      • Drainer 增加下游同步延迟监控项 checkpoint_delay #594
    • TiDB Lightning

      • 支持数据库合并,数据表合并同步功能 #95
      • 新增 KV 写入失败重试机制 #176
      • 配置项 table-concurrency 默认值修改为 6 #175
      • 减少必要的配置项,tidb.porttidb..pd-addr 支持自动获取 #173