TiDB 3.0.0-rc.2 Release Notes

    TiDB 版本:3.0.0-rc.2

    TiDB Ansible 版本:3.0.0-rc.2

    • SQL 优化器

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

      • 有唯一索引的虚拟生成列可以在 replace on duplicate key update/insert on duplicate key update 语句中被正确地处理
      • 修复 CHAR 列上的扫描范围计算 #10124
      • 修复 PointGet 处理负数不正确问题
      • 合并具有相同窗口名的窗口函数,提高执行效率 #9866
      • 窗口函数中 Range Frame 可以无需 Order By 子句
      • 修复 TiKV 故障时,TiDB 不断创建与 TiKV 的新连接的问题 #10301
      • tidb_disable_txn_auto_retry 不再只影响写入冲突错误,而是影响所有的可重试错误
      • 不带参数的 DDL 语句可以通过 prepare/execute 来执行 #10144
      • 新增 tidb_back_off_weight 变量,控制 TiDB 内部 back off 时间的长短
      • tidb_disable_txn_auto_retry 的默认值改为 on,即默认情况下,TiDB 不会重试非自动提交的事务 #10266
      • 修复 RBAC 中对 role 的数据库权限的判断不正确的问题
      • 支持悲观事务模式(实验特性)#10297
      • 降低某些情况下处理锁冲突时的等待时间
      • 重构 Region cache,增加在 Region 故障时的轮询逻辑 #10256
      • 新增 tidb_low_resolution_tso 变量,控制批量获取 tso 个数,减少事务获取 tso 的次数,以适应某些数据一致性要求较低的场景
    • 默认开启 Region storage 将 Region 元信息存储到 Region storage 中
    • 修复热点调度受其他调度器抢占的问题 #1522
    • 修复 Leader 优先级不生效的问题
    • 新增 ScanRegions 的 gRPC 接口 #1535
    • 主动下发 operator 加快调度速度
    • 添加 store limit 机制,限制单个 store 的调度速度 #1474
    • 修复 config 状态不一致的问题
    • Engine
      • 支持多个 column family 共享 block cache
    • Server
      • 移除 txn scheduler #4098
      • 支持悲观锁事务
    • Raftstore
      • 新增 hibernate Regions 特性,减少 raftstore CPU 的消耗 #4591
      • 移除 local reader 线程
      • 修复 Leader 不回复 Learner ReadIndex 请求的问题 #4653
      • 修复在某些情况下 transfer leader 失败的问题
      • 修复在某些情况下可能发生的脏读问题 #4688
      • 修复在某些情况下 snapshot 少包含数据的问题
    • Coprocessor
    • TiDB Binlog

      • Drainer 增加下游同步延迟监控项 checkpoint_delay
      • 支持数据库合并,数据表合并同步功能 #95
      • 新增 KV 写入失败重试机制
      • 减少必要的配置项,tidb.porttidb..pd-addr 支持自动获取 #173