From e2e413a5c0203d2381b5d916d2dea99937a4b937 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 09:04:00 +0800 Subject: [PATCH 01/60] Add the draft release notes for v5.1 --- TOC.md | 4 +- releases/release-5.1.md | 321 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 releases/release-5.1.md diff --git a/TOC.md b/TOC.md index ca114fffed92..0d005ccfa048 100644 --- a/TOC.md +++ b/TOC.md @@ -7,7 +7,7 @@ + 关于 TiDB + [TiDB 简介](/overview.md) - + [What's New in TiDB 5.0](/releases/release-5.0.0.md) + + [TiDB 5.1 Release Notes](/releases/release-5.1.md) + [基本功能](/basic-features.md) + [实验特性](/experimental-features.md) + 性能测试报告 @@ -538,6 +538,8 @@ + 版本发布历史 + [发布版本汇总](/releases/release-notes.md) + [产品路线图](/roadmap.md) + + v5.1 + - [5.1](/releases/release-5.1.md) + v5.0 - [5.0.2](/releases/release-5.0.2.md) - [5.0.1](/releases/release-5.0.1.md) diff --git a/releases/release-5.1.md b/releases/release-5.1.md new file mode 100644 index 000000000000..5a226af2b0ab --- /dev/null +++ b/releases/release-5.1.md @@ -0,0 +1,321 @@ +--- +title: TiDB 5.1 Release Notes +--- + +# TiDB 5.1 Release Notes + +发版日期:2021 年 6 月 18 日 + +TiDB 版本:5.1 + +在 5.1 版本中,你可以获得以下关键特性: + +- 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 +- 支持 MySQL 8 中的动态权限(Dynamic Privileges)配置,实现对某些操作更细粒度的控制。 +- 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 +- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题。 +- 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 +- 支持数据的增量导入和分布式导入,降低数据导入时间。 + +## 兼容性更改 + +### 系统变量 + +| 变量名 | 修改类型 | 描述 | +|:----------|:-----------|:-----------| +| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | +| `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | +| `init_connect` | 新增 | 用于控制初始连接。 | +| `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 mpp 模式。bool 类型,默认值为 false。 | + +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +|:----------|:-----------|:-----------| +| TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | +| TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | +TiDB 配置文件 | performance.committer-concurrency | 修改 | "在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量 +。默认值从 16 修改为 128。" | +TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | +| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | +| TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | +| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB” | +| TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | +| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true | +| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改 | +| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2 | + +### 其他 + +- 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 +- 请避免在对使用 TiDB-Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 +- 请避免在 TiDB 滚动升级时执行 alter table … modify/change column。 +- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则升级到较高版本后将无法再修改系统表的 replica 设置。 +- 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。 [#1795](https://github.com/pingcap/ticdc/pull/1795) + +## 新功能 + +### SQL + +- 新增 MySQL 8 中的公共表表达式(Common Table Expression),为 TiDB 带来递归/非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 +[用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) + +- 新增 MySQL 8 中的动态权限(Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 + + 支持的动态权限包括: + + - `BACKUP_ADMIN` + - `RESTORE_ADMIN` + - `ROLE_ADMIN` + - `CONNECTION_ADMIN` + - `SYSTEM_VARIABLES_ADMIN` + + 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。 +[用户文档](/privilege-management.md) + +- 新增安全增强模式(Security Enhanced Mode)配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 + +- 全面加强列类型的在线变更能力,支持通过 ALTER TABLE 语句进行列的在线类型修改, 包括但不限于: + + - 从 varchar 转换为 bigint + - decimal 精度修改 + - 从 varchar(10) 到 varchar(5) 的长度压缩 + + [用户文档](/sql-statements/sql-statement-modify-column.md] + +- 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 + + [用户文档](/as-of-timestamp.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + + AS OF TIMESTAMP 语法示例如下: + + SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00' + START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00' + SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00' + +### 事务 + ++ 新增锁视图(Lock View)(实验特性) +[用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) + + Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 + +### 性能 + ++ 数据副本非一致性读(Stale Read) + + - 直接读取本地副本数据,降低读取延迟,提升查询性能 +[用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + ++ TiKV 增加独立的 IO 线程(Async IO) + + 通过将写盘操作从计算线程剥离出来,提高 CPU 利用率以及降低由于排队导致的长尾延迟问题 + ++ 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) + +### 稳定性 + ++ TiCDC 复制稳定性问题解决 + + - 改善 TiCDC 内存使用,避免在以下场景出现 OOM + + - 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 + - 大量数据写入造成 TiCDC 出现 OOM 问题 + + - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11(]https://github.com/pingcap/ticdc/projects/11) + - 网络不稳定情况下出现的同步中断问题 + - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 + ++ TiFlash 存储内存控制 +优化了 Region 快照生成的速度和内存使用量,减少了OOM的可能性 + ++ 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) + TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 + [用户文档](tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) + ++ 解决多个扩缩容时的调度稳定性问题 + +### 数据迁移 + ++ 支持数据的增量导入和分布式导入 + + - 增量导入:支持导入新数据至已存在数据的表。 + - 分布式导入:支持使用多个 lightning 进程并行或分批次初始化同一张表,可用于分表数据使用多个 lightning 并行合并迁移到 TiDB,或者超大单表数据分批次使用 lightning 迁移到 TiDB,可大大降低导入大量数据所需的时间。 + + [用户文档](tidb-lightning-distributed-import.md),[#784](https://github.com/pingcap/br/pull/784) + +### TiDB 数据共享订阅 + +[TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md#row-changed-event) 的 [列标志位](/ticdc/ticdc-open-protocol.md#列标志位) 功能正式发布,不再是实验特性。列标志位用于以 Bit flags 形式标记列的相关属性。 + +### 遥测 + +TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、失败情况等。 + +若要了解所收集的信息详情及如何禁用该行为,请参见[遥测](https://docs.pingcap.com/zh/tidb/stable/telemetry)文档。 + +## 提升改进 + ++ TiDB + + - 支持 `VITESS_HASH()` 函数 [#23915](https://github.com/pingcap/tidb/pull/23915) + - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) + - 支持 Window Function Pipeline,降低 Window Function 运行过程中 OOM 概率 [#23807](https://github.com/pingcap/tidb/issues/23807) + - 减少 UNION 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) + - 解决多种情况下出现的 Region is Unavailable 问题 [project#62](https://github.com/pingcap/tidb/projects/62) + + - 修复频繁调度情况下可能出现的多个 Region is Unavailable 问题 + - 解决部分高压力写入情况下可能出现的 Region is Unavailable 问题 + + - 当内存中的统计信息缓存是最新的时,避免后台作业频繁读取 `mysql.stats_histograms` 表造成高 CPU 使用率 [#24317](https://github.com/pingcap/tidb/pull/24317) + ++ TiKV + + - 使用 `zstd` 压缩 Region Snapshot,防止大量调度或扩缩容情况下出现各节点之间空间差异比较大的问题 [#10005](https://github.com/tikv/tikv/pull/10005) + - 解决多种情况下的 OOM 问题 [#10183](https://github.com/tikv/tikv/issues/10183) + + - 增加各模块内存使用情况追踪 + - 解决 raft entries cache 过大导致的 OOM 问题 + - 解决 gc tasks 堆积导致的 OOM 问题 + - 解决一次性从 raft log 取太多 raft entries 到内存导致 OOM 问题 + + - 让 Region 分裂更均匀,缓解有写入热点时 Region 大小的增长速度超过分裂速度的问题 [#9785](https://github.com/tikv/tikv/issues/9785) + ++ TiFlash + + - 新增对 Union All , TopN,Limit 函数的支持 + - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join的支持 + - 优化锁操作以避免 DDL 语句和读数据相互阻塞 + ++ PD + - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) + - 解决扩缩容过程中出现的多个调度问题 + + - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 + - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 + - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 tikv/pd/pull/3592 tikv/pull/10005 + ++ Tools + + + Backup & Restore (BR) + + - 支持备份和恢复 `mysql` schema 下的系统表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) + - BR 支持 S3 兼容的存储(基于 virtual-host 寻址模式)[#10243](https://github.com/tikv/tikv/pull/10243) + - BR 改进 backupmeta 格式,减少内存占用。[#1171](https://github.com/pingcap/br/pull/1171) + + + TiCDC + + - 删除了一些可能让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) + - 为 TiCDC 扫描的速度添加感知下游处理能力的 (back pressure) 功能 [#10151](https://github.com/tikv/tikv/pull/10151) + - 减少 TiCDC 进行初次扫描的内存使用量 [#10133](https://github.com/tikv/tikv/pull/10133) + - 提升了悲观事务中 TiCDC Old Value 的缓存命中率 [#10089](https://github.com/tikv/tikv/pull/10089) + + + Dumpling + + - 改善 TiDB 4.0 导出逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) + - 修复备份失败却没有错误输出的问题 [#280](https://github.com/pingcap/dumpling/pull/280) + + + Lightning + + - 优化导入逻辑实现导入速度的提升。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) + - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) + +## Bug 修复 + ++ TiDB + + - 修复投影消除在投影结果为空时执行结果可能错误的问题 [#24093](https://github.com/pingcap/tidb/pull/24093) + - 修复列包含 `NULL` 值时查询结果在某些情况下可能错误的问题 [#24063](https://github.com/pingcap/tidb/pull/24063) + - 当有虚拟列参与扫描时不允许生成 MPP 计划 [#24058](https://github.com/pingcap/tidb/pull/24058) + - 修复 Plan Cache 中对 `PointGet` 和 `TableDual` 错误的重复使用 [#24043](https://github.com/pingcap/tidb/pull/24043) + - 修复优化器在为聚簇索引构建 `IndexMerge` 执行计划时出现的错误 [#24042](https://github.com/pingcap/tidb/pull/24042) + - 修复 BIT 类型相关错误的类型推导 [#24027](https://github.com/pingcap/tidb/pull/24027) + - 修复某些优化器 Hint 在 `PointGet` 算子存在时无法生效的问题 [#23685](https://github.com/pingcap/tidb/pull/23685) + - 修复 DDL 遇到错误回滚时可能失败的问题 [#24080](https://github.com/pingcap/tidb/pull/24080) + - 修复二进制字面值常量的索引范围构造错误的问题 [#24041](https://github.com/pingcap/tidb/pull/24041) + - 修复某些情况下 `IN` 语句的执行结果可能错误的问题 [#24023](https://github.com/pingcap/tidb/pull/24023) + - 修复某些字符串函数的返回结果错误的问题 [#23879](https://github.com/pingcap/tidb/pull/23879) + - 执行 `REPLACE` 语句需要用户同时拥有 `INSERT` 和 `DELETE` 权限 [#23939](https://github.com/pingcap/tidb/pull/23939) + - 修复点查时出现的的性能回退 [#24070](https://github.com/pingcap/tidb/pull/24070) + - 修复因错误比较二进制与字节而导致的 `TableDual` 计划错误的问题 [#23918](https://github.com/pingcap/tidb/pull/23918) + - 修复了在某些情况下,使用前缀索引和 Index Join 导致的 panic 的问题 [#24547](https://github.com/pingcap/tidb/issues/24547) [#24716](https://github.com/pingcap/tidb/issues/24716) [#24717](https://github.com/pingcap/tidb/issues/24717) + - 修复了 `point get` 的 prepare plan cache 被事务中的 `point get` 语句不正确使用的问题 [#24741](https://github.com/pingcap/tidb/issues/24741) + - 修复了当排序规则为 `ascii_bin` 或 `latin1_bin` 时,写入错误的前缀索引值的问题 [#24569](https://github.com/pingcap/tidb/issues/24569) + - 修复了正在执行的事务被 GC worker 中断的问题 [#24591](https://github.com/pingcap/tidb/issues/24591)) + - 修复了当 `new-collation` 开启且 `new-row-format` 关闭的情况下,点查在聚簇索引下可能出错的问题 [#24541](https://github.com/pingcap/tidb/issues/24541) + - 为 Shuffle Hash Join 重构分区键的转换功能 [#24490](https://github.com/pingcap/tidb/pull/24490) + - 修复了当查询包含 `HAVING` 子句时,在构建计划的过程中 panic 的问题 [#24045](https://github.com/pingcap/tidb/issues/24045) + - 修复了列裁剪优化导致 `Apply` 算子和 `Join` 算子执行结果错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) + - 修复了从 Async Commit 回退的主锁无法被清除的问题 [#24384](https://github.com/pingcap/tidb/issues/24384) + - 修复了一个统计信息 GC 的问题,该问题可能导致重复的 fm-sketch 记录 [#24357](https://github.com/pingcap/tidb/pull/24357) + - 当悲观锁事务收到 `ErrKeyExists` 错误时,避免不必要的悲观事务回滚 [#23799](https://github.com/pingcap/tidb/issues/23799) + - 修复了当 sql_mode 包含 `ANSI_QUOTES` 时,数值字面值无法被识别的问题 [#25015](https://github.com/pingcap/tidb/pull/25015) + - 禁止如 `INSERT INTO table PARTITION () ... ON DUPLICATE KEY UPDATE` 的语句从 non-listed partitions 读取数据 [#24746](https://github.com/pingcap/tidb/issues/24746) + - 修复了当 SQL 语句包含 `GROUP BY` 以及 `UNION` 时,可能会出现的 `index out of range` 的问题 [#24281](https://github.com/pingcap/tidb/issues/24281) + - 修复了 `CONCAT` 函数错误处理排序规则的问题 [#24296](https://github.com/pingcap/tidb/issues/24296) + - 修复了全局变量 `collation_server` 对新会话无法生效的问题 [#24156](https://github.com/pingcap/tidb/pull/24156) + ++ TiKV + + - 修复了 Coprocessor 未正确处理 `IN` 表达式有符号整数或无符号整数类型数据的问题 [#10018](https://github.com/tikv/tikv/pull/10018) + - 修复了在批量 ingest SST 文件后产生大量空 Region 的问题 [#10015](https://github.com/tikv/tikv/pull/10015) + - 修复了 file dictionary 文件损坏之后 TiKV 无法启动的问题 [#9992](https://github.com/tikv/tikv/pull/9992) + - 修复了由于读取旧值而导致的 TiCDC OOM 问题 [#9996](https://github.com/tikv/tikv/issues/9996) [#9981](https://github.com/tikv/tikv/issues/9981) + - 修复了聚簇主键列在次级索引上的 `latin1_bin` 字符集出现空值的问题 [#24548](https://github.com/pingcap/tidb/issues/24548) + - 新增 `abort-on-panic` 配置,允许 TiKV 在 panic 时生成 core dump 文件。用户仍需正确配置环境以开启 core dump。 [#10216](https://github.com/tikv/tikv/pull/10216) + - 修复了 TiKV 不繁忙时 `point get` 查询性能回退的问题 [#10046](https://github.com/tikv/tikv/issues/10046) + ++ PD + + - 修复在 store 数量多的情况下,切换 PD Leader 慢的问题 [#3697](https://github.com/tikv/pd/issues/3697) + - 修复删除不存在的 evict leader 调度器时出现 panic 的问题 [#3660](https://github.com/tikv/pd/issues/3660) + - 修复 offline peer 在合并完后未更新统计的问题 [#3611](https://github.com/tikv/pd/issues/3611) + ++ TiFlash + + - 修复 `TIME` 类型转换为 `INT` 类型时产生错误结果的问题 + - 修复 `receiver` 可能无法在 10 秒内找到对应任务的问题 + - 修复 `cancelMPPQuery` 中可能存在无效迭代器的问题 + - 修复 `bitwise` 算子和 TiDB 行为不一致的问题 + - 修复当使用 `prefix key` 时出现范围重叠报错的问题 + - 修复字符串转换为 `INT` 时产生错误结果的问题 + - 修复连续快速写入可能导致 TiFlash 内存溢出的问题 + - 修复 Table GC 时会引发空指针的问题 + - 修复向已被删除的表写数据时 TiFlash 进程崩溃的问题 + - 修复当使用 BR 恢复数据时 TiFlash 进程可能崩溃的问题 + - 修复并发复制共享 Delta 索引导致结果错误的问题 + - 修复 TiFlash 在 Compaction Filter 特性开启时可能崩溃的问题 + - 修复了从 Async Commit 回退的锁无法被 TiFlash 清除的问题 + - 修复当 `TIMEZONE` 类型的转换结果包含 `TIMESTAMP` 类型时返回错误结果的问题 + - 修复 TiFlash 在 Segment Split 期间异常退出的问题 + ++ Tools + + + TiDB Lightning + + - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) + - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) + + + Backup & Restore (BR) + + - 修复备份期间少数 TiKV 节点不可用导致的备份中断问题 [#1019](https://github.com/pingcap/br/pull/1019) + + + TiCDC + + - 修复 Unified Sorter 中的并发问题并过滤无用的错误消息 [#1678](https://github.com/pingcap/ticdc/pull/1678) + - 修复同步到 MinIO 时,重复创建目录会导致同步中断的问题 [#1672](https://github.com/pingcap/ticdc/pull/1672) + - 默认开启会话变量 `explicit_defaults_for_timestamp`,使得下游 MySQL 5.7 和上游 TiDB 的行为保持一致 [#1659](https://github.com/pingcap/ticdc/pull/1659) + - 修复错误地处理 `io.EOF` 可能导致同步中断的问题 [#1648](https://github.com/pingcap/ticdc/pull/1648) + - 修正 TiCDC 面板中的 TiKV CDC endpoint CPU 统计信息 [#1645](https://github.com/pingcap/ticdc/pull/1645) + - 增加 `defaultBufferChanSize` 来避免某些情况下同步阻塞的问题 [#1632](https://github.com/pingcap/ticdc/pull/1632) + - 修复 Avro 输出中丢失时区信息的问题 [#1712](https://github.com/pingcap/ticdc/pull/1712) + - 支持清理 Unified Sorter 过期的文件并禁止共享 `sort-dir` 目录 [#1742](https://github.com/pingcap/ticdc/pull/1742) + - 修复存在大量过期 Region 信息时 KV 客户端可能锁死的问题 [#1801](https://github.com/pingcap/ticdc/pull/1801) + - 修复 `--cert-allowed-cn` 参数中错误的帮助消息 [#1697](https://github.com/pingcap/ticdc/pull/1697) + - 修复因更新 `explicit_defaults_for_timestamp` 而需要 MySQL `SUPER` 权限的问题 [#1750](https://github.com/pingcap/ticdc/pull/1750) + - 添加 sink 流控以降低内存溢出的风险 [#1840](https://github.com/pingcap/ticdc/pull/1840) + - 修复调度数据表时可能发生的同步终止问题 [#1828](https://github.com/pingcap/ticdc/pull/1828) + - 修复 TiCDC changefeed 断点卡住导致 TiKV GC safe point 不推进的问题 [#1759](https://github.com/pingcap/ticdc/pull/1759) + + From 3a1097c07e4e81b3c8f185295b48a31fd740c961 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 09:10:20 +0800 Subject: [PATCH 02/60] Update release-5.1.md --- releases/release-5.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 5a226af2b0ab..b3f91fd91c9b 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -32,7 +32,7 @@ TiDB 版本:5.1 ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | -|:----------|:-----------|:-----------| +|:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | TiDB 配置文件 | performance.committer-concurrency | 修改 | "在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量 From d4af1d97b76f20b27e5e256ba15561632af251b3 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 09:11:59 +0800 Subject: [PATCH 03/60] Update release-5.1.md --- releases/release-5.1.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index b3f91fd91c9b..58c201552d7c 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -35,9 +35,8 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | -TiDB 配置文件 | performance.committer-concurrency | 修改 | "在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量 -。默认值从 16 修改为 128。" | -TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | +| TiDB 配置文件 | performance.committer-concurrency | 修改 | "在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。" | +| TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | | TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB” | From 76664a1f51ce91b5cdd2163598c5720e5fd1c42a Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 09:13:37 +0800 Subject: [PATCH 04/60] Update release-5.1.md --- releases/release-5.1.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 58c201552d7c..70b9003a6923 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -35,15 +35,15 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | performance.committer-concurrency | 修改 | "在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。" | +| TiDB 配置文件 | performance.committer-concurrency | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。| | TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | -| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB” | +| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB”。 | | TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true | -| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改 | -| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2 | +| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true。 | +| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改。 | +| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2。 | ### 其他 From 961bf369db5d3071ffcb15fd66188cfc0ee8cb50 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 10:38:30 +0800 Subject: [PATCH 05/60] Apply suggestions from code review Co-authored-by: djshow832 --- releases/release-5.1.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 70b9003a6923..4c6343b7960d 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -104,7 +104,7 @@ TiDB 版本:5.1 + 数据副本非一致性读(Stale Read) - - 直接读取本地副本数据,降低读取延迟,提升查询性能 + 直接读取本地副本数据,降低读取延迟,提升查询性能 [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + TiKV 增加独立的 IO 线程(Async IO) @@ -127,7 +127,7 @@ TiDB 版本:5.1 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 + TiFlash 存储内存控制 -优化了 Region 快照生成的速度和内存使用量,减少了OOM的可能性 +优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 + 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 @@ -183,8 +183,8 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + TiFlash - - 新增对 Union All , TopN,Limit 函数的支持 - - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join的支持 + - 新增对 Union All, TopN, Limit 函数的支持 + - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join 的支持 - 优化锁操作以避免 DDL 语句和读数据相互阻塞 + PD @@ -317,4 +317,3 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 修复调度数据表时可能发生的同步终止问题 [#1828](https://github.com/pingcap/ticdc/pull/1828) - 修复 TiCDC changefeed 断点卡住导致 TiKV GC safe point 不推进的问题 [#1759](https://github.com/pingcap/ticdc/pull/1759) - From 078a86d4085e6931f2e64fc10cc5be45ac564606 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 10:38:51 +0800 Subject: [PATCH 06/60] Update releases/release-5.1.md --- releases/release-5.1.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 4c6343b7960d..388ec0b85f8b 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -89,9 +89,10 @@ TiDB 版本:5.1 AS OF TIMESTAMP 语法示例如下: - SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00' - START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00' - SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00' +```sql + SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; + START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; + SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; ### 事务 @@ -316,4 +317,3 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 添加 sink 流控以降低内存溢出的风险 [#1840](https://github.com/pingcap/ticdc/pull/1840) - 修复调度数据表时可能发生的同步终止问题 [#1828](https://github.com/pingcap/ticdc/pull/1828) - 修复 TiCDC changefeed 断点卡住导致 TiKV GC safe point 不推进的问题 [#1759](https://github.com/pingcap/ticdc/pull/1759) - From 2235ca1ea49291ea11dfd51c1b506021aff1d1ee Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 10:40:20 +0800 Subject: [PATCH 07/60] Update releases/release-5.1.md --- releases/release-5.1.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 388ec0b85f8b..72044a5ac759 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -93,7 +93,6 @@ TiDB 版本:5.1 SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; - ### 事务 + 新增锁视图(Lock View)(实验特性) From 7771c8c836ae4f0a4ad08238269ee94f65ba0385 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 10:42:20 +0800 Subject: [PATCH 08/60] Update release-5.1.md --- releases/release-5.1.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 72044a5ac759..f8b6717bbfea 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -93,6 +93,8 @@ TiDB 版本:5.1 SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; +``` + ### 事务 + 新增锁视图(Lock View)(实验特性) From b69386a2928edc935de9990630e93ff28046e73d Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 10:44:00 +0800 Subject: [PATCH 09/60] Update release-5.1.md --- releases/release-5.1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index f8b6717bbfea..c30464c3b268 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -81,7 +81,7 @@ TiDB 版本:5.1 - decimal 精度修改 - 从 varchar(10) 到 varchar(5) 的长度压缩 - [用户文档](/sql-statements/sql-statement-modify-column.md] + [用户文档](sql-statement-modify-column.md] - 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 @@ -89,11 +89,11 @@ TiDB 版本:5.1 AS OF TIMESTAMP 语法示例如下: -```sql + ```sql SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; -``` + ``` ### 事务 From 21aa18b324c701e9d24c94d72b9ad224e6f4b6f5 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 10:46:16 +0800 Subject: [PATCH 10/60] remove the section for data migration --- releases/release-5.1.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index c30464c3b268..780b56de8c78 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -137,15 +137,6 @@ TiDB 版本:5.1 + 解决多个扩缩容时的调度稳定性问题 -### 数据迁移 - -+ 支持数据的增量导入和分布式导入 - - - 增量导入:支持导入新数据至已存在数据的表。 - - 分布式导入:支持使用多个 lightning 进程并行或分批次初始化同一张表,可用于分表数据使用多个 lightning 并行合并迁移到 TiDB,或者超大单表数据分批次使用 lightning 迁移到 TiDB,可大大降低导入大量数据所需的时间。 - - [用户文档](tidb-lightning-distributed-import.md),[#784](https://github.com/pingcap/br/pull/784) - ### TiDB 数据共享订阅 [TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md#row-changed-event) 的 [列标志位](/ticdc/ticdc-open-protocol.md#列标志位) 功能正式发布,不再是实验特性。列标志位用于以 Bit flags 形式标记列的相关属性。 From f337c8da547009cf4639e3522293220238b7c785 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 10:48:57 +0800 Subject: [PATCH 11/60] Update release-5.1.md --- releases/release-5.1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 780b56de8c78..3d3e588c9ae4 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -81,7 +81,7 @@ TiDB 版本:5.1 - decimal 精度修改 - 从 varchar(10) 到 varchar(5) 的长度压缩 - [用户文档](sql-statement-modify-column.md] + [用户文档](/sql-statement-modify-column.md] - 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 @@ -124,7 +124,7 @@ TiDB 版本:5.1 - 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 - 大量数据写入造成 TiCDC 出现 OOM 问题 - - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11(]https://github.com/pingcap/ticdc/projects/11) + - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11]https://github.com/pingcap/ticdc/projects/11) - 网络不稳定情况下出现的同步中断问题 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 From a26d233888b6d4a7d4ef2a7b21bba962de1d0837 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 16 Jun 2021 10:50:54 +0800 Subject: [PATCH 12/60] Update release-5.1.md --- releases/release-5.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 3d3e588c9ae4..3d9c9e34471c 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -81,7 +81,7 @@ TiDB 版本:5.1 - decimal 精度修改 - 从 varchar(10) 到 varchar(5) 的长度压缩 - [用户文档](/sql-statement-modify-column.md] + [用户文档](/sql-statement-modify-column.md) - 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 From cd0bdafe04d923c7732a96f0371405555d921ed9 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 10:55:08 +0800 Subject: [PATCH 13/60] Update releases/release-5.1.md --- releases/release-5.1.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 3d9c9e34471c..8aab3cdf0c58 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -15,7 +15,6 @@ TiDB 版本:5.1 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 - 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题。 - 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 -- 支持数据的增量导入和分布式导入,降低数据导入时间。 ## 兼容性更改 From eb43fb5a618478601d14e80a01afa86eeb67b98f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 14:40:03 +0800 Subject: [PATCH 14/60] Update releases/release-5.1.md Co-authored-by: JaySon --- releases/release-5.1.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 8aab3cdf0c58..0c2b4b284440 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -178,6 +178,10 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 新增对 Union All, TopN, Limit 函数的支持 - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join 的支持 - 优化锁操作以避免 DDL 语句和读数据相互阻塞 + - 优化 TiFlash 对过期数据的清理 + - 新增支持对 timestamp 列的查询过滤条件在 TiFlash 存储层进一步过滤 + - 在集群中有大量表时,优化 TiFlash 的启动速度及扩容速度 + - 提升 TiFlash 在未知 CPU 上运行的兼容性 + PD - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) From 4226329b1b727fe70792e649806dc67b269fadfe Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 16 Jun 2021 14:42:50 +0800 Subject: [PATCH 15/60] Apply suggestions from code review --- releases/release-5.1.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 0c2b4b284440..5151733206f6 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -215,6 +215,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 优化导入逻辑实现导入速度的提升。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) + - 优化 Local 后端更新 checkpoint 的时机,提升断点重启时的性能 [#1080](https://github.com/pingcap/br/pull/1080) ## Bug 修复 @@ -291,6 +292,8 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) + - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1134](https://github.com/pingcap/br/pull/1134) + - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + Backup & Restore (BR) From b92d9a37656f6bd4349c4cc8bd4eff81dd91e9bd Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 17 Jun 2021 11:20:55 +0800 Subject: [PATCH 16/60] change pr to issue in bug fix part --- releases/release-5.1.md | 61 +++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index 5151733206f6..ef5471ef3000 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -54,9 +54,9 @@ TiDB 版本:5.1 ## 新功能 -### SQL +### SQL -- 新增 MySQL 8 中的公共表表达式(Common Table Expression),为 TiDB 带来递归/非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 +- 新增 MySQL 8 中的公共表表达式(Common Table Expression),为 TiDB 带来递归/非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 [用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) - 新增 MySQL 8 中的动态权限(Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 @@ -76,7 +76,7 @@ TiDB 版本:5.1 - 全面加强列类型的在线变更能力,支持通过 ALTER TABLE 语句进行列的在线类型修改, 包括但不限于: - - 从 varchar 转换为 bigint + - 从 varchar 转换为 bigint - decimal 精度修改 - 从 varchar(10) 到 varchar(5) 的长度压缩 @@ -115,7 +115,7 @@ TiDB 版本:5.1 + 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) ### 稳定性 - + + TiCDC 复制稳定性问题解决 - 改善 TiCDC 内存使用,避免在以下场景出现 OOM @@ -123,7 +123,7 @@ TiDB 版本:5.1 - 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 - 大量数据写入造成 TiCDC 出现 OOM 问题 - - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11]https://github.com/pingcap/ticdc/projects/11) + - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11](https://github.com/pingcap/ticdc/projects/11) - 网络不稳定情况下出现的同步中断问题 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 @@ -187,8 +187,8 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) - 解决扩缩容过程中出现的多个调度问题 - - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 - - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 + - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 + - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 tikv/pd/pull/3592 tikv/pull/10005 + Tools @@ -221,20 +221,20 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + TiDB - - 修复投影消除在投影结果为空时执行结果可能错误的问题 [#24093](https://github.com/pingcap/tidb/pull/24093) - - 修复列包含 `NULL` 值时查询结果在某些情况下可能错误的问题 [#24063](https://github.com/pingcap/tidb/pull/24063) - - 当有虚拟列参与扫描时不允许生成 MPP 计划 [#24058](https://github.com/pingcap/tidb/pull/24058) - - 修复 Plan Cache 中对 `PointGet` 和 `TableDual` 错误的重复使用 [#24043](https://github.com/pingcap/tidb/pull/24043) - - 修复优化器在为聚簇索引构建 `IndexMerge` 执行计划时出现的错误 [#24042](https://github.com/pingcap/tidb/pull/24042) - - 修复 BIT 类型相关错误的类型推导 [#24027](https://github.com/pingcap/tidb/pull/24027) - - 修复某些优化器 Hint 在 `PointGet` 算子存在时无法生效的问题 [#23685](https://github.com/pingcap/tidb/pull/23685) - - 修复 DDL 遇到错误回滚时可能失败的问题 [#24080](https://github.com/pingcap/tidb/pull/24080) - - 修复二进制字面值常量的索引范围构造错误的问题 [#24041](https://github.com/pingcap/tidb/pull/24041) - - 修复某些情况下 `IN` 语句的执行结果可能错误的问题 [#24023](https://github.com/pingcap/tidb/pull/24023) - - 修复某些字符串函数的返回结果错误的问题 [#23879](https://github.com/pingcap/tidb/pull/23879) - - 执行 `REPLACE` 语句需要用户同时拥有 `INSERT` 和 `DELETE` 权限 [#23939](https://github.com/pingcap/tidb/pull/23939) + - 修复投影消除在投影结果为空时执行结果可能错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) + - 修复列包含 `NULL` 值时查询结果在某些情况下可能错误的问题 [#23891](https://github.com/pingcap/tidb/issues/23891) + - 当有虚拟列参与扫描时不允许生成 MPP 计划 [#23886](https://github.com/pingcap/tidb/issues/23886) + - 修复 Plan Cache 中对 `PointGet` 和 `TableDual` 错误的重复使用 [#23187](https://github.com/pingcap/tidb/issues/23187) [#23144](https://github.com/pingcap/tidb/issues/23144) [#23304](https://github.com/pingcap/tidb/issues/23304) [#23290](https://github.com/pingcap/tidb/issues/23290) + - 修复优化器在为聚簇索引构建 `IndexMerge` 执行计划时出现的错误 [#23906](https://github.com/pingcap/tidb/issues/23906) + - 修复 BIT 类型相关错误的类型推导 [#23832](https://github.com/pingcap/tidb/issues/23832) + - 修复某些优化器 Hint 在 `PointGet` 算子存在时无法生效的问题 [#23570](https://github.com/pingcap/tidb/issues/23570) + - 修复 DDL 遇到错误回滚时可能失败的问题 [#23893](https://github.com/pingcap/tidb/issues/23893) + - 修复二进制字面值常量的索引范围构造错误的问题 [#23672](https://github.com/pingcap/tidb/issues/23672) + - 修复某些情况下 `IN` 语句的执行结果可能错误的问题 [#23889](https://github.com/pingcap/tidb/issues/23889) + - 修复某些字符串函数的返回结果错误的问题 [#23759](https://github.com/pingcap/tidb/issues/23759) + - 执行 `REPLACE` 语句需要用户同时拥有 `INSERT` 和 `DELETE` 权限 [#23909](https://github.com/pingcap/tidb/issues/23909) - 修复点查时出现的的性能回退 [#24070](https://github.com/pingcap/tidb/pull/24070) - - 修复因错误比较二进制与字节而导致的 `TableDual` 计划错误的问题 [#23918](https://github.com/pingcap/tidb/pull/23918) + - 修复因错误比较二进制与字节而导致的 `TableDual` 计划错误的问题 [#23846](https://github.com/pingcap/tidb/issues/23846) - 修复了在某些情况下,使用前缀索引和 Index Join 导致的 panic 的问题 [#24547](https://github.com/pingcap/tidb/issues/24547) [#24716](https://github.com/pingcap/tidb/issues/24716) [#24717](https://github.com/pingcap/tidb/issues/24717) - 修复了 `point get` 的 prepare plan cache 被事务中的 `point get` 语句不正确使用的问题 [#24741](https://github.com/pingcap/tidb/issues/24741) - 修复了当排序规则为 `ascii_bin` 或 `latin1_bin` 时,写入错误的前缀索引值的问题 [#24569](https://github.com/pingcap/tidb/issues/24569) @@ -254,9 +254,9 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + TiKV - - 修复了 Coprocessor 未正确处理 `IN` 表达式有符号整数或无符号整数类型数据的问题 [#10018](https://github.com/tikv/tikv/pull/10018) - - 修复了在批量 ingest SST 文件后产生大量空 Region 的问题 [#10015](https://github.com/tikv/tikv/pull/10015) - - 修复了 file dictionary 文件损坏之后 TiKV 无法启动的问题 [#9992](https://github.com/tikv/tikv/pull/9992) + - 修复了 Coprocessor 未正确处理 `IN` 表达式有符号整数或无符号整数类型数据的问题 [#9821](https://github.com/tikv/tikv/issues/9821) + - 修复了在批量 ingest SST 文件后产生大量空 Region 的问题 [#964](https://github.com/pingcap/br/issues/964) + - 修复了 file dictionary 文件损坏之后 TiKV 无法启动的问题 [#9886](https://github.com/tikv/tikv/issues/9886) - 修复了由于读取旧值而导致的 TiCDC OOM 问题 [#9996](https://github.com/tikv/tikv/issues/9996) [#9981](https://github.com/tikv/tikv/issues/9981) - 修复了聚簇主键列在次级索引上的 `latin1_bin` 字符集出现空值的问题 [#24548](https://github.com/pingcap/tidb/issues/24548) - 新增 `abort-on-panic` 配置,允许 TiKV 在 panic 时生成 core dump 文件。用户仍需正确配置环境以开启 core dump。 [#10216](https://github.com/tikv/tikv/pull/10216) @@ -292,24 +292,25 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) - - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1134](https://github.com/pingcap/br/pull/1134) + + - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + Backup & Restore (BR) - - 修复备份期间少数 TiKV 节点不可用导致的备份中断问题 [#1019](https://github.com/pingcap/br/pull/1019) + - 修复备份期间少数 TiKV 节点不可用导致的备份中断问题 [#980](https://github.com/pingcap/br/issues/980) + TiCDC - 修复 Unified Sorter 中的并发问题并过滤无用的错误消息 [#1678](https://github.com/pingcap/ticdc/pull/1678) - - 修复同步到 MinIO 时,重复创建目录会导致同步中断的问题 [#1672](https://github.com/pingcap/ticdc/pull/1672) - - 默认开启会话变量 `explicit_defaults_for_timestamp`,使得下游 MySQL 5.7 和上游 TiDB 的行为保持一致 [#1659](https://github.com/pingcap/ticdc/pull/1659) - - 修复错误地处理 `io.EOF` 可能导致同步中断的问题 [#1648](https://github.com/pingcap/ticdc/pull/1648) + - 修复同步到 MinIO 时,重复创建目录会导致同步中断的问题 [#1463](https://github.com/pingcap/ticdc/issues/1463) + - 默认开启会话变量 `explicit_defaults_for_timestamp`,使得下游 MySQL 5.7 和上游 TiDB 的行为保持一致 [#1585](https://github.com/pingcap/ticdc/issues/1585) + - 修复错误地处理 `io.EOF` 可能导致同步中断的问题 [#1633](https://github.com/pingcap/ticdc/issues/1633) - 修正 TiCDC 面板中的 TiKV CDC endpoint CPU 统计信息 [#1645](https://github.com/pingcap/ticdc/pull/1645) - - 增加 `defaultBufferChanSize` 来避免某些情况下同步阻塞的问题 [#1632](https://github.com/pingcap/ticdc/pull/1632) + - 增加 `defaultBufferChanSize` 来避免某些情况下同步阻塞的问题 [#1259](https://github.com/pingcap/ticdc/issues/1259) - 修复 Avro 输出中丢失时区信息的问题 [#1712](https://github.com/pingcap/ticdc/pull/1712) - 支持清理 Unified Sorter 过期的文件并禁止共享 `sort-dir` 目录 [#1742](https://github.com/pingcap/ticdc/pull/1742) - - 修复存在大量过期 Region 信息时 KV 客户端可能锁死的问题 [#1801](https://github.com/pingcap/ticdc/pull/1801) + - 修复存在大量过期 Region 信息时 KV 客户端可能锁死的问题 [#1599](https://github.com/pingcap/ticdc/issues/1599) - 修复 `--cert-allowed-cn` 参数中错误的帮助消息 [#1697](https://github.com/pingcap/ticdc/pull/1697) - 修复因更新 `explicit_defaults_for_timestamp` 而需要 MySQL `SUPER` 权限的问题 [#1750](https://github.com/pingcap/ticdc/pull/1750) - 添加 sink 流控以降低内存溢出的风险 [#1840](https://github.com/pingcap/ticdc/pull/1840) From 381f039e1c18277be854f35b2449315f077ca607 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 17 Jun 2021 12:49:34 +0800 Subject: [PATCH 17/60] Apply suggestions from code review --- releases/release-5.1.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index ef5471ef3000..ae06fa3e28e8 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -4,7 +4,7 @@ title: TiDB 5.1 Release Notes # TiDB 5.1 Release Notes -发版日期:2021 年 6 月 18 日 +发版日期:2021 年 6 月 24 日 TiDB 版本:5.1 @@ -13,7 +13,7 @@ TiDB 版本:5.1 - 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 - 支持 MySQL 8 中的动态权限(Dynamic Privileges)配置,实现对某些操作更细粒度的控制。 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 -- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题。 +- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 - 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 ## 兼容性更改 @@ -25,7 +25,7 @@ TiDB 版本:5.1 | `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | | `init_connect` | 新增 | 用于控制初始连接。 | -| `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| `tidb_analyze_version` | 修改 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | | `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 mpp 模式。bool 类型,默认值为 false。 | ### 配置文件参数 @@ -33,16 +33,16 @@ TiDB 版本:5.1 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | performance.committer-concurrency | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。| +| TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制 TiDB 是否在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | performance.committer-concurrency | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 "16" 修改为 "128"。| | TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | -| TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | +| TiKV 配置文件 | `abort-on-panic` | 新增 | 控制 TiKV panic 时是否允许系统调用 `abort()` 退出进程并生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | | TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB”。 | | TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true。 | -| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改。 | -| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2。 | +| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 控制是否为所有 region leader 维护 resolved-ts,默认为 true。 | +| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 设置推进 resolved-ts 的间隔,默认为 1s,支持动态更改。 | +| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 设置初始化 resolved-ts 时扫描锁数据的线程数,默认值为 2。 | ### 其他 @@ -99,7 +99,7 @@ TiDB 版本:5.1 + 新增锁视图(Lock View)(实验特性) [用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) - Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 + Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题。 ### 性能 @@ -128,7 +128,7 @@ TiDB 版本:5.1 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 + TiFlash 存储内存控制 -优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 + 优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 + 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 From f9afef375c771486a8b27a9e78994ee1f5a8fdc8 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Fri, 18 Jun 2021 15:43:22 +0800 Subject: [PATCH 18/60] Update releases/release-5.1.md Co-authored-by: Yuanjia Zhang --- releases/release-5.1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index ae06fa3e28e8..b4efa1ebb37f 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -26,6 +26,7 @@ TiDB 版本:5.1 | `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | | `init_connect` | 新增 | 用于控制初始连接。 | | `tidb_analyze_version` | 修改 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| `tidb_partition_prune_mode` | 新增 | 用户控制是否打开分区表的动态模式。 | | `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 mpp 模式。bool 类型,默认值为 false。 | ### 配置文件参数 From 43fea62064c759e201ba2b82f36d35d623a08eef Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Fri, 18 Jun 2021 15:44:20 +0800 Subject: [PATCH 19/60] Update releases/release-5.1.md Co-authored-by: Zhi Qi <30543181+LittleFall@users.noreply.github.com> --- releases/release-5.1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index b4efa1ebb37f..b6ed309a3b59 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -35,6 +35,7 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制 TiDB 是否在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | performance.enforce-mpp | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 false。 | | TiDB 配置文件 | performance.committer-concurrency | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 "16" 修改为 "128"。| | TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | From 418f7322910c8c102b42e1295f15eeb874abb74c Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 11:20:22 +0800 Subject: [PATCH 20/60] Apply suggestions from code review Co-authored-by: FiatLux --- releases/release-5.1.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-5.1.md b/releases/release-5.1.md index b6ed309a3b59..766c9f5a82c5 100644 --- a/releases/release-5.1.md +++ b/releases/release-5.1.md @@ -51,8 +51,9 @@ TiDB 版本:5.1 - 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 - 请避免在对使用 TiDB-Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 - 请避免在 TiDB 滚动升级时执行 alter table … modify/change column。 -- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则升级到较高版本后将无法再修改系统表的 replica 设置。 +- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则会导致升级失败。 - 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。 [#1795](https://github.com/pingcap/ticdc/pull/1795) +- 当从 v5.0.0-v5.0.2 版本升级到 v5.1 时,需要升级前手动删除 TiKV 的 2 个参数:`rocksdb.ver-defaultcf` 和 `rocksdb.ver-defaultcf.titan`,否则会导致升级失败。 ## 新功能 From 04fd4df9d154c96fd3c3413bf696f6bb63a608d4 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 11:56:40 +0800 Subject: [PATCH 21/60] change 5.1 to 5.1.0 --- TOC.md | 2 +- releases/release-5.1.0.md | 318 ++++++++++++++++++++++++++++++++++++++ releases/release-notes.md | 4 + 3 files changed, 323 insertions(+), 1 deletion(-) create mode 100644 releases/release-5.1.0.md diff --git a/TOC.md b/TOC.md index 0d005ccfa048..c44582d31726 100644 --- a/TOC.md +++ b/TOC.md @@ -539,7 +539,7 @@ + [发布版本汇总](/releases/release-notes.md) + [产品路线图](/roadmap.md) + v5.1 - - [5.1](/releases/release-5.1.md) + - [5.1](/releases/release-5.1.0.md) + v5.0 - [5.0.2](/releases/release-5.0.2.md) - [5.0.1](/releases/release-5.0.1.md) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md new file mode 100644 index 000000000000..d6b4ddfbc81a --- /dev/null +++ b/releases/release-5.1.0.md @@ -0,0 +1,318 @@ +--- +title: TiDB 5.1 Release Notes +--- + +# TiDB 5.1 Release Notes + +发版日期:2021 年 6 月 18 日 + +TiDB 版本:5.1 + +在 5.1 版本中,你可以获得以下关键特性: + +- 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 +- 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 +- 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 +- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题。 +- 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 + +## 兼容性更改 + +### 系统变量 + +| 变量名 | 修改类型 | 描述 | +|:----------|:-----------|:-----------| +| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | +| `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | +| `init_connect` | 新增 | 用于控制初始连接。 | +| `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | + +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +|:----------|:-----------|:-----------|:-----------| +| TiDB 配置文件 | `security.enable-sem` | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | +| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | `performance.committer-concurrency` | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。| +| TiDB 配置文件 | `pessimistic-txn.deadlock-history-capacity` | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | +| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | +| TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | +| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB”。 | +| TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | +| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true。 | +| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改。 | +| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2。 | + +### 其他 + +- 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 +- 请避免在对使用 TiDB Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 +- 请避免在 TiDB 滚动升级时执行 `alter table ... modify column` 或 `alter table ... change column`。 +- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则升级到较高版本后将无法再修改系统表的 replica 设置。 +- 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。[#1795](https://github.com/pingcap/ticdc/pull/1795) + +## 新功能 + +### SQL + +- 新增 MySQL 8 中的公共表表达式 (Common Table Expression),为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 +[用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) + +- 新增 MySQL 8 中的动态权限 (Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 + + 支持的动态权限包括: + + - `BACKUP_ADMIN` + - `RESTORE_ADMIN` + - `ROLE_ADMIN` + - `CONNECTION_ADMIN` + - `SYSTEM_VARIABLES_ADMIN` + + 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。 +[用户文档](/privilege-management.md) + +- 新增安全增强模式 (Security Enhanced Mode) 配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 + +- 全面加强列类型的在线变更能力,支持通过 ALTER TABLE 语句进行列的在线类型修改, 包括但不限于: + + - 从 `VARCHAR` 转换为 `BIGINT` + - `DECIMAL` 精度修改 + - 从 `VARCHAR(10)` 到 `VARCHAR(5)` 的长度压缩 + + [用户文档](/sql-statement-modify-column.md) + +- 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 + + [用户文档](/as-of-timestamp.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + + `AS OF TIMESTAMP` 语法示例如下: + + ```sql + SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; + START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; + SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; + ``` + +### 事务 + ++ 新增锁视图 (Lock View)(实验特性) +[用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) + + Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 + +### 性能 + ++ 数据副本非一致性读(Stale Read) + + 直接读取本地副本数据,降低读取延迟,提升查询性能 +[用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + ++ TiKV 增加独立的 IO 线程(Async IO) + + 通过将写盘操作从计算线程剥离出来,提高 CPU 利用率以及降低由于排队导致的长尾延迟问题 + ++ 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) + +### 稳定性 + ++ TiCDC 复制稳定性问题解决 + + - 改善 TiCDC 内存使用,避免在以下场景出现 OOM + + - 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 + - 大量数据写入造成 TiCDC 出现 OOM 问题 + + - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11](https://github.com/pingcap/ticdc/projects/11) + - 网络不稳定情况下出现的同步中断问题 + - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 + ++ TiFlash 存储内存控制 +优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 + ++ 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) + TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 + [用户文档](tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) + ++ 解决多个扩缩容时的调度稳定性问题 + +### TiDB 数据共享订阅 + +[TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md#row-changed-event) 的[列标志位](/ticdc/ticdc-open-protocol.md#列标志位)功能正式发布,不再是实验特性。列标志位用于以 Bit flags 形式标记列的相关属性。 + +### 遥测 + +TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、失败情况等。 + +若要了解所收集的信息详情及如何禁用该行为,请参见[遥测](https://docs.pingcap.com/zh/tidb/stable/telemetry)文档。 + +## 提升改进 + ++ TiDB + + - 支持 `VITESS_HASH()` 函数 [#23915](https://github.com/pingcap/tidb/pull/23915) + - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) + - 支持 Window Function Pipeline,降低 Window Function 运行过程中 OOM 概率 [#23807](https://github.com/pingcap/tidb/issues/23807) + - 减少 UNION 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) + - 解决多种情况下出现的 Region is Unavailable 问题 [project#62](https://github.com/pingcap/tidb/projects/62) + + - 修复频繁调度情况下可能出现的多个 Region is Unavailable 问题 + - 解决部分高压力写入情况下可能出现的 Region is Unavailable 问题 + + - 当内存中的统计信息缓存是最新的时,避免后台作业频繁读取 `mysql.stats_histograms` 表造成高 CPU 使用率 [#24317](https://github.com/pingcap/tidb/pull/24317) + ++ TiKV + + - 使用 `zstd` 压缩 Region Snapshot,防止大量调度或扩缩容情况下出现各节点之间空间差异比较大的问题 [#10005](https://github.com/tikv/tikv/pull/10005) + - 解决多种情况下的 OOM 问题 [#10183](https://github.com/tikv/tikv/issues/10183) + + - 增加各模块内存使用情况追踪 + - 解决 Raft entries cache 过大导致的 OOM 问题 + - 解决 GC tasks 堆积导致的 OOM 问题 + - 解决一次性从 Raft log 取太多 Raft entries 到内存导致 OOM 问题 + + - 让 Region 分裂更均匀,缓解有写入热点时 Region 大小的增长速度超过分裂速度的问题 [#9785](https://github.com/tikv/tikv/issues/9785) + ++ TiFlash + + - 新增对 `Union All`、`TopN`、`Limit` 函数的支持 + - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join 的支持 + - 优化锁操作以避免 DDL 语句和读数据相互阻塞 + - 优化 TiFlash 对过期数据的清理 + - 新增支持对 `timestamp` 列的查询过滤条件在 TiFlash 存储层进一步过滤 + - 在集群中有大量表时,优化 TiFlash 的启动速度及扩容速度 + - 提升 TiFlash 在未知 CPU 上运行的兼容性 + ++ PD + - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) + - 解决扩缩容过程中出现的多个调度问题 + + - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 + - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 + - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 tikv/pd/pull/3592 tikv/pull/10005 + ++ Tools + + + Backup & Restore (BR) + + - 支持备份和恢复 `mysql` schema 下的系统表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) + - BR 支持 S3 兼容的存储(基于 virtual-host 寻址模式)[#10243](https://github.com/tikv/tikv/pull/10243) + - BR 改进 backupmeta 格式,减少内存占用。[#1171](https://github.com/pingcap/br/pull/1171) + + + TiCDC + + - 删除了一些可能让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) + - 为 TiCDC 扫描的速度添加感知下游处理能力的 (back pressure) 功能 [#10151](https://github.com/tikv/tikv/pull/10151) + - 减少 TiCDC 进行初次扫描的内存使用量 [#10133](https://github.com/tikv/tikv/pull/10133) + - 提升了悲观事务中 TiCDC Old Value 的缓存命中率 [#10089](https://github.com/tikv/tikv/pull/10089) + + + Dumpling + + - 改善 TiDB 4.0 导出逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) + - 修复备份失败却没有错误输出的问题 [#280](https://github.com/pingcap/dumpling/pull/280) + + + Lightning + + - 优化导入逻辑实现导入速度的提升。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) + - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) + - 优化 Local 后端更新 checkpoint 的时机,提升断点重启时的性能 [#1080](https://github.com/pingcap/br/pull/1080) + +## Bug 修复 + ++ TiDB + + - 修复投影消除在投影结果为空时执行结果可能错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) + - 修复列包含 `NULL` 值时查询结果在某些情况下可能错误的问题 [#23891](https://github.com/pingcap/tidb/issues/23891) + - 当有虚拟列参与扫描时不允许生成 MPP 计划 [#23886](https://github.com/pingcap/tidb/issues/23886) + - 修复 Plan Cache 中对 `PointGet` 和 `TableDual` 错误的重复使用 [#23187](https://github.com/pingcap/tidb/issues/23187) [#23144](https://github.com/pingcap/tidb/issues/23144) [#23304](https://github.com/pingcap/tidb/issues/23304) [#23290](https://github.com/pingcap/tidb/issues/23290) + - 修复优化器在为聚簇索引构建 `IndexMerge` 执行计划时出现的错误 [#23906](https://github.com/pingcap/tidb/issues/23906) + - 修复 BIT 类型相关错误的类型推导 [#23832](https://github.com/pingcap/tidb/issues/23832) + - 修复某些优化器 Hint 在 `PointGet` 算子存在时无法生效的问题 [#23570](https://github.com/pingcap/tidb/issues/23570) + - 修复 DDL 遇到错误回滚时可能失败的问题 [#23893](https://github.com/pingcap/tidb/issues/23893) + - 修复二进制字面值常量的索引范围构造错误的问题 [#23672](https://github.com/pingcap/tidb/issues/23672) + - 修复某些情况下 `IN` 语句的执行结果可能错误的问题 [#23889](https://github.com/pingcap/tidb/issues/23889) + - 修复某些字符串函数的返回结果错误的问题 [#23759](https://github.com/pingcap/tidb/issues/23759) + - 执行 `REPLACE` 语句需要用户同时拥有 `INSERT` 和 `DELETE` 权限 [#23909](https://github.com/pingcap/tidb/issues/23909) + - 修复点查时出现的的性能回退 [#24070](https://github.com/pingcap/tidb/pull/24070) + - 修复因错误比较二进制与字节而导致的 `TableDual` 计划错误的问题 [#23846](https://github.com/pingcap/tidb/issues/23846) + - 修复了在某些情况下,使用前缀索引和 Index Join 导致的 panic 的问题 [#24547](https://github.com/pingcap/tidb/issues/24547) [#24716](https://github.com/pingcap/tidb/issues/24716) [#24717](https://github.com/pingcap/tidb/issues/24717) + - 修复了 `point get` 的 prepare plan cache 被事务中的 `point get` 语句不正确使用的问题 [#24741](https://github.com/pingcap/tidb/issues/24741) + - 修复了当排序规则为 `ascii_bin` 或 `latin1_bin` 时,写入错误的前缀索引值的问题 [#24569](https://github.com/pingcap/tidb/issues/24569) + - 修复了正在执行的事务被 GC worker 中断的问题 [#24591](https://github.com/pingcap/tidb/issues/24591)) + - 修复了当 `new-collation` 开启且 `new-row-format` 关闭的情况下,点查在聚簇索引下可能出错的问题 [#24541](https://github.com/pingcap/tidb/issues/24541) + - 为 Shuffle Hash Join 重构分区键的转换功能 [#24490](https://github.com/pingcap/tidb/pull/24490) + - 修复了当查询包含 `HAVING` 子句时,在构建计划的过程中 panic 的问题 [#24045](https://github.com/pingcap/tidb/issues/24045) + - 修复了列裁剪优化导致 `Apply` 算子和 `Join` 算子执行结果错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) + - 修复了从 Async Commit 回退的主锁无法被清除的问题 [#24384](https://github.com/pingcap/tidb/issues/24384) + - 修复了一个统计信息 GC 的问题,该问题可能导致重复的 fm-sketch 记录 [#24357](https://github.com/pingcap/tidb/pull/24357) + - 当悲观锁事务收到 `ErrKeyExists` 错误时,避免不必要的悲观事务回滚 [#23799](https://github.com/pingcap/tidb/issues/23799) + - 修复了当 sql_mode 包含 `ANSI_QUOTES` 时,数值字面值无法被识别的问题 [#25015](https://github.com/pingcap/tidb/pull/25015) + - 禁止如 `INSERT INTO table PARTITION () ... ON DUPLICATE KEY UPDATE` 的语句从 non-listed partitions 读取数据 [#24746](https://github.com/pingcap/tidb/issues/24746) + - 修复了当 SQL 语句包含 `GROUP BY` 以及 `UNION` 时,可能会出现的 `index out of range` 的问题 [#24281](https://github.com/pingcap/tidb/issues/24281) + - 修复了 `CONCAT` 函数错误处理排序规则的问题 [#24296](https://github.com/pingcap/tidb/issues/24296) + - 修复了全局变量 `collation_server` 对新会话无法生效的问题 [#24156](https://github.com/pingcap/tidb/pull/24156) + ++ TiKV + + - 修复了 Coprocessor 未正确处理 `IN` 表达式有符号整数或无符号整数类型数据的问题 [#9821](https://github.com/tikv/tikv/issues/9821) + - 修复了在批量 ingest SST 文件后产生大量空 Region 的问题 [#964](https://github.com/pingcap/br/issues/964) + - 修复了 file dictionary 文件损坏之后 TiKV 无法启动的问题 [#9886](https://github.com/tikv/tikv/issues/9886) + - 修复了由于读取旧值而导致的 TiCDC OOM 问题 [#9996](https://github.com/tikv/tikv/issues/9996) [#9981](https://github.com/tikv/tikv/issues/9981) + - 修复了聚簇主键列在次级索引上的 `latin1_bin` 字符集出现空值的问题 [#24548](https://github.com/pingcap/tidb/issues/24548) + - 新增 `abort-on-panic` 配置,允许 TiKV 在 panic 时生成 core dump 文件。用户仍需正确配置环境以开启 core dump。 [#10216](https://github.com/tikv/tikv/pull/10216) + - 修复了 TiKV 不繁忙时 `point get` 查询性能回退的问题 [#10046](https://github.com/tikv/tikv/issues/10046) + ++ PD + + - 修复在 store 数量多的情况下,切换 PD Leader 慢的问题 [#3697](https://github.com/tikv/pd/issues/3697) + - 修复删除不存在的 evict leader 调度器时出现 panic 的问题 [#3660](https://github.com/tikv/pd/issues/3660) + - 修复 offline peer 在合并完后未更新统计的问题 [#3611](https://github.com/tikv/pd/issues/3611) + ++ TiFlash + + - 修复 `TIME` 类型转换为 `INT` 类型时产生错误结果的问题 + - 修复 `receiver` 可能无法在 10 秒内找到对应任务的问题 + - 修复 `cancelMPPQuery` 中可能存在无效迭代器的问题 + - 修复 `bitwise` 算子和 TiDB 行为不一致的问题 + - 修复当使用 `prefix key` 时出现范围重叠报错的问题 + - 修复字符串转换为 `INT` 时产生错误结果的问题 + - 修复连续快速写入可能导致 TiFlash 内存溢出的问题 + - 修复 Table GC 时会引发空指针的问题 + - 修复向已被删除的表写数据时 TiFlash 进程崩溃的问题 + - 修复当使用 BR 恢复数据时 TiFlash 进程可能崩溃的问题 + - 修复并发复制共享 Delta 索引导致结果错误的问题 + - 修复 TiFlash 在 Compaction Filter 特性开启时可能崩溃的问题 + - 修复了从 Async Commit 回退的锁无法被 TiFlash 清除的问题 + - 修复当 `TIMEZONE` 类型的转换结果包含 `TIMESTAMP` 类型时返回错误结果的问题 + - 修复 TiFlash 在 Segment Split 期间异常退出的问题 + ++ Tools + + + TiDB Lightning + + - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) + - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) + + - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) + - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + + + Backup & Restore (BR) + + - 修复备份期间少数 TiKV 节点不可用导致的备份中断问题 [#980](https://github.com/pingcap/br/issues/980) + + + TiCDC + + - 修复 Unified Sorter 中的并发问题并过滤无用的错误消息 [#1678](https://github.com/pingcap/ticdc/pull/1678) + - 修复同步到 MinIO 时,重复创建目录会导致同步中断的问题 [#1463](https://github.com/pingcap/ticdc/issues/1463) + - 默认开启会话变量 `explicit_defaults_for_timestamp`,使得下游 MySQL 5.7 和上游 TiDB 的行为保持一致 [#1585](https://github.com/pingcap/ticdc/issues/1585) + - 修复错误地处理 `io.EOF` 可能导致同步中断的问题 [#1633](https://github.com/pingcap/ticdc/issues/1633) + - 修正 TiCDC 面板中的 TiKV CDC endpoint CPU 统计信息 [#1645](https://github.com/pingcap/ticdc/pull/1645) + - 增加 `defaultBufferChanSize` 来避免某些情况下同步阻塞的问题 [#1259](https://github.com/pingcap/ticdc/issues/1259) + - 修复 Avro 输出中丢失时区信息的问题 [#1712](https://github.com/pingcap/ticdc/pull/1712) + - 支持清理 Unified Sorter 过期的文件并禁止共享 `sort-dir` 目录 [#1742](https://github.com/pingcap/ticdc/pull/1742) + - 修复存在大量过期 Region 信息时 KV 客户端可能锁死的问题 [#1599](https://github.com/pingcap/ticdc/issues/1599) + - 修复 `--cert-allowed-cn` 参数中错误的帮助消息 [#1697](https://github.com/pingcap/ticdc/pull/1697) + - 修复因更新 `explicit_defaults_for_timestamp` 而需要 MySQL `SUPER` 权限的问题 [#1750](https://github.com/pingcap/ticdc/pull/1750) + - 添加 sink 流控以降低内存溢出的风险 [#1840](https://github.com/pingcap/ticdc/pull/1840) + - 修复调度数据表时可能发生的同步终止问题 [#1828](https://github.com/pingcap/ticdc/pull/1828) + - 修复 TiCDC changefeed 断点卡住导致 TiKV GC safe point 不推进的问题 [#1759](https://github.com/pingcap/ticdc/pull/1759) diff --git a/releases/release-notes.md b/releases/release-notes.md index dea45e2dd863..95f759e7ff72 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -6,6 +6,10 @@ title: TiDB 版本发布历史 TiDB 历史版本发布声明如下: +## 5.1 + +- [5.1.0](/releases/release-5.1.0.md) + ## 5.0 - [5.0.2](/releases/release-5.0.2.md) From e22fc1fd94079da66f0af29dbb0344e079889734 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 11:58:00 +0800 Subject: [PATCH 22/60] Update TOC.md --- TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index c44582d31726..fd9845226538 100644 --- a/TOC.md +++ b/TOC.md @@ -539,7 +539,7 @@ + [发布版本汇总](/releases/release-notes.md) + [产品路线图](/roadmap.md) + v5.1 - - [5.1](/releases/release-5.1.0.md) + - [5.1.0](/releases/release-5.1.0.md) + v5.0 - [5.0.2](/releases/release-5.0.2.md) - [5.0.1](/releases/release-5.0.1.md) From 218351fa535eab7eddcdac82a3a234141222723d Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 12:37:31 +0800 Subject: [PATCH 23/60] Update TOC.md --- TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index fd9845226538..c743f8bd7515 100644 --- a/TOC.md +++ b/TOC.md @@ -7,7 +7,7 @@ + 关于 TiDB + [TiDB 简介](/overview.md) - + [TiDB 5.1 Release Notes](/releases/release-5.1.md) + + [TiDB 5.1 Release Notes](/releases/release-5.1.0.md) + [基本功能](/basic-features.md) + [实验特性](/experimental-features.md) + 性能测试报告 From 13b10250d541c225287781040737a3e3ca8be367 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 12:40:22 +0800 Subject: [PATCH 24/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index d6b4ddfbc81a..a822f63032c6 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -4,7 +4,7 @@ title: TiDB 5.1 Release Notes # TiDB 5.1 Release Notes -发版日期:2021 年 6 月 18 日 +发版日期:2021 年 6 月 24 日 TiDB 版本:5.1 From 14f86b18755848843717c60e3feea32c1799166b Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 17:06:03 +0800 Subject: [PATCH 25/60] Delete release-5.1.md --- releases/release-5.1.md | 321 ---------------------------------------- 1 file changed, 321 deletions(-) delete mode 100644 releases/release-5.1.md diff --git a/releases/release-5.1.md b/releases/release-5.1.md deleted file mode 100644 index 766c9f5a82c5..000000000000 --- a/releases/release-5.1.md +++ /dev/null @@ -1,321 +0,0 @@ ---- -title: TiDB 5.1 Release Notes ---- - -# TiDB 5.1 Release Notes - -发版日期:2021 年 6 月 24 日 - -TiDB 版本:5.1 - -在 5.1 版本中,你可以获得以下关键特性: - -- 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 -- 支持 MySQL 8 中的动态权限(Dynamic Privileges)配置,实现对某些操作更细粒度的控制。 -- 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 -- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 -- 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 - -## 兼容性更改 - -### 系统变量 - -| 变量名 | 修改类型 | 描述 | -|:----------|:-----------|:-----------| -| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | -| `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | -| `init_connect` | 新增 | 用于控制初始连接。 | -| `tidb_analyze_version` | 修改 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | -| `tidb_partition_prune_mode` | 新增 | 用户控制是否打开分区表的动态模式。 | -| `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 mpp 模式。bool 类型,默认值为 false。 | - -### 配置文件参数 - -| 配置文件 | 配置项 | 修改类型 | 描述 | -|:----------|:-----------|:-----------|:-----------| -| TiDB 配置文件 | security.enable-sem | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | performance.tcp-no-delay | 新增 | 控制 TiDB 是否在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | performance.enforce-mpp | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 false。 | -| TiDB 配置文件 | performance.committer-concurrency | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 "16" 修改为 "128"。| -| TiDB 配置文件 | pessimistic-txn.deadlock-history-capacity | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | -| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | -| TiKV 配置文件 | `abort-on-panic` | 新增 | 控制 TiKV panic 时是否允许系统调用 `abort()` 退出进程并生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | -| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB”。 | -| TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 控制是否为所有 region leader 维护 resolved-ts,默认为 true。 | -| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 设置推进 resolved-ts 的间隔,默认为 1s,支持动态更改。 | -| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 设置初始化 resolved-ts 时扫描锁数据的线程数,默认值为 2。 | - -### 其他 - -- 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 -- 请避免在对使用 TiDB-Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 -- 请避免在 TiDB 滚动升级时执行 alter table … modify/change column。 -- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则会导致升级失败。 -- 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。 [#1795](https://github.com/pingcap/ticdc/pull/1795) -- 当从 v5.0.0-v5.0.2 版本升级到 v5.1 时,需要升级前手动删除 TiKV 的 2 个参数:`rocksdb.ver-defaultcf` 和 `rocksdb.ver-defaultcf.titan`,否则会导致升级失败。 - -## 新功能 - -### SQL - -- 新增 MySQL 8 中的公共表表达式(Common Table Expression),为 TiDB 带来递归/非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 -[用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) - -- 新增 MySQL 8 中的动态权限(Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 - - 支持的动态权限包括: - - - `BACKUP_ADMIN` - - `RESTORE_ADMIN` - - `ROLE_ADMIN` - - `CONNECTION_ADMIN` - - `SYSTEM_VARIABLES_ADMIN` - - 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。 -[用户文档](/privilege-management.md) - -- 新增安全增强模式(Security Enhanced Mode)配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 - -- 全面加强列类型的在线变更能力,支持通过 ALTER TABLE 语句进行列的在线类型修改, 包括但不限于: - - - 从 varchar 转换为 bigint - - decimal 精度修改 - - 从 varchar(10) 到 varchar(5) 的长度压缩 - - [用户文档](/sql-statement-modify-column.md) - -- 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 - - [用户文档](/as-of-timestamp.md),[#21094](https://github.com/pingcap/tidb/issues/21094) - - AS OF TIMESTAMP 语法示例如下: - - ```sql - SELECT * FROM t AS OF TIMESTAMP '2020-09-06 00:00:00'; - START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; - SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; - ``` - -### 事务 - -+ 新增锁视图(Lock View)(实验特性) -[用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) - - Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题。 - -### 性能 - -+ 数据副本非一致性读(Stale Read) - - 直接读取本地副本数据,降低读取延迟,提升查询性能 -[用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) - -+ TiKV 增加独立的 IO 线程(Async IO) - - 通过将写盘操作从计算线程剥离出来,提高 CPU 利用率以及降低由于排队导致的长尾延迟问题 - -+ 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) - -### 稳定性 - -+ TiCDC 复制稳定性问题解决 - - - 改善 TiCDC 内存使用,避免在以下场景出现 OOM - - - 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 - - 大量数据写入造成 TiCDC 出现 OOM 问题 - - - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11](https://github.com/pingcap/ticdc/projects/11) - - 网络不稳定情况下出现的同步中断问题 - - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 - -+ TiFlash 存储内存控制 - 优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 - -+ 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) - TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 - [用户文档](tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) - -+ 解决多个扩缩容时的调度稳定性问题 - -### TiDB 数据共享订阅 - -[TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md#row-changed-event) 的 [列标志位](/ticdc/ticdc-open-protocol.md#列标志位) 功能正式发布,不再是实验特性。列标志位用于以 Bit flags 形式标记列的相关属性。 - -### 遥测 - -TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、失败情况等。 - -若要了解所收集的信息详情及如何禁用该行为,请参见[遥测](https://docs.pingcap.com/zh/tidb/stable/telemetry)文档。 - -## 提升改进 - -+ TiDB - - - 支持 `VITESS_HASH()` 函数 [#23915](https://github.com/pingcap/tidb/pull/23915) - - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) - - 支持 Window Function Pipeline,降低 Window Function 运行过程中 OOM 概率 [#23807](https://github.com/pingcap/tidb/issues/23807) - - 减少 UNION 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) - - 解决多种情况下出现的 Region is Unavailable 问题 [project#62](https://github.com/pingcap/tidb/projects/62) - - - 修复频繁调度情况下可能出现的多个 Region is Unavailable 问题 - - 解决部分高压力写入情况下可能出现的 Region is Unavailable 问题 - - - 当内存中的统计信息缓存是最新的时,避免后台作业频繁读取 `mysql.stats_histograms` 表造成高 CPU 使用率 [#24317](https://github.com/pingcap/tidb/pull/24317) - -+ TiKV - - - 使用 `zstd` 压缩 Region Snapshot,防止大量调度或扩缩容情况下出现各节点之间空间差异比较大的问题 [#10005](https://github.com/tikv/tikv/pull/10005) - - 解决多种情况下的 OOM 问题 [#10183](https://github.com/tikv/tikv/issues/10183) - - - 增加各模块内存使用情况追踪 - - 解决 raft entries cache 过大导致的 OOM 问题 - - 解决 gc tasks 堆积导致的 OOM 问题 - - 解决一次性从 raft log 取太多 raft entries 到内存导致 OOM 问题 - - - 让 Region 分裂更均匀,缓解有写入热点时 Region 大小的增长速度超过分裂速度的问题 [#9785](https://github.com/tikv/tikv/issues/9785) - -+ TiFlash - - - 新增对 Union All, TopN, Limit 函数的支持 - - 新增 MPP 模式下对笛卡尔积 left outer join 和 semi anti join 的支持 - - 优化锁操作以避免 DDL 语句和读数据相互阻塞 - - 优化 TiFlash 对过期数据的清理 - - 新增支持对 timestamp 列的查询过滤条件在 TiFlash 存储层进一步过滤 - - 在集群中有大量表时,优化 TiFlash 的启动速度及扩容速度 - - 提升 TiFlash 在未知 CPU 上运行的兼容性 - -+ PD - - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) - - 解决扩缩容过程中出现的多个调度问题 - - - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 - - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 - - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 tikv/pd/pull/3592 tikv/pull/10005 - -+ Tools - - + Backup & Restore (BR) - - - 支持备份和恢复 `mysql` schema 下的系统表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) - - BR 支持 S3 兼容的存储(基于 virtual-host 寻址模式)[#10243](https://github.com/tikv/tikv/pull/10243) - - BR 改进 backupmeta 格式,减少内存占用。[#1171](https://github.com/pingcap/br/pull/1171) - - + TiCDC - - - 删除了一些可能让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) - - 为 TiCDC 扫描的速度添加感知下游处理能力的 (back pressure) 功能 [#10151](https://github.com/tikv/tikv/pull/10151) - - 减少 TiCDC 进行初次扫描的内存使用量 [#10133](https://github.com/tikv/tikv/pull/10133) - - 提升了悲观事务中 TiCDC Old Value 的缓存命中率 [#10089](https://github.com/tikv/tikv/pull/10089) - - + Dumpling - - - 改善 TiDB 4.0 导出逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) - - 修复备份失败却没有错误输出的问题 [#280](https://github.com/pingcap/dumpling/pull/280) - - + Lightning - - - 优化导入逻辑实现导入速度的提升。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) - - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) - - 优化 Local 后端更新 checkpoint 的时机,提升断点重启时的性能 [#1080](https://github.com/pingcap/br/pull/1080) - -## Bug 修复 - -+ TiDB - - - 修复投影消除在投影结果为空时执行结果可能错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) - - 修复列包含 `NULL` 值时查询结果在某些情况下可能错误的问题 [#23891](https://github.com/pingcap/tidb/issues/23891) - - 当有虚拟列参与扫描时不允许生成 MPP 计划 [#23886](https://github.com/pingcap/tidb/issues/23886) - - 修复 Plan Cache 中对 `PointGet` 和 `TableDual` 错误的重复使用 [#23187](https://github.com/pingcap/tidb/issues/23187) [#23144](https://github.com/pingcap/tidb/issues/23144) [#23304](https://github.com/pingcap/tidb/issues/23304) [#23290](https://github.com/pingcap/tidb/issues/23290) - - 修复优化器在为聚簇索引构建 `IndexMerge` 执行计划时出现的错误 [#23906](https://github.com/pingcap/tidb/issues/23906) - - 修复 BIT 类型相关错误的类型推导 [#23832](https://github.com/pingcap/tidb/issues/23832) - - 修复某些优化器 Hint 在 `PointGet` 算子存在时无法生效的问题 [#23570](https://github.com/pingcap/tidb/issues/23570) - - 修复 DDL 遇到错误回滚时可能失败的问题 [#23893](https://github.com/pingcap/tidb/issues/23893) - - 修复二进制字面值常量的索引范围构造错误的问题 [#23672](https://github.com/pingcap/tidb/issues/23672) - - 修复某些情况下 `IN` 语句的执行结果可能错误的问题 [#23889](https://github.com/pingcap/tidb/issues/23889) - - 修复某些字符串函数的返回结果错误的问题 [#23759](https://github.com/pingcap/tidb/issues/23759) - - 执行 `REPLACE` 语句需要用户同时拥有 `INSERT` 和 `DELETE` 权限 [#23909](https://github.com/pingcap/tidb/issues/23909) - - 修复点查时出现的的性能回退 [#24070](https://github.com/pingcap/tidb/pull/24070) - - 修复因错误比较二进制与字节而导致的 `TableDual` 计划错误的问题 [#23846](https://github.com/pingcap/tidb/issues/23846) - - 修复了在某些情况下,使用前缀索引和 Index Join 导致的 panic 的问题 [#24547](https://github.com/pingcap/tidb/issues/24547) [#24716](https://github.com/pingcap/tidb/issues/24716) [#24717](https://github.com/pingcap/tidb/issues/24717) - - 修复了 `point get` 的 prepare plan cache 被事务中的 `point get` 语句不正确使用的问题 [#24741](https://github.com/pingcap/tidb/issues/24741) - - 修复了当排序规则为 `ascii_bin` 或 `latin1_bin` 时,写入错误的前缀索引值的问题 [#24569](https://github.com/pingcap/tidb/issues/24569) - - 修复了正在执行的事务被 GC worker 中断的问题 [#24591](https://github.com/pingcap/tidb/issues/24591)) - - 修复了当 `new-collation` 开启且 `new-row-format` 关闭的情况下,点查在聚簇索引下可能出错的问题 [#24541](https://github.com/pingcap/tidb/issues/24541) - - 为 Shuffle Hash Join 重构分区键的转换功能 [#24490](https://github.com/pingcap/tidb/pull/24490) - - 修复了当查询包含 `HAVING` 子句时,在构建计划的过程中 panic 的问题 [#24045](https://github.com/pingcap/tidb/issues/24045) - - 修复了列裁剪优化导致 `Apply` 算子和 `Join` 算子执行结果错误的问题 [#23887](https://github.com/pingcap/tidb/issues/23887) - - 修复了从 Async Commit 回退的主锁无法被清除的问题 [#24384](https://github.com/pingcap/tidb/issues/24384) - - 修复了一个统计信息 GC 的问题,该问题可能导致重复的 fm-sketch 记录 [#24357](https://github.com/pingcap/tidb/pull/24357) - - 当悲观锁事务收到 `ErrKeyExists` 错误时,避免不必要的悲观事务回滚 [#23799](https://github.com/pingcap/tidb/issues/23799) - - 修复了当 sql_mode 包含 `ANSI_QUOTES` 时,数值字面值无法被识别的问题 [#25015](https://github.com/pingcap/tidb/pull/25015) - - 禁止如 `INSERT INTO table PARTITION () ... ON DUPLICATE KEY UPDATE` 的语句从 non-listed partitions 读取数据 [#24746](https://github.com/pingcap/tidb/issues/24746) - - 修复了当 SQL 语句包含 `GROUP BY` 以及 `UNION` 时,可能会出现的 `index out of range` 的问题 [#24281](https://github.com/pingcap/tidb/issues/24281) - - 修复了 `CONCAT` 函数错误处理排序规则的问题 [#24296](https://github.com/pingcap/tidb/issues/24296) - - 修复了全局变量 `collation_server` 对新会话无法生效的问题 [#24156](https://github.com/pingcap/tidb/pull/24156) - -+ TiKV - - - 修复了 Coprocessor 未正确处理 `IN` 表达式有符号整数或无符号整数类型数据的问题 [#9821](https://github.com/tikv/tikv/issues/9821) - - 修复了在批量 ingest SST 文件后产生大量空 Region 的问题 [#964](https://github.com/pingcap/br/issues/964) - - 修复了 file dictionary 文件损坏之后 TiKV 无法启动的问题 [#9886](https://github.com/tikv/tikv/issues/9886) - - 修复了由于读取旧值而导致的 TiCDC OOM 问题 [#9996](https://github.com/tikv/tikv/issues/9996) [#9981](https://github.com/tikv/tikv/issues/9981) - - 修复了聚簇主键列在次级索引上的 `latin1_bin` 字符集出现空值的问题 [#24548](https://github.com/pingcap/tidb/issues/24548) - - 新增 `abort-on-panic` 配置,允许 TiKV 在 panic 时生成 core dump 文件。用户仍需正确配置环境以开启 core dump。 [#10216](https://github.com/tikv/tikv/pull/10216) - - 修复了 TiKV 不繁忙时 `point get` 查询性能回退的问题 [#10046](https://github.com/tikv/tikv/issues/10046) - -+ PD - - - 修复在 store 数量多的情况下,切换 PD Leader 慢的问题 [#3697](https://github.com/tikv/pd/issues/3697) - - 修复删除不存在的 evict leader 调度器时出现 panic 的问题 [#3660](https://github.com/tikv/pd/issues/3660) - - 修复 offline peer 在合并完后未更新统计的问题 [#3611](https://github.com/tikv/pd/issues/3611) - -+ TiFlash - - - 修复 `TIME` 类型转换为 `INT` 类型时产生错误结果的问题 - - 修复 `receiver` 可能无法在 10 秒内找到对应任务的问题 - - 修复 `cancelMPPQuery` 中可能存在无效迭代器的问题 - - 修复 `bitwise` 算子和 TiDB 行为不一致的问题 - - 修复当使用 `prefix key` 时出现范围重叠报错的问题 - - 修复字符串转换为 `INT` 时产生错误结果的问题 - - 修复连续快速写入可能导致 TiFlash 内存溢出的问题 - - 修复 Table GC 时会引发空指针的问题 - - 修复向已被删除的表写数据时 TiFlash 进程崩溃的问题 - - 修复当使用 BR 恢复数据时 TiFlash 进程可能崩溃的问题 - - 修复并发复制共享 Delta 索引导致结果错误的问题 - - 修复 TiFlash 在 Compaction Filter 特性开启时可能崩溃的问题 - - 修复了从 Async Commit 回退的锁无法被 TiFlash 清除的问题 - - 修复当 `TIMEZONE` 类型的转换结果包含 `TIMESTAMP` 类型时返回错误结果的问题 - - 修复 TiFlash 在 Segment Split 期间异常退出的问题 - -+ Tools - - + TiDB Lightning - - - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) - - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) - - - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) - - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) - - + Backup & Restore (BR) - - - 修复备份期间少数 TiKV 节点不可用导致的备份中断问题 [#980](https://github.com/pingcap/br/issues/980) - - + TiCDC - - - 修复 Unified Sorter 中的并发问题并过滤无用的错误消息 [#1678](https://github.com/pingcap/ticdc/pull/1678) - - 修复同步到 MinIO 时,重复创建目录会导致同步中断的问题 [#1463](https://github.com/pingcap/ticdc/issues/1463) - - 默认开启会话变量 `explicit_defaults_for_timestamp`,使得下游 MySQL 5.7 和上游 TiDB 的行为保持一致 [#1585](https://github.com/pingcap/ticdc/issues/1585) - - 修复错误地处理 `io.EOF` 可能导致同步中断的问题 [#1633](https://github.com/pingcap/ticdc/issues/1633) - - 修正 TiCDC 面板中的 TiKV CDC endpoint CPU 统计信息 [#1645](https://github.com/pingcap/ticdc/pull/1645) - - 增加 `defaultBufferChanSize` 来避免某些情况下同步阻塞的问题 [#1259](https://github.com/pingcap/ticdc/issues/1259) - - 修复 Avro 输出中丢失时区信息的问题 [#1712](https://github.com/pingcap/ticdc/pull/1712) - - 支持清理 Unified Sorter 过期的文件并禁止共享 `sort-dir` 目录 [#1742](https://github.com/pingcap/ticdc/pull/1742) - - 修复存在大量过期 Region 信息时 KV 客户端可能锁死的问题 [#1599](https://github.com/pingcap/ticdc/issues/1599) - - 修复 `--cert-allowed-cn` 参数中错误的帮助消息 [#1697](https://github.com/pingcap/ticdc/pull/1697) - - 修复因更新 `explicit_defaults_for_timestamp` 而需要 MySQL `SUPER` 权限的问题 [#1750](https://github.com/pingcap/ticdc/pull/1750) - - 添加 sink 流控以降低内存溢出的风险 [#1840](https://github.com/pingcap/ticdc/pull/1840) - - 修复调度数据表时可能发生的同步终止问题 [#1828](https://github.com/pingcap/ticdc/pull/1828) - - 修复 TiCDC changefeed 断点卡住导致 TiKV GC safe point 不推进的问题 [#1759](https://github.com/pingcap/ticdc/pull/1759) From ee1440eb440cf232ffacf01995cf8aabdaea8877 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 18:02:03 +0800 Subject: [PATCH 26/60] Apply suggestions from code review Co-authored-by: Ian --- releases/release-5.1.0.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index a822f63032c6..df0d6c2bffb6 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -124,6 +124,7 @@ TiDB 版本:5.1 - 大量数据写入造成 TiCDC 出现 OOM 问题 - 改善 TiCDC 同步中断问题,缓解以下场景的问题 [project#11](https://github.com/pingcap/ticdc/projects/11) + - 网络不稳定情况下出现的同步中断问题 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 @@ -195,13 +196,13 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + Backup & Restore (BR) - - 支持备份和恢复 `mysql` schema 下的系统表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) + - 支持备份和恢复 `mysql` schema 下的用户数据表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) - BR 支持 S3 兼容的存储(基于 virtual-host 寻址模式)[#10243](https://github.com/tikv/tikv/pull/10243) - BR 改进 backupmeta 格式,减少内存占用。[#1171](https://github.com/pingcap/br/pull/1171) + TiCDC - - 删除了一些可能让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) + - 改进一些让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) - 为 TiCDC 扫描的速度添加感知下游处理能力的 (back pressure) 功能 [#10151](https://github.com/tikv/tikv/pull/10151) - 减少 TiCDC 进行初次扫描的内存使用量 [#10133](https://github.com/tikv/tikv/pull/10133) - 提升了悲观事务中 TiCDC Old Value 的缓存命中率 [#10089](https://github.com/tikv/tikv/pull/10089) From 6058a7ca2beb17d025a806bf3d9c501f6a59ebaa Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 18:02:49 +0800 Subject: [PATCH 27/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index df0d6c2bffb6..8c7cf202444d 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -137,10 +137,6 @@ TiDB 版本:5.1 + 解决多个扩缩容时的调度稳定性问题 -### TiDB 数据共享订阅 - -[TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md#row-changed-event) 的[列标志位](/ticdc/ticdc-open-protocol.md#列标志位)功能正式发布,不再是实验特性。列标志位用于以 Bit flags 形式标记列的相关属性。 - ### 遥测 TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、失败情况等。 From 81a383f5e5b1123741695a8e9f95029550e97e33 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 18:03:51 +0800 Subject: [PATCH 28/60] Apply suggestions from code review Co-authored-by: Ian --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 8c7cf202444d..bb82c5bc806a 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -210,7 +210,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + Lightning - - 优化导入逻辑实现导入速度的提升。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) + - 提升导入速度。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) - 优化 Local 后端更新 checkpoint 的时机,提升断点重启时的性能 [#1080](https://github.com/pingcap/br/pull/1080) From 5ac8cd6a5335ccd518456c8ab6baca4f75511482 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 18:18:24 +0800 Subject: [PATCH 29/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index bb82c5bc806a..353dacab40bf 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -198,7 +198,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + TiCDC - - 改进一些让用户困惑的无用日志信息 [#1759](https://github.com/pingcap/ticdc/pull/1759) + - 改进了部分日志信息的描述使其更加明确清晰,对诊断问题更有帮助 [#1759](https://github.com/pingcap/ticdc/pull/1759) - 为 TiCDC 扫描的速度添加感知下游处理能力的 (back pressure) 功能 [#10151](https://github.com/tikv/tikv/pull/10151) - 减少 TiCDC 进行初次扫描的内存使用量 [#10133](https://github.com/tikv/tikv/pull/10133) - 提升了悲观事务中 TiCDC Old Value 的缓存命中率 [#10089](https://github.com/tikv/tikv/pull/10089) From 9de6a5c2e13cd153ba7c481934d530af8f4296f9 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 18:25:36 +0800 Subject: [PATCH 30/60] Apply suggestions from code review Co-authored-by: Ian --- releases/release-5.1.0.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 353dacab40bf..f513e01fc7a2 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -108,10 +108,6 @@ TiDB 版本:5.1 直接读取本地副本数据,降低读取延迟,提升查询性能 [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) -+ TiKV 增加独立的 IO 线程(Async IO) - - 通过将写盘操作从计算线程剥离出来,提高 CPU 利用率以及降低由于排队导致的长尾延迟问题 - + 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) ### 稳定性 @@ -205,7 +201,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + Dumpling - - 改善 TiDB 4.0 导出逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) + - 改善从 TiDB 4.0 导出的逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) - 修复备份失败却没有错误输出的问题 [#280](https://github.com/pingcap/dumpling/pull/280) + Lightning From e7498902296c8988b412ab460bf1eed4bf4a6867 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 19:24:38 +0800 Subject: [PATCH 31/60] refine format and wording --- releases/release-5.1.0.md | 62 +++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index f513e01fc7a2..34430c767dc2 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -33,30 +33,30 @@ TiDB 版本:5.1 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | `security.enable-sem` | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no dela。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | `performance.committer-concurrency` | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 16 修改为 128。| +| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no delay。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | `performance.committer-concurrency` | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | `pessimistic-txn.deadlock-history-capacity` | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | -| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 “64GB” 修改为 “192GB”。 | +| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | | TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 region leader 维护 resolved-ts, 默认为 true。 | -| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 resolved-ts 的间隔,默认为 1s, 支持动态更改。 | -| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 resolved-ts 时扫锁的线程数,默认为 2。 | +| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | +| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 `resolved-ts` 的间隔,默认为 "1s",支持动态更改。 | +| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 `resolved-ts` 时扫锁的线程数,默认值为 `2`。 | ### 其他 - 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 - 请避免在对使用 TiDB Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 - 请避免在 TiDB 滚动升级时执行 `alter table ... modify column` 或 `alter table ... change column`。 -- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则升级到较高版本后将无法再修改系统表的 replica 设置。 +- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的副本。在集群升级前,需要清除相关系统表的副本,否则升级到较高版本后将无法再修改系统表的副本设置。 - 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。[#1795](https://github.com/pingcap/ticdc/pull/1795) ## 新功能 ### SQL -- 新增 MySQL 8 中的公共表表达式 (Common Table Expression),为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 +- 新增 MySQL 8 中的公共表表达式 (Common Table Expression),为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 [用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) - 新增 MySQL 8 中的动态权限 (Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 @@ -69,12 +69,11 @@ TiDB 版本:5.1 - `CONNECTION_ADMIN` - `SYSTEM_VARIABLES_ADMIN` - 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。 -[用户文档](/privilege-management.md) + 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。[用户文档](/privilege-management.md) - 新增安全增强模式 (Security Enhanced Mode) 配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 -- 全面加强列类型的在线变更能力,支持通过 ALTER TABLE 语句进行列的在线类型修改, 包括但不限于: +- 全面加强列类型的在线变更能力,支持通过 `ALTER TABLE` 语句进行列的在线类型修改, 包括但不限于: - 从 `VARCHAR` 转换为 `BIGINT` - `DECIMAL` 精度修改 @@ -82,7 +81,7 @@ TiDB 版本:5.1 [用户文档](/sql-statement-modify-column.md) -- 引入新的语法 AS OF TIMESTAMP,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 +- 引入新的语法 `AS OF TIMESTAMP`,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 [用户文档](/as-of-timestamp.md),[#21094](https://github.com/pingcap/tidb/issues/21094) @@ -97,16 +96,18 @@ TiDB 版本:5.1 ### 事务 + 新增锁视图 (Lock View)(实验特性) -[用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) + + [用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 ### 性能 -+ 数据副本非一致性读(Stale Read) ++ 数据副本非一致性读 (Stale Read) 直接读取本地副本数据,降低读取延迟,提升查询性能 -[用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + + [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) @@ -125,10 +126,13 @@ TiDB 版本:5.1 - 在部分 TiKV/PD/TiCDC 节点宕机情况下出现的同步中断问题 + TiFlash 存储内存控制 -优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 -+ 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter) - TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 “0MB”,建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 + 优化了 Region 快照生成的速度和内存使用量,减少了 OOM 的可能性 + ++ 新增 TiKV 后台任务写入限制 (TiKV Write Rate Limiter) + + TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 "0MB",建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 + [用户文档](tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) + 解决多个扩缩容时的调度稳定性问题 @@ -146,11 +150,11 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 支持 `VITESS_HASH()` 函数 [#23915](https://github.com/pingcap/tidb/pull/23915) - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) - 支持 Window Function Pipeline,降低 Window Function 运行过程中 OOM 概率 [#23807](https://github.com/pingcap/tidb/issues/23807) - - 减少 UNION 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) - - 解决多种情况下出现的 Region is Unavailable 问题 [project#62](https://github.com/pingcap/tidb/projects/62) + - 减少 `UNION` 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) + - 解决多种情况下出现的 `Region is Unavailable` 问题 [project#62](https://github.com/pingcap/tidb/projects/62) - - 修复频繁调度情况下可能出现的多个 Region is Unavailable 问题 - - 解决部分高压力写入情况下可能出现的 Region is Unavailable 问题 + - 修复频繁调度情况下可能出现的多个 `Region is Unavailable` 问题 + - 解决部分高压力写入情况下可能出现的 `Region is Unavailable` 问题 - 当内存中的统计信息缓存是最新的时,避免后台作业频繁读取 `mysql.stats_histograms` 表造成高 CPU 使用率 [#24317](https://github.com/pingcap/tidb/pull/24317) @@ -180,9 +184,9 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 避免在添加 `scatter region` 调度器后出现的非预期统计行为 [#3602](https://github.com/pingcap/pd/pull/3602) - 解决扩缩容过程中出现的多个调度问题 - - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:pd/issues/3563 ,tikv/pull/10059 ,tikv/pull/10001 - - 解决由于流量变化引带来的心跳压力引起的调度慢问题 pd/pull/3693 pd/pull/3739 /pd/pull/3728 pd/pull/3751 - - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 tikv/pd/pull/3592 tikv/pull/10005 + - 优化副本 snapshot 生成流程,解决扩缩容调度慢问题:[#3563](https://github.com/tikv/pd/issues/3563) [#10059](https://github.com/tikv/tikv/pull/10059) [#10001](https://github.com/tikv/tikv/pull/10001) + - 解决由于流量变化引带来的心跳压力引起的调度慢问题 [#3693](https://github.com/tikv/pd/issues/3693) [#3739](https://github.com/tikv/pd/issues/3739) [#3728](https://github.com/tikv/pd/issues/3728) [#3751](https://github.com/tikv/pd/issues/3751) + - 减少大集群由于调度产生的空间差异问题,并优化调度公式防止由于压缩率差异大引发的类似异构空间集群的爆盘问题 [#3592](https://github.com/tikv/pd/issues/3592) [#10005](https://github.com/tikv/tikv/pull/10005) + Tools @@ -190,7 +194,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 支持备份和恢复 `mysql` schema 下的用户数据表 [#1143](https://github.com/pingcap/br/pull/1143) [#1078](https://github.com/pingcap/br/pull/1078) - BR 支持 S3 兼容的存储(基于 virtual-host 寻址模式)[#10243](https://github.com/tikv/tikv/pull/10243) - - BR 改进 backupmeta 格式,减少内存占用。[#1171](https://github.com/pingcap/br/pull/1171) + - BR 改进 backupmeta 格式,减少内存占用 [#1171](https://github.com/pingcap/br/pull/1171) + TiCDC @@ -201,12 +205,12 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 + Dumpling - - 改善从 TiDB 4.0 导出的逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) + - 改善从 TiDB v4.0 导出数据的逻辑避免 TiDB OOM [#273](https://github.com/pingcap/dumpling/pull/273) - 修复备份失败却没有错误输出的问题 [#280](https://github.com/pingcap/dumpling/pull/280) - + Lightning + + TiDB Lightning - - 提升导入速度。优化结果显示,导入 tpcc 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) + - 提升导入速度。优化结果显示,导入 TPC-C 数据速度提升在 30% 左右,导入索引比较多(5 个索引)的大表 (2TB+) 速度提升超过 50% [#753](https://github.com/pingcap/br/pull/753) - 导入前对导入数据和目标集群进行检查,如果不符合导入要求,则报错拒绝导入程序的运行 [#999](https://github.com/pingcap/br/pull/999) - 优化 Local 后端更新 checkpoint 的时机,提升断点重启时的性能 [#1080](https://github.com/pingcap/br/pull/1080) From d39cc2acb47afa5a51df41ce20a9b97ac476cbc4 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 21 Jun 2021 19:29:40 +0800 Subject: [PATCH 32/60] fix --- releases/release-5.1.0.md | 4 ++-- sql-statements/sql-statement-modify-column.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 34430c767dc2..977767985c53 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -79,7 +79,7 @@ TiDB 版本:5.1 - `DECIMAL` 精度修改 - 从 `VARCHAR(10)` 到 `VARCHAR(5)` 的长度压缩 - [用户文档](/sql-statement-modify-column.md) + [用户文档](/sql-statements/sql-statement-modify-column.md) - 引入新的语法 `AS OF TIMESTAMP`,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 @@ -133,7 +133,7 @@ TiDB 版本:5.1 TiKV Write Rate Limiter 通过平滑 TiKV 后台任务如 GC,Compaction 等的写入流量,保证读写请求的延迟稳定性。TiKV 后台任务写入限制默认值为 "0MB",建议将此限制设置为磁盘的最佳 I/O 带宽,例如云盘厂商指定的最大 I/O 带宽。 - [用户文档](tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) + [用户文档](/tikv-configuration-file.md#storageio-rate-limit),[#9156](https://github.com/tikv/tikv/issues/9156) + 解决多个扩缩容时的调度稳定性问题 diff --git a/sql-statements/sql-statement-modify-column.md b/sql-statements/sql-statement-modify-column.md index 83cb5122be19..976c791ecf86 100644 --- a/sql-statements/sql-statement-modify-column.md +++ b/sql-statements/sql-statement-modify-column.md @@ -9,9 +9,9 @@ summary: TiDB 数据库中 MODIFY COLUMN 的使用概况。 从 v5.1.0 版本起,TiDB 开始支持 Reorg 类型变更,包括但不限于: -- 从 varchar 转换为 bigint -- decimal 精度修改 -- 从 varchar(10) 到 varchar(5) 的长度压缩 +- 从 `VARCHAR` 转换为 `BIGINT` +- `DECIMAL` 精度修改 +- 从 `VARCHAR(10)` 到 `VARCHAR(5)` 的长度压缩 ## 语法图 From 59545a69c004f970825ee1194998d28a293b7934 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 21 Jun 2021 22:18:34 +0800 Subject: [PATCH 33/60] apply updates from Guo jiangtao --- releases/release-5.1.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 977767985c53..7c66f027ccd5 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -149,8 +149,8 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 支持 `VITESS_HASH()` 函数 [#23915](https://github.com/pingcap/tidb/pull/23915) - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) - - 支持 Window Function Pipeline,降低 Window Function 运行过程中 OOM 概率 [#23807](https://github.com/pingcap/tidb/issues/23807) - - 减少 `UNION` 算子 OOM 概率 [#21441](https://github.com/pingcap/tidb/issues/21441) + - 优化 Window Function 计算过程,解决了使用 ROW_NUMBER() 对数据分页时 TiDB OOM 的问题 [#23807](https://github.com/pingcap/tidb/issues/23807) + - 优化 UNION ALL 的计算过程,解决了使用 UNION ALL 连接大量 SELECT 语句时 TiDB OOM 的问题 [#21441](https://github.com/pingcap/tidb/issues/21441) - 解决多种情况下出现的 `Region is Unavailable` 问题 [project#62](https://github.com/pingcap/tidb/projects/62) - 修复频繁调度情况下可能出现的多个 `Region is Unavailable` 问题 From 67c6e6686591e82461dfa0bf362c65557141a834 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 09:55:14 +0800 Subject: [PATCH 34/60] Add a note for the compatibility info of the earlier versions --- releases/release-5.1.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 7c66f027ccd5..7fcd20394bda 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -18,6 +18,10 @@ TiDB 版本:5.1 ## 兼容性更改 +> **注意:** +> +> 当从一个早期的 TiDB 版本升级到 TiDB 5.1 时,如需了解所有中间版本对应的兼容性更改说明,请查看对应版本的 [Release Note](/releases/release-notes.md)。 + ### 系统变量 | 变量名 | 修改类型 | 描述 | From d74c5aebdad4dbb1512e81ee3cfb40fed0dd5775 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 09:58:54 +0800 Subject: [PATCH 35/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 7fcd20394bda..b2945ce1d050 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -13,7 +13,7 @@ TiDB 版本:5.1 - 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 - 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 -- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题。 +- 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 - 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 ## 兼容性更改 From 3a2a0ea5a32ceec3507f1392a75a26cb9d0fe07e Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 10:20:26 +0800 Subject: [PATCH 36/60] adjust the sequence of the variables and parameters --- releases/release-5.1.0.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index b2945ce1d050..b8988f189456 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -26,24 +26,25 @@ TiDB 版本:5.1 | 变量名 | 修改类型 | 描述 | |:----------|:-----------|:-----------| -| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | | `init_connect` | 新增 | 用于控制初始连接。 | | `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | +| `tidb_partition_prune_mode` | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | `security.enable-sem` | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no delay。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | `performance.committer-concurrency` | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| +| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no delay。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | `pessimistic-txn.deadlock-history-capacity` | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | -| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | -| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | | TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | +| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | +| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | | TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 `resolved-ts` 的间隔,默认为 "1s",支持动态更改。 | | TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 `resolved-ts` 时扫锁的线程数,默认值为 `2`。 | From 3411e1b9479f2f6a0f8fcb48697a63fa2784ae72 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 10:49:57 +0800 Subject: [PATCH 37/60] added the links to the variables and parameters --- releases/release-5.1.0.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index b8988f189456..8a33d2a92060 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -26,28 +26,28 @@ TiDB 版本:5.1 | 变量名 | 修改类型 | 描述 | |:----------|:-----------|:-----------| -| `cte_max_recursion_depth` | 新增 | 用于控制公共表表达式最大递归深度。 | -| `init_connect` | 新增 | 用于控制初始连接。 | +| [`cte_max_recursion_depth`](/system-variables.md#cte_max_recursion_depth) | 新增 | 用于控制公共表表达式最大递归深度。 | +| [`init_connect`](/system-variables.md#init_connect) | 新增 | 用于控制初始连接。 | | `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | -| `tidb_enable_enhanced_security` | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | -| `tidb_enforce_mpp` | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | -| `tidb_partition_prune_mode` | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | +| [`tidb_enable_enhanced_security`](/system-variables.md#tidb_enable_enhanced_security) | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | +| [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-从-v51-版本开始引入) | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | +| [`tidb_partition_prune_mode`](/system-variables.md#tidb_partition_prune_mode-从-v51-版本开始引入) | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| -| TiDB 配置文件 | `security.enable-sem` | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | `performance.committer-concurrency` | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| +| TiDB 配置文件 | [`security.enable-sem`](tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | +| TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no delay。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | `pessimistic-txn.deadlock-history-capacity` | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | -| TiKV 配置文件 | `abort-on-panic` | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | -| TiKV 配置文件 | `hibernate-regions` | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | `soft-pending-compaction-bytes-limit` | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | -| TiKV 配置文件 | `storage.io-rate-limit` | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | -| TiKV 配置文件 | `resolved-ts.enable` | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | -| TiKV 配置文件 | `resolved-ts.advance-ts-interval` | 新增 | 推进 `resolved-ts` 的间隔,默认为 "1s",支持动态更改。 | -| TiKV 配置文件 | `resolved-ts.scan-lock-pool-size` | 新增 | 用于初始化 `resolved-ts` 时扫锁的线程数,默认值为 `2`。 | +| TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | +| TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | +| TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | +| TiKV 配置文件 | [`soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | +| TiKV 配置文件 | [`storage.io-rate-limit`](/tikv-configuration-file.md#storageio-rate-limit) | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | +| TiKV 配置文件 | [`resolved-ts.enable`](/tikv-configuration-file.md#enable) | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | +| TiKV 配置文件 | [`resolved-ts.advance-ts-interval`](/tikv-configuration-file.md#advance-ts-interval) | 新增 | 推进 `resolved-ts` 的间隔,默认为 "1s",支持动态更改。 | +| TiKV 配置文件 | [`resolved-ts.scan-lock-pool-size`](/tikv-configuration-file.md#scan-lock-pool-size) | 新增 | 用于初始化 `resolved-ts` 时扫锁的线程数,默认值为 `2`。 | ### 其他 From 05783b902cfca086dabd91ddfbf3e6d7049c4b21 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 15:25:55 +0800 Subject: [PATCH 38/60] add more doc info for the lock view --- releases/release-5.1.0.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 8a33d2a92060..a5bea682a296 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -102,10 +102,14 @@ TiDB 版本:5.1 + 新增锁视图 (Lock View)(实验特性) - [用户文档](/information-schema/information-schema-data-lock-waits.md),[#24199](https://github.com/pingcap/tidb/issues/24199) - - Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 - + Lock View 用于提供关于悲观锁的锁冲突和锁等待的更多信息,方便 DBA 通过锁视图功能来观察事务加锁情况以及排查死锁问题等 [#24199](https://github.com/pingcap/tidb/issues/24199) + + 用户文档: + + - 查看集群中所有 TiKV 节点上当前正在发生的悲观锁:[`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md) + - 查看当前 TiDB 节点上最近发生的若干次死锁错误:[`DEADLOCKS`](/information-schema/information-schema-deadlocks.md) + - 查看当前 TiDB 节点上正在执行的事务的信息:[`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md) + ### 性能 + 数据副本非一致性读 (Stale Read) From 7eed59c350b0125cbc464e7174c9f2cd85c22a74 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 15:36:18 +0800 Subject: [PATCH 39/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index a5bea682a296..6f11efcd9a74 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -106,9 +106,9 @@ TiDB 版本:5.1 用户文档: - - 查看集群中所有 TiKV 节点上当前正在发生的悲观锁:[`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md) - - 查看当前 TiDB 节点上最近发生的若干次死锁错误:[`DEADLOCKS`](/information-schema/information-schema-deadlocks.md) - - 查看当前 TiDB 节点上正在执行的事务的信息:[`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md) + - 查看集群中所有 TiKV 节点上当前正在发生的悲观锁等锁:[`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md) + - 查看 TiDB 节点上最近发生的若干次死锁错误:[`DEADLOCKS`](/information-schema/information-schema-deadlocks.md) + - 查看 TiDB 节点上正在执行的事务的信息:[`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md) ### 性能 From 355ffc6abbcced3069b01995f4c22fa04ae55324 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 22 Jun 2021 17:35:05 +0800 Subject: [PATCH 40/60] Update releases/release-5.1.0.md Co-authored-by: Yuanjia Zhang --- releases/release-5.1.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 6f11efcd9a74..0554c2dbcb00 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -160,6 +160,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 支持枚举类型下推到 TiKV ,提升 WHERE 子句中使用枚举类型时的性能 [#23619](https://github.com/pingcap/tidb/issues/23619) - 优化 Window Function 计算过程,解决了使用 ROW_NUMBER() 对数据分页时 TiDB OOM 的问题 [#23807](https://github.com/pingcap/tidb/issues/23807) - 优化 UNION ALL 的计算过程,解决了使用 UNION ALL 连接大量 SELECT 语句时 TiDB OOM 的问题 [#21441](https://github.com/pingcap/tidb/issues/21441) + - 优化分区表动态模式,提升其性能和稳定性 [#24150](https://github.com/pingcap/tidb/issues/24150) - 解决多种情况下出现的 `Region is Unavailable` 问题 [project#62](https://github.com/pingcap/tidb/projects/62) - 修复频繁调度情况下可能出现的多个 `Region is Unavailable` 问题 From 8a09a2599656b52e283f9040b5e92e1c047c5974 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 18:17:28 +0800 Subject: [PATCH 41/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 0554c2dbcb00..be47629d2636 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -43,6 +43,10 @@ TiDB 版本:5.1 | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | +| TiKV 配置文件 | [`old-value-cache-memory-quota`](/tikv-configuration-file.md#old-value-cache-memory-quota) | 新增 |用于设置缓存在内存中的 TiCDC Old Value 的条目占用内存的上限。默认值为 512MB。 | +| TiKV 配置文件 | [`sink-memory-quota`](/tikv-configuration-file.md#sink-memory-quota) | 新增 | 用于设置缓存在内存中的 TiCDC 数据变更事件占用内存的上限。默认值为 512MB。 | +| TiKV 配置文件 | [`incremental-scan-threads`](/tikv-configuration-file.md#incremental-scan-threads) | 新增 | 用于控制增量扫描历史数据任务的线程个数。默认值为 4,代表 4 个线程。 | +| TiKV 配置文件 | [`incremental-scan-concurrency`](/tikv-configuration-file.md#incremental-scan-concurrency) | 新增 | 用于控制增量扫描历史数据任务的最大并发执行个数。默认值为 6,代表最多并发执行 6 个任务。 | | TiKV 配置文件 | [`soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | | TiKV 配置文件 | [`storage.io-rate-limit`](/tikv-configuration-file.md#storageio-rate-limit) | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | [`resolved-ts.enable`](/tikv-configuration-file.md#enable) | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | From c48d91d533601b42c3d28d44a11d019389c4b305 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 22 Jun 2021 18:19:16 +0800 Subject: [PATCH 42/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index be47629d2636..2ca5bfd88d5a 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -43,10 +43,10 @@ TiDB 版本:5.1 | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | -| TiKV 配置文件 | [`old-value-cache-memory-quota`](/tikv-configuration-file.md#old-value-cache-memory-quota) | 新增 |用于设置缓存在内存中的 TiCDC Old Value 的条目占用内存的上限。默认值为 512MB。 | -| TiKV 配置文件 | [`sink-memory-quota`](/tikv-configuration-file.md#sink-memory-quota) | 新增 | 用于设置缓存在内存中的 TiCDC 数据变更事件占用内存的上限。默认值为 512MB。 | -| TiKV 配置文件 | [`incremental-scan-threads`](/tikv-configuration-file.md#incremental-scan-threads) | 新增 | 用于控制增量扫描历史数据任务的线程个数。默认值为 4,代表 4 个线程。 | -| TiKV 配置文件 | [`incremental-scan-concurrency`](/tikv-configuration-file.md#incremental-scan-concurrency) | 新增 | 用于控制增量扫描历史数据任务的最大并发执行个数。默认值为 6,代表最多并发执行 6 个任务。 | +| TiKV 配置文件 | [`old-value-cache-memory-quota`](/tikv-configuration-file.md#old-value-cache-memory-quota) | 新增 |设置缓存在内存中的 TiCDC Old Value 的条目占用内存的上限。默认值为 512MB。 | +| TiKV 配置文件 | [`sink-memory-quota`](/tikv-configuration-file.md#sink-memory-quota) | 新增 | 设置缓存在内存中的 TiCDC 数据变更事件占用内存的上限。默认值为 512MB。 | +| TiKV 配置文件 | [`incremental-scan-threads`](/tikv-configuration-file.md#incremental-scan-threads) | 新增 | 控制增量扫描历史数据任务的线程个数。默认值为 4,代表 4 个线程。 | +| TiKV 配置文件 | [`incremental-scan-concurrency`](/tikv-configuration-file.md#incremental-scan-concurrency) | 新增 | 控制增量扫描历史数据任务的最大并发执行个数。默认值为 6,代表最多并发执行 6 个任务。 | | TiKV 配置文件 | [`soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 修改 | pending compaction bytes 的软限制,默认值从 "64GB" 修改为 "192GB"。 | | TiKV 配置文件 | [`storage.io-rate-limit`](/tikv-configuration-file.md#storageio-rate-limit) | 新增 | 控制 TiKV 写入的 IO 速率。`storage.io-rate-limit.max-bytes-per-sec` 默认值为 “0MB”。 | | TiKV 配置文件 | [`resolved-ts.enable`](/tikv-configuration-file.md#enable) | 新增 | 为所有 Region leader 维护 `resolved-ts`,默认值为 `true`。 | From 619d36b9a5f7e5c425779427f849be496ba40bce Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 22 Jun 2021 23:27:26 +0800 Subject: [PATCH 43/60] Apply suggestions from code review --- releases/release-5.1.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 2ca5bfd88d5a..0a7f8a4413b6 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -28,7 +28,7 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------| | [`cte_max_recursion_depth`](/system-variables.md#cte_max_recursion_depth) | 新增 | 用于控制公共表表达式最大递归深度。 | | [`init_connect`](/system-variables.md#init_connect) | 新增 | 用于控制初始连接。 | -| `tidb_analyze_version` | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| [`tidb_analyze_version`](/system-variables.md#tidb_analyze_version-从-v510-版本开始引入) | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | | [`tidb_enable_enhanced_security`](/system-variables.md#tidb_enable_enhanced_security) | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-从-v51-版本开始引入) | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | | [`tidb_partition_prune_mode`](/system-variables.md#tidb_partition_prune_mode-从-v51-版本开始引入) | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | @@ -39,7 +39,7 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | [`security.enable-sem`](tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| -| TiDB 配置文件 | `performance.tcp-no-delay` | 新增 | 控制是否在 TiDB 在 TCP 层开启 no delay。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | From 319ab0060af415ed8aaec26948660ce1bdb2ded7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 08:43:22 +0800 Subject: [PATCH 44/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 0a7f8a4413b6..2d664fd5849b 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -92,7 +92,7 @@ TiDB 版本:5.1 - 引入新的语法 `AS OF TIMESTAMP`,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 - [用户文档](/as-of-timestamp.md),[#21094](https://github.com/pingcap/tidb/issues/21094) + [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) `AS OF TIMESTAMP` 语法示例如下: From e73cea3dea72d712d37469eeb105b79090f19080 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 08:44:11 +0800 Subject: [PATCH 45/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 2d664fd5849b..32f9fe00b88c 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -101,7 +101,12 @@ TiDB 版本:5.1 START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; ``` +- 引入一种新的统计信息类型 `tidb_analyze_version = 2` (实验特性)。 + `tidb_analyze_version = 2` 默认启用,避免了 Version 1 中因为哈希冲突导致的在较大的数据量中可能产生的较大误差,并保持了大多数场景中的估算精度。 + + [用户文档](/statistics.md) + ### 事务 + 新增锁视图 (Lock View)(实验特性) From bcf88279d609981a656f8b7f2312c377d5c05909 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 09:53:33 +0800 Subject: [PATCH 46/60] Apply suggestions from code review --- releases/release-5.1.0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 32f9fe00b88c..8781bd954221 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -127,7 +127,11 @@ TiDB 版本:5.1 [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) -+ 默认开启 Hibernate Region 特性 [#10266](https://github.com/tikv/tikv/pull/10266) ++ 默认开启 Hibernate Region 特性。 + + 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态,可以降低 Leader 和 Follower 之间心跳信息的系统开销。 + + [用户文档](/tikv-configuration-file.md#hibernate-regions),[#10266](https://github.com/tikv/tikv/pull/10266) ### 稳定性 From fe3340ef14deb10b37bd5b1405012a7fce8df19e Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Jun 2021 09:54:26 +0800 Subject: [PATCH 47/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 8781bd954221..cf7a2c83a582 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -101,6 +101,7 @@ TiDB 版本:5.1 START TRANSACTION READ ONLY AS OF TIMESTAMP '2020-09-06 00:00:00'; SET TRANSACTION READ ONLY as of timestamp '2020-09-06 00:00:00'; ``` + - 引入一种新的统计信息类型 `tidb_analyze_version = 2` (实验特性)。 `tidb_analyze_version = 2` 默认启用,避免了 Version 1 中因为哈希冲突导致的在较大的数据量中可能产生的较大误差,并保持了大多数场景中的估算精度。 From 403f414420f849a0aed14c427f68530eae2d850d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 13:55:25 +0800 Subject: [PATCH 48/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index cf7a2c83a582..fc294b2017d3 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -58,7 +58,7 @@ TiDB 版本:5.1 - 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 Go 编译器版本。 - 请避免在对使用 TiDB Binlog 的集群进行滚动升级的过程中新创建聚簇索引表。 - 请避免在 TiDB 滚动升级时执行 `alter table ... modify column` 或 `alter table ... change column`。 -- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的副本。在集群升级前,需要清除相关系统表的副本,否则升级到较高版本后将无法再修改系统表的副本设置。 +- 当按表构建 TiFlash 副本时,v5.1 版本及后续版本将不再支持设置系统表的 replica。在集群升级前,需要清除相关系统表的 replica,否则会导致升级失败。 - 在 TiCDC 的 `cdc cli changefeed` 命令中废弃 `--sort-dir` 参数,用户可在 `cdc server` 命令中设定 `--sort-dir`。[#1795](https://github.com/pingcap/ticdc/pull/1795) ## 新功能 From f9ba5e293ec5a4b56867d789258d9d371350310f Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Jun 2021 16:39:46 +0800 Subject: [PATCH 49/60] Update _index.md --- _index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_index.md b/_index.md index c73dd641aece..261238fb5246 100644 --- a/_index.md +++ b/_index.md @@ -15,7 +15,7 @@ summary: 了解 TiDB 数据库。 - [TiDB 简介](/overview.md) - [基本功能](/basic-features.md) -- [What's New in TiDB 5.0](/releases/release-5.0.0.md) +- [TiDB 5.1 Release Notes](/releases/release-5.1.0.md) - [与 MySQL 的兼容性](/mysql-compatibility.md) - [使用限制](/tidb-limitations.md) From 5e89204f937d0a858a6135cb99d727be0880317b Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Jun 2021 18:26:32 +0800 Subject: [PATCH 50/60] Update release-5.1.0.md --- releases/release-5.1.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index fc294b2017d3..ec1aee4c306a 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -11,6 +11,8 @@ TiDB 版本:5.1 在 5.1 版本中,你可以获得以下关键特性: - 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 +- 支持对数据表列类型的变更,提高了业务开发的灵活性。 +- 引入一种新的统计信息类型 tidb_analyze_version = 2,默认作为实验特性启用,提升查询稳定性。 - 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 - 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 From 83ccd467298d94eb19dc03a97e27827647d6f75e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 18:27:30 +0800 Subject: [PATCH 51/60] Update releases/release-5.1.0.md Co-authored-by: Charlotte Liu <37295236+CharLotteiu@users.noreply.github.com> --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index ec1aee4c306a..b6f3cda6da99 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -30,7 +30,7 @@ TiDB 版本:5.1 |:----------|:-----------|:-----------| | [`cte_max_recursion_depth`](/system-variables.md#cte_max_recursion_depth) | 新增 | 用于控制公共表表达式最大递归深度。 | | [`init_connect`](/system-variables.md#init_connect) | 新增 | 用于控制初始连接。 | -| [`tidb_analyze_version`](/system-variables.md#tidb_analyze_version-从-v510-版本开始引入) | 新增 | 用于控制所收集到的统计信息。默认值从 `1` 修改为 `2`,默认作为实验特性启用。 | +| [`tidb_analyze_version`](/system-variables.md#tidb_analyze_version-从-v510-版本开始引入) | 新增 | 用于控制所收集到的统计信息。默认值为 `2`,默认作为实验特性启用。 | | [`tidb_enable_enhanced_security`](/system-variables.md#tidb_enable_enhanced_security) | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-从-v51-版本开始引入) | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | | [`tidb_partition_prune_mode`](/system-variables.md#tidb_partition_prune_mode-从-v51-版本开始引入) | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | From 23c8557fddd474f45e959895e1221821e7d6f3a7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 18:28:28 +0800 Subject: [PATCH 52/60] Update releases/release-5.1.0.md Co-authored-by: Charlotte Liu <37295236+CharLotteiu@users.noreply.github.com> --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index b6f3cda6da99..ac21e3d05435 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -43,7 +43,7 @@ TiDB 版本:5.1 | TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | -| TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false, 代表不允许生成 core dump 文件。 | +| TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | | TiKV 配置文件 | [`old-value-cache-memory-quota`](/tikv-configuration-file.md#old-value-cache-memory-quota) | 新增 |设置缓存在内存中的 TiCDC Old Value 的条目占用内存的上限。默认值为 512MB。 | | TiKV 配置文件 | [`sink-memory-quota`](/tikv-configuration-file.md#sink-memory-quota) | 新增 | 设置缓存在内存中的 TiCDC 数据变更事件占用内存的上限。默认值为 512MB。 | From dbb548b6b64f6cfbebd47da6b6f4c1496fe205d9 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 23 Jun 2021 18:29:35 +0800 Subject: [PATCH 53/60] Update releases/release-5.1.0.md Co-authored-by: Charlotte Liu <37295236+CharLotteiu@users.noreply.github.com> --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index ac21e3d05435..ffa2e004eb24 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -84,7 +84,7 @@ TiDB 版本:5.1 - 新增安全增强模式 (Security Enhanced Mode) 配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 -- 全面加强列类型的在线变更能力,支持通过 `ALTER TABLE` 语句进行列的在线类型修改, 包括但不限于: +- 全面加强列类型的在线变更能力,支持通过 `ALTER TABLE` 语句进行列的在线类型修改,包括但不限于: - 从 `VARCHAR` 转换为 `BIGINT` - `DECIMAL` 精度修改 From bbb0f281a9c5519147c619748385ad41d87023c2 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 24 Jun 2021 14:04:05 +0800 Subject: [PATCH 54/60] Update releases/release-5.1.0.md Co-authored-by: kennytm --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index ffa2e004eb24..e9063ee38275 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -316,7 +316,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 修复在生成 KV 数据时可能发生的 panic 问题 [#1127](https://github.com/pingcap/br/pull/1127) - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) - - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) + - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + Backup & Restore (BR) From fb933311d441e9ee17a3cc57de68a36859912394 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 15:46:10 +0800 Subject: [PATCH 55/60] Apply suggestions from code review Co-authored-by: Charlotte Liu <37295236+CharLotteiu@users.noreply.github.com> --- releases/release-5.1.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index e9063ee38275..da7623d69db0 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -11,7 +11,7 @@ TiDB 版本:5.1 在 5.1 版本中,你可以获得以下关键特性: - 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 -- 支持对数据表列类型的变更,提高了业务开发的灵活性。 +- 支持对数据表列类型的在线变更,提高了业务开发的灵活性。 - 引入一种新的统计信息类型 tidb_analyze_version = 2,默认作为实验特性启用,提升查询稳定性。 - 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 @@ -317,7 +317,7 @@ TiDB 在遥测中新增收集集群请求的运行状态,包括执行情况、 - 修复数据导入期间 Batch Split Region 因键的总大小超过 Raft 条目限制而可能失败的问题 [#969](https://github.com/pingcap/br/issues/969) - 修复在导入 CSV 文件时,如果文件的最后一行未包含换行符(`\r\n`)会导入报错的问题 [#1133](https://github.com/pingcap/br/issues/1133) - - 修复在导入目标表包含 double 类型的自增列会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + - 修复待导入的目标表中包含 double 类型的自增列时会导致表的 auto_Increment 值异常的问题 [#1178](https://github.com/pingcap/br/pull/1178) + Backup & Restore (BR) From 7136b71e76b30b58a34a12ba34185b822e5ee682 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 16:50:54 +0800 Subject: [PATCH 56/60] Apply suggestions from code review --- releases/release-5.1.0.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index da7623d69db0..998b9d09bb72 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -14,7 +14,7 @@ TiDB 版本:5.1 - 支持对数据表列类型的在线变更,提高了业务开发的灵活性。 - 引入一种新的统计信息类型 tidb_analyze_version = 2,默认作为实验特性启用,提升查询稳定性。 - 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 -- 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能。 +- 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能(实验特性)。 - 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 - 新增 TiKV 后台任务写入限制(TiKV Write Rate Limiter),保证读写请求的延迟稳定性。 @@ -67,10 +67,14 @@ TiDB 版本:5.1 ### SQL -- 新增 MySQL 8 中的公共表表达式 (Common Table Expression),为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 +- 新增 MySQL 8 中的公共表表达式 (Common Table Expression),为 TiDB 带来递归或非递归查询层次结构数据的能力,满足了人力资源、制造业、金融市场和教育在内的多种应用领域需要使用树形查询实现业务逻辑的需求。 + + 在 TiDB 中,你可以通过 `WITH` 语句使用公共表表达式。 [用户文档](/sql-statements/sql-statement-with.md),[#17472](https://github.com/pingcap/tidb/issues/17472) -- 新增 MySQL 8 中的动态权限 (Dynamic Privileges)。动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 +- 新增 MySQL 8 中的动态权限 (Dynamic Privileges)。 + + 动态权限用于限制 `SUPER` 权限,为 TiDB 提供更灵活的权限配置,实现对某些操作更细粒度的控制。例如,你可以使用动态权限来创建一个只能执行 `BACKUP` 和 `RESTORE` 操作的用户帐户。 支持的动态权限包括: @@ -82,7 +86,9 @@ TiDB 版本:5.1 你也可以使用插件来添加新的权限。若要查看全部的动态权限,请执行 `SHOW PRIVILEGES` 语句。[用户文档](/privilege-management.md) -- 新增安全增强模式 (Security Enhanced Mode) 配置项,用于对 TiDB 管理员进行更细粒度的权限划分。安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 +- 新增安全增强模式 (Security Enhanced Mode) 配置项,用于对 TiDB 管理员进行更细粒度的权限划分。 + + 安全增强模式默认关闭,如需开启,请参考[用户文档](/system-variables.md#tidb_enable_enhanced_security)。 - 全面加强列类型的在线变更能力,支持通过 `ALTER TABLE` 语句进行列的在线类型修改,包括但不限于: @@ -92,7 +98,7 @@ TiDB 版本:5.1 [用户文档](/sql-statements/sql-statement-modify-column.md) -- 引入新的语法 `AS OF TIMESTAMP`,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据。 +- 引入新的语法 `AS OF TIMESTAMP`,支持通过 Stale Read 功能从指定的时间点或时间范围内读取历史数据(实验特性)。 [用户文档](/stale-read.md),[#21094](https://github.com/pingcap/tidb/issues/21094) @@ -124,7 +130,7 @@ TiDB 版本:5.1 ### 性能 -+ 数据副本非一致性读 (Stale Read) ++ 数据副本非一致性读 (Stale Read)(实验特性) 直接读取本地副本数据,降低读取延迟,提升查询性能 From f8fb9022ac86afd102f501847610e4d63c29d91d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 17:51:23 +0800 Subject: [PATCH 57/60] Apply suggestions from code review Co-authored-by: Jian Zhang --- releases/release-5.1.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 998b9d09bb72..e90a9edefa94 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -12,7 +12,7 @@ TiDB 版本:5.1 - 支持 MySQL 8 中的公共表表达式 (Common Table Expression),提高了 SQL 语句的可读性与执行效率。 - 支持对数据表列类型的在线变更,提高了业务开发的灵活性。 -- 引入一种新的统计信息类型 tidb_analyze_version = 2,默认作为实验特性启用,提升查询稳定性。 +- 引入一种新的统计信息类型,默认作为实验特性启用,提升查询稳定性。 - 支持 MySQL 8 中的动态权限 (Dynamic Privileges) 配置,实现对某些操作更细粒度的控制。 - 支持通过 Stale Read 功能直接读取本地副本数据,降低读取延迟,提升查询性能(实验特性)。 - 新增锁视图 (Lock View) 功能方便 DBA 观察事务加锁情况以及排查死锁问题(实验特性)。 @@ -33,14 +33,14 @@ TiDB 版本:5.1 | [`tidb_analyze_version`](/system-variables.md#tidb_analyze_version-从-v510-版本开始引入) | 新增 | 用于控制所收集到的统计信息。默认值为 `2`,默认作为实验特性启用。 | | [`tidb_enable_enhanced_security`](/system-variables.md#tidb_enable_enhanced_security) | 新增 | 表示所连接的 TiDB 服务器是否启用了安全增强模式(SEM),在不重新启动 TiDB 服务器的情况下不能改变该变量。 | | [`tidb_enforce_mpp`](/system-variables.md#tidb_enforce_mpp-从-v51-版本开始引入) | 新增 | 用于忽略优化器代价估算,强制使用 MPP 模式。`BOOL` 类型,默认值为 `false`。 | -| [`tidb_partition_prune_mode`](/system-variables.md#tidb_partition_prune_mode-从-v51-版本开始引入) | 新增 | 用于设置是否开启分区表动态模式(实验特性)。默认值为 `static`,即默认不启用分区表动态模式。 | +| [`tidb_partition_prune_mode`](/system-variables.md#tidb_partition_prune_mode-从-v51-版本开始引入) | 新增 | 用于设置是否开启分区表动态裁剪模式(实验特性)。默认值为 `static`,即默认不启用分区表动态裁剪模式。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| | TiDB 配置文件 | [`security.enable-sem`](tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | -| TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的 goroutine 数量。默认值从 `16` 修改为 `128`。| +| TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的并发数。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | From b699c0351c6313edf6eea7a0e76780dcb5b62695 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 19:18:51 +0800 Subject: [PATCH 58/60] Update releases/release-5.1.0.md --- releases/release-5.1.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index e90a9edefa94..0877cc42b149 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -42,6 +42,7 @@ TiDB 版本:5.1 | TiDB 配置文件 | [`security.enable-sem`](tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的并发数。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | +| TiDB 配置文件 | performance.enforce-mpp | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 false。 | | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | From 530f25b83faa1a303dc91a2af6811fd1ca159b3f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 19:38:29 +0800 Subject: [PATCH 59/60] Apply suggestions from code review --- releases/release-5.1.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 0877cc42b149..7c95424e6d68 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -39,10 +39,10 @@ TiDB 版本:5.1 | 配置文件 | 配置项 | 修改类型 | 描述 | |:----------|:-----------|:-----------|:-----------| -| TiDB 配置文件 | [`security.enable-sem`](tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | +| TiDB 配置文件 | [`security.enable-sem`](/tidb-configuration-file.md#enable-sem) | 新增 | 控制是否启用安全增强模式 (SEM)。默认值为 `false`,代表未启用。 | | TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的并发数。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | -| TiDB 配置文件 | performance.enforce-mpp | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 false。 | +| TiDB 配置文件 | [`performance.enforce-mpp`](/tidb-configuration-file.md#enforce-mpp) | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 `false`。 | | TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | From 02c06126d02d067a5848252eb4753d7f6a105921 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 24 Jun 2021 19:41:46 +0800 Subject: [PATCH 60/60] Apply suggestions from code review --- releases/release-5.1.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-5.1.0.md b/releases/release-5.1.0.md index 7c95424e6d68..4884c733dd7c 100644 --- a/releases/release-5.1.0.md +++ b/releases/release-5.1.0.md @@ -43,7 +43,7 @@ TiDB 版本:5.1 | TiDB 配置文件 | [`performance.committer-concurrency`](/tidb-configuration-file.md#committer-concurrency) | 修改 | 在单个事务的提交阶段,控制用于执行提交操作相关请求的并发数。默认值从 `16` 修改为 `128`。| | TiDB 配置文件 | [`performance.tcp-no-delay`](/tidb-configuration-file.md#tcp-no-delay) | 新增 | 控制 TiDB 是否在 TCP 层开启 TCP_NODELAY。 默认值为 `true`,代表开启。 | | TiDB 配置文件 | [`performance.enforce-mpp`](/tidb-configuration-file.md#enforce-mpp) | 新增 | 用于在实例级别控制 TiDB 是否忽略优化器代价估算,强制使用 MPP 模式,默认值为 `false`。 | -| TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | +| TiDB 配置文件 | [`pessimistic-txn.deadlock-history-capacity`](/tidb-configuration-file.md#deadlock-history-capacity) | 新增 | 控制单个 TiDB 节点的 [`INFORMATION_SCHEMA.DEADLOCKS`](/information-schema/information-schema-deadlocks.md) 表最多可记录的死锁事件个数,默认值为 “10”。 | | TiKV 配置文件 | [`abort-on-panic`](/tikv-configuration-file.md#abort-on-panic) | 新增 | 设置 TiKV panic 时 abort 进程是否允许系统生成 core dump 文件。默认值为 false,代表不允许生成 core dump 文件。 | | TiKV 配置文件 | [`hibernate-regions`](/tikv-configuration-file.md#hibernate-regions) | 修改 | 默认值从 `false` 修改为 `true`。 如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。 | | TiKV 配置文件 | [`old-value-cache-memory-quota`](/tikv-configuration-file.md#old-value-cache-memory-quota) | 新增 |设置缓存在内存中的 TiCDC Old Value 的条目占用内存的上限。默认值为 512MB。 |