From d0d15e6eff14c34ba9b095539f41779072fe2b1f Mon Sep 17 00:00:00 2001 From: wjHuang Date: Fri, 10 Feb 2023 14:18:00 +0800 Subject: [PATCH] *: remove related document of amend transaction (#12623) --- latency-breakdown.md | 2 +- releases/release-5.0.0-rc.md | 1 - releases/release-5.0.0.md | 6 +++--- releases/release-6.5.0.md | 4 ++-- system-variables.md | 19 ------------------- tidb-binlog/tidb-binlog-overview.md | 4 ---- 6 files changed, 6 insertions(+), 30 deletions(-) diff --git a/latency-breakdown.md b/latency-breakdown.md index 5d20f1f75127..c23eedad8d6f 100644 --- a/latency-breakdown.md +++ b/latency-breakdown.md @@ -468,7 +468,7 @@ Diagram( Sequence( Comment("2pc"), NonTerminal("Get commit-ts"), - NonTerminal("Check schema, try to amend if needed"), + NonTerminal("Check schema"), NonTerminal("Commit PK mutation"), ), Sequence( diff --git a/releases/release-5.0.0-rc.md b/releases/release-5.0.0-rc.md index 1257bb03e500..18d3411f24d9 100644 --- a/releases/release-5.0.0-rc.md +++ b/releases/release-5.0.0-rc.md @@ -64,7 +64,6 @@ DBA 通过 `ALTER INDEX` 语句来修改某个索引的可见性。修改后优 悲观事务模式下,如果事务所涉及到的表存在并发 DDL 操作和 `SCHEMA VERSION` 变更,系统会自动将该事务的 `SCHEMA VERSION` 更新到最新版本,确保事务会提交成功,避免事务因 DDL 操作而中断。事务中断时客户端会收到 `Information schema is changed` 的错误信息。 -+ [用户文档](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) + 相关 issue:[#18005](https://github.com/pingcap/tidb/issues/18005) ## 字符集和排序规则 diff --git a/releases/release-5.0.0.md b/releases/release-5.0.0.md index 434e9863f717..ebc729eb709c 100644 --- a/releases/release-5.0.0.md +++ b/releases/release-5.0.0.md @@ -38,7 +38,7 @@ TiDB 版本:5.0.0 + 临时表的语法兼容性受到 [`tidb_enable_noop_functions`](/system-variables.md#tidb_enable_noop_functions-从-v40-版本开始引入) 系统变量的控制:当 `tidb_enable_noop_functions` 为 `OFF` 时,`CREATE TEMPORARY TABLE` 语法将会报错。 + 新增 [`tidb_gc_concurrency`](/system-variables.md#tidb_gc_concurrency-从-v50-版本开始引入)、[`tidb_gc_enable`](/system-variables.md#tidb_gc_enable-从-v50-版本开始引入)、[`tidb_gc_life_time`](/system-variables.md#tidb_gc_life_time-从-v50-版本开始引入)、[`tidb_gc_run_interval`](/system-variables.md#tidb_gc_run_interval-从-v50-版本开始引入)、[`tidb_gc_scan_lock_mode`](/system-variables.md#tidb_gc_scan_lock_mode-从-v50-版本开始引入) 系统变量,用于直接通过系统变量调整垃圾回收相关参数。 + 系统变量 [`enable-joint-consensus`](/pd-configuration-file.md#enable-joint-consensus-从-v50-版本开始引入) 默认值由 `false` 改成 `true`,默认开启 Joint consensus 功能。 -+ 系统变量 [`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 的值由数字 0 或者 1 变更成 ON 或者 OFF。 ++ 系统变量 `tidb_enable_amend_pessimistic_txn` 的值由数字 0 或者 1 变更成 ON 或者 OFF。 + 系统变量 [`tidb_enable_clustered_index`](/system-variables.md#tidb_enable_clustered_index-从-v50-版本开始引入) 默认值由 OFF 改成 INT_ONLY 且含义有如下变化: + ON:开启聚簇索引,支持添加或者删除非聚簇索引。 + OFF:关闭聚簇索引,支持添加或者删除非聚簇索引。 @@ -106,11 +106,11 @@ DBA 通过 `ALTER INDEX` 语句可以修改某个索引的可见性。修改后 ### 事务 -[用户文档](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入),[#18005](https://github.com/pingcap/tidb/issues/18005) +[#18005](https://github.com/pingcap/tidb/issues/18005) 悲观事务模式下,如果事务所涉及到的表存在并发的 DDL 操作或者 SCHEMA VERSION 变更,系统自动将该事务的 SCHEMA VERSION 更新到最新版本,以此确保事务会提交成功,避免事务因并发的 DDL 操作或者 SCHEMA VERSION 变更而中断时客户端收到 `Information schema is changed` 的错误信息。 -系统默认关闭此功能,你可以通过修改 [`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 系统变量开启此功能,此功能从 4.0.7 版本开始提供,5.0 版本主要修复了以下问题: +系统默认关闭此功能,你可以通过修改 `tidb_enable_amend_pessimistic_txn` 系统变量开启此功能,此功能从 4.0.7 版本开始提供,5.0 版本主要修复了以下问题: + TiDB Binlog 在执行 Add column 操作的兼容性问题 + 与唯一索引一起使用时存在的数据不一致性的问题 diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 029e3a3cb607..1e2e2818a5b3 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -300,7 +300,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| -|[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 起,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| +|`tidb_enable_amend_pessimistic_txn` | 废弃 | 从 v6.5.0 起,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| | [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_gc_aware_memory_track`](/system-variables.md#tidb_enable_gc_aware_memory_track) | 修改 | 该变量默认值由 `ON` 修改为 `OFF`。由于在测试中发现 GC-Aware memory track 不准确,导致 Analyze 追踪到的内存过大的情况,因此先关闭内存追踪。在 Golang 1.19 下,GC-Aware memory track 追踪的内存对整体内存的影响变小。| @@ -361,7 +361,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 废弃功能 -从 v6.5.0 起,废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md)替代。 +从 v6.5.0 起,废弃 v4.0.7 版本引入的 `AMEND TRANSACTION` 机制,并使用[元数据锁](/metadata-lock.md)替代。 ## 改进提升 diff --git a/system-variables.md b/system-variables.md index 1e4caa83ac6d..057b55bc89c2 100644 --- a/system-variables.md +++ b/system-variables.md @@ -1074,25 +1074,6 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数 > - 启用 TiDB Binlog 后,开启该选项无法获得性能提升。要获得性能提升,建议使用 [TiCDC](/ticdc/ticdc-overview.md) 替代 TiDB Binlog。 > - 启用该参数仅意味着一阶段提交成为可选的事务提交模式,实际由 TiDB 自行判断选择最合适的提交模式进行事务提交。 -### `tidb_enable_amend_pessimistic_txn` 从 v4.0.7 版本开始引入 - -> **警告:** -> -> 该变量从 v6.5.0 开始废弃,并计划将从 v6.6.0 移除。TiDB 默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。 - -- 作用域:SESSION | GLOBAL -- 是否持久化到集群:是 -- 默认值:`OFF` -- 这个变量用于控制是否开启 `AMEND TRANSACTION` 特性。在[悲观事务模式](/pessimistic-transaction.md)下开启该特性后,如果该事务相关的表存在并发 DDL 操作和 SCHEMA VERSION 变更,TiDB 会尝试对该事务进行 amend 操作,修正该事务的提交内容,使其和最新的有效 SCHEMA VERSION 保持一致,从而成功提交该事务而不返回 `Information schema is changed` 报错。该特性对以下并发 DDL 变更生效: - - - `ADD COLUMN` 或 `DROP COLUMN` 类型的 DDL 操作。 - - `MODIFY COLUMN` 或 `CHANGE COLUMN` 类型的 DDL 操作,且只对增大字段长度的操作生效。 - - `ADD INDEX` 或 `DROP INDEX` 类型的 DDL 操作,且操作的索引列须在事务开启之前创建。 - -> **注意:** -> -> 目前该特性可能造成事务语义的变化,且与 TiDB Binlog 存在部分不兼容的场景,可以参考[事务语义行为区别](https://github.com/pingcap/tidb/issues/21069)和[与 TiDB Binlog 兼容问题汇总](https://github.com/pingcap/tidb/issues/20996)了解更多关于该特性的使用注意事项。 - ### `tidb_enable_analyze_snapshot` 从 v6.2.0 版本开始引入 - 作用域:SESSION | GLOBAL diff --git a/tidb-binlog/tidb-binlog-overview.md b/tidb-binlog/tidb-binlog-overview.md index 236c2ed10d72..6cb7d1297640 100644 --- a/tidb-binlog/tidb-binlog-overview.md +++ b/tidb-binlog/tidb-binlog-overview.md @@ -64,10 +64,6 @@ TiDB Binlog 集群主要分为 Pump 和 Drainer 两个组件,以及 binlogctl - TiDB 系统变量 [tidb_enable_async_commit](/system-variables.md#tidb_enable_async_commit-从-v50-版本开始引入):启用 TiDB Binlog 后,开启该选项无法获得性能提升。要获得性能提升,建议使用 [TiCDC](/ticdc/ticdc-overview.md) 替代 TiDB Binlog。 - TiDB 系统变量 [tidb_enable_1pc](/system-variables.md#tidb_enable_1pc-从-v50-版本开始引入):启用 TiDB Binlog 后,开启该选项无法获得性能提升。要获得性能提升,建议使用 [TiCDC](/ticdc/ticdc-overview.md) 替代 TiDB Binlog。 -* TiDB Binlog 与 TiDB v4.0.7 版本开始引入的以下特性不兼容,无法一起使用: - - - TiDB 系统变量 [tidb_enable_amend_pessimistic_txn](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入):两个功能存在兼容性问题,一起使用会造成 TiDB Binlog 复制数据不一致的正确性问题。 - * Drainer 支持将 Binlog 同步到 MySQL、TiDB、Kafka 或者本地文件。如果需要将 Binlog 同步到其他 Drainer 不支持的类型的系统中,可以设置 Drainer 将 Binlog 同步到 Kafka,然后根据 binlog consumer protocol 进行定制处理,参考 [Binlog Consumer Client 用户文档](/tidb-binlog/binlog-consumer-client.md)。 * 如果 TiDB Binlog 用于增量恢复,可以设置配置项 `db-type="file"`,Drainer 会将 binlog 转化为指定的 [proto buffer 格式](https://github.com/pingcap/tidb-binlog/blob/master/proto/pb_binlog.proto)的数据,再写入到本地文件中。这样就可以使用 [Reparo](/tidb-binlog/tidb-binlog-reparo.md) 恢复增量数据。