TiDB 5.4.3 Release Notes

    TiDB 版本:5.4.3

    • TiKV

      • 支持将 RocksDB write stall 参数设置为比 flow control 流控阈值更小的值
      • 支持配置 避免 Raftstore 发现某个 Peer 无法连接时广播过多消息 #13054
    • Tools

      • TiDB Lightning

        • 优化 Scatter Region 为批量模式,提升 Scatter Region 过程的稳定性
        • 优化了多 Region 场景下,runtime 上下文切换带来过多性能开销的问题 #5610

    Bug 修复

    • TiDB

      • 修复 SHOW CREATE PLACEMENT POLICY 输出结果不正确的问题 #37526
      • 修复集群的 PD 节点被替换后一些 DDL 语句会卡住一段时间的问题
      • 修复 KILL TIDB 在空闲连接上无法立即生效的问题 #24031
      • 修复在 TiDB 上查询 INFORMATION_SCHEMA.COLUMNS 系统表得到的 DATA_TYPECOLUMN_TYPE 列结果不正确的问题
      • 修复在开启 TiDB Binlog 时,TiDB 执行 ALTER SEQUENCE 会产生错误的元信息版本号,进而导致 Drainer 报错退出的问题 #36276
      • 修复 UNION 运算符可能会非预期地返回空结果的问题
      • 修复在 TiFlash 中为分区表开启动态模式时结果出错的问题 #37254
      • 修复 INL_HASH_JOIN 和 一起使用时可能会卡住的问题
      • 修复执行 SHOW WARNINGS 时可能会报 invalid memory address or nil pointer dereference 的问题 #31569
      • 修复在读已提交隔离级别 (RC isolation level) 执行 Stale Read 报 invalid transaction 错误的问题
      • 修复开启 TiDB Binlog 后插入重复数据导致 data and columnID count not match 错误的问题 #33608
      • 修复 Static Partition Prune 模式下带聚合条件的 SQL 语句在表为空时结果错误的问题
      • 修复 TiDB 在执行 UPDATE 语句时可能会 panic 的问题 #32311
      • 修复 UnionScan 无法保序导致的查询结果不正确的问题
      • 修复在某些情况下 UPDATE 语句错误地消除了 projection 导致 Can't find column 报错的问题 #37568
      • 修复某些情况下分区表无法充分利用索引来扫描数据的问题
      • 修复某些情况下, 语句可能抛出非预期异常的问题 #37187
      • 修复开启 Prepared Plan Cache 后,使用 BIT 类型的索引可能会导致查询结果错误的问题
    • TiKV

      • 修复了 PD leader 发生切换或重启 PD 后,在集群中执行 SQL 语句会出现持续报错的问题 #12934
        • 问题原因:该问题是由于 TiKV 存在 bug,TiKV 向 PD client 发送心跳请求失败后不会重试,只能等待与 PD client 重连。这样,故障 TiKV 节点上的 Region 的信息会逐步变旧,使得 TiDB 无法获取最新的 Region 信息,导致 SQL 执行出错。
        • 影响版本:v5.3.2 和 v5.4.2。目前该问题已在 v5.3.3 和 v5.4.3 上修复。如果你使用 v5.4.2 的 TiDB 集群,可以升级至 v5.4.3。
        • 规避方法:除升级外,你还可以重启无法向 PD 发送 Region 心跳的 TiKV 节点,直至不再有待发送的 Region 心跳为止。
      • 修复 Web 身份提供程序 (web identity provider) 报错并失效后,自动恢复为默认提供程序 (default provider) 时出现权限拒绝的问题
      • 修复 PD 客户端可能会出现死锁的问题 #13191
      • 修复 Raftstore 线程繁忙时,可能会出现 Region 重叠的问题
    • PD

      • 修复 PD 无法正确处理 dashboard 代理请求的问题 #5321
      • 修复已清除的 tombstone store 信息在切换 PD leader 后再次出现的问题
      • 修复 PD 可能没创建 TiFlash Learner 副本的问题 #5401
    • TiFlash

      • 修复并行聚合出错时可能导致 TiFlash crash 的问题
      • 修复使用包含 NULL 值的列创建主键时导致崩溃的问题 #5859
      • TiDB Lightning

        • 修复 BIGINT 类型自增列可能越界的问题
        • 修复极端情况下去重可能会导致 TiDB Lightning panic 的问题 #34163
        • 修复 TiDB Lightning 不支持 Parquet 文件中以斜线 (/)、数字、非 ASCII 字符开头的特殊列名的问题
        • 修复了使用 IPv6 host 时无法连接到 TiDB 的问题 #35880
      • TiDB Data Migration (DM)

        • 修复 DM Worker 获取 DB 连接时可能卡住的问题
        • 修复 DM 报错 Specified key was too long 的问题 #5315
        • 修复数据同步过程中,latin1 字符集数据可能损坏的问题
        • 修复 DM IPv6 支持问题 #6249
        • 修复 内可能存在 data race 的问题
        • 修复 relay 报错时可能导致 goroutine 泄露问题 #6193
      • TiCDC

        • 修复 enable-old-value = false 时可能出现的 cdc panic 问题
      • Backup & Restore (BR)

        • 修复当外部存储的鉴权 Key 中存在某些特殊符号时,会导致备份恢复失败的问题 #37469
        • 修复在恢复时配置过高的 concurrency 会导致 Region 不均衡的问题