TiDB 4.0.3 Release Notes
发版日期:2020 年 7 月 24 日
TiDB 版本:4.0.3
新功能
-
TiDB Dashboard
-
显示详细的 TiDB Dashboard 版本信息 #679
- 显示不受支持的浏览器或过时的浏览器的兼容性通知 #654
- 支持在 SQL 语句分析页面搜索 #658
-
TiFlash
-
TiFlash proxy 支持文件加密功能
-
Tools
-
Backup & Restore (BR)
改进提升
-
TiDB
-
增加全局变量
tidb_log_desensitization来控制在日志中记录 SQL 时是否脱敏 #18581 - 默认打开
tidb_allow_batch_cop#18552 - 加速
kill tidb sesesion_id的执行速度 #18505 - 函数
tidb_decode_plan的结果增加表头输出 #18501 - 配置检查器可以兼容旧版本的配置文件 #18046
- 默认打开执行信息的收集 #18518
- 增加系统表
tiflash_tables和tiflash_segments#18536 AUTO RANDOM被移出实验特性并正式 GA,有如下的改进和兼容性修改:- 在配置文件中,将
experimental.allow-auto-random废弃,该无论该选项如何配置,都可以在列上定义AUTO_RANDOM属性 #18613 #18623 - 为避免显式写入
AUTO_RANDOM列造成非预期的AUTO_RANDOM_BASE的更新,新增 session 变量tidb_allow_auto_random_explicit_insert用于控制AUTO_RANDOM列的显式写入,该变量默认值为false#18508 - 为避免分配空间被快速消耗,
AUTO_RANDOM列现在仅允许在BIGINT和UNSIGNED BIGINT列上定义,并将最大的 Shard Bit 数量限制为15#18538 - 当在
BIGINT列上定义AUTO_RANDOM属性,并显示插入负值的整型主键时,将不会再触发AUTO_RANDOM_BASE的更新 #17987 - 当在
UNSIGNED BIGINT列上定义AUTO_RANDOM属性,分配 ID 时将利用整数的最高位以获得更大的分配空间 #18404 - 在
SHOW CREATE TABLE的结果中支持AUTO_RANDOM_BASE属性的更新 #18316
- 在配置文件中,将
-
TiKV
-
添加了新的配置项
backup.num-threads用语控制 backup 线程池的大小 #8199 - 收取 snapshot 时不再发送 store heartbeat #8136
- 支持动态调整
shared block cache的大小 #8232 -
PD
-
支持 JSON 格式日志 #2565
-
TiDB Dashboard
-
优化 key Visualizer 中冷表的 bucket 合并 #674
- 重命名配置项
disable-telemetry以使遥测更一致 #684 - 切换页面时显示进度条 #661
- 保证慢日志查询和日志查询行为的一致性,即使在空格存在的情况 #682
-
TiFlash
-
将 Grafana DDL Jobs 面板中的单位修改为
operations per minute - 在 Grafana 中新增关于 TiFlash-Proxy 的详细监控指标面板
- 降低 TiFlash Proxy 的 IOPS
-
Tools
-
TiCDC
Bug 修复
-
TiDB
-
当
IndexHashJoin遇到执行中发生非内存相关的错误时,返回错误而不是空结果集 #18586 - 修复 gRPC transportReader 导致的反复异常 #18562
- 修复因为 Green GC 不会扫描已下线 store 上的锁而可能导致数据不完整的问题 #18550
- 非只读语句不会使用 TiFlash 引擎 #18534
- 当查询连接异常时返回真实的错误信息 #18500
- 修复非 repair mode 的 TiDB 节点不会重新读取修复的表元信息的错误 #18323
- 修复当锁住的 primary key 在当前事务被插入/删除时可能造成的结果不一致问题 #18291
- 修复数据落盘为正确生效导致的内存溢出 #18288
- 修复
REPLACE INTO语句作用在包含生成列的表时会错误报错的问题 #17907 - 当
IndexHashJoin及IndexMergeJoin执行异常时抛出Out Of Memory Quota!错误 #18527 - 修复当
Index Join使用的索引包含整型主键时,特殊情况下执行结果可能出错的问题 #18565 - 修复当开启 new collation 时,若在事务内的更新涉及了 new collation 列,并在该事务内通过唯一索引读取更新数据时,被更新的数据无法被读取到的问题 #18703
-
TiKV
-
修复 merge 期间可能读到过期数据的问题 #8113
- 修复聚合函数
min/max下推到 TiKV 时,collation 不能正确工作的问题 #8108 -
PD
-
修复如果服务器崩溃,创建 TSO 流可能会被阻塞一段时间的问题 #2648
- 修复
getSchedulers可能导致数据争用的问题 #2638 - 修复删除
scheduler时导致死锁的问题 #2637 - 修复
balance-leader-scheduler没有考虑 placement rule 的问题 #2636 - 修复有时无法正确设置
safepoint的问题,这可能会使 BR 和 dumpling 失败 #2635 - 修复
hot region scheduler中目标 store 选择错误的问题 #2627 - 修复 PD Leader 切换时 TSO 请求可能花费太长时间的问题 #2622
- 修复 PD Leader 切换后过期
scheduler的问题 #2608 - 修复了启用 placement rule 时,有时 Region 的副本可能无法调整到最佳位置的问题 #2605
- 修复了存储的部署路径不会随着部署目录移动而更新的问题 #2600
- 修复了
store limit可能为零的问题 #2588 -
TiDB Dashboard
-
修复 TiDB 扩容时的 TiDB 连接错误 #689
- 修复 TiFlash 实例未显示在日志搜索页面的问题 #680
- 修复概况页面刷新之后 metrics 会重置的问题 #663
- 修复某些 TLS 方案中的连接问题 #660
- 修复在某些情况下无法正确显示语言的下拉列表 #677
-
TiFlash
-
修复更改主键列名后 TiFlash 崩溃的问题
- 修复 Learner Read 与 Remove Region 并发时可能的死锁问题
-
Tools
-
TiCDC
- 解决了某些场景下可能发生的 OOM 问题 #704
- 解决了某些特殊表名可能导致 SQL 语法出错的问题 #676
- 解决了同步任务处理单元无法正常退出的问题 #693
-
Backup & Restore (BR)
-
解决了备份汇总报告中时间为负数的问题 #405
-
Dumpling
-
解决了
NULL值在有--r参数时被忽略的问题 #119 - 解决了导出数据时 flush table 没有正常工作的问题 #117
-
TiDB Lightning
-
解决了
--log-file参数不生效的问题 #345 -
TiDB Binlog
-
修复开启 TLS 写下游时用来保存 checkpoint 的 DB 没有开启 TLS 导致 Drainer 无法启动的问题 #988
