From 46ceb8ecb3de1db1ca337d1111d534c84a04d542 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 13 Jun 2024 14:03:40 +0800 Subject: [PATCH] Apply suggestions from code review Co-authored-by: lidezhu <47731263+lidezhu@users.noreply.github.com> --- ticdc/ticdc-behavior-change.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ticdc/ticdc-behavior-change.md b/ticdc/ticdc-behavior-change.md index 8e0e6c090313..64a0bba671e2 100644 --- a/ticdc/ticdc-behavior-change.md +++ b/ticdc/ticdc-behavior-change.md @@ -55,7 +55,7 @@ COMMIT; ### MySQL Sink -从 v8.1.0 开始,当使用 MySQL Sink 时,TiCDC 在启动时会从 PD 获取当前的时间戳 `thresholdTS`,并根据时间戳的值决定是否拆分 `UPDATE` 事件: +从 v7.1.6 开始,当使用 MySQL Sink 时,TiCDC 的任意节点在收到某张表的同步任务请求并开始向下游同步数据之前,会从 PD 获取当前的时间戳 `thresholdTS`,并根据时间戳的值决定是否拆分 `UPDATE` 事件: - 对于含有单条或多条 `UPDATE` 变更的事务,如果该事务的 `commitTS` 小于 `thresholdTS`,在写入 Sorter 模块之前 TiCDC 会将每条 `UPDATE` 事件拆分为 `DELETE` 和 `INSERT` 两条事件。 - 对于事务的 `commitTS` 大于或等于 `thresholdTS` 的 `UPDATE` 事件,TiCDC 不会对其进行拆分。详情见 GitHub issue [#10918](https://github.com/pingcap/tiflow/issues/10918)。 @@ -97,7 +97,7 @@ UPDATE t SET a = 3 WHERE a = 2; 下游执行完该事务后,数据库内的记录为 `(3, 2)`,与上游数据库的记录(即 `(2, 1)` 和 `(3, 2)`)不同,即发生了数据不一致问题。 -- 在引入该行为变更之后,如果该事务的 `commitTS` 小于 TiCDC 在启动时获取的 `thresholdTS`,TiCDC 会在这些 `UPDATE` 事件写入 Sorter 模块之前将其拆分为 `DELETE` 和 `INSERT` 事件,经过 Sorter 排序后下游实际执行的事件顺序如下: +- 在引入该行为变更之后,如果该事务的 `commitTS` 小于对应表开始向下游同步数据时 TiCDC 获取的 `thresholdTS`,TiCDC 会在这些 `UPDATE` 事件写入 Sorter 模块之前将其拆分为 `DELETE` 和 `INSERT` 事件,经过 Sorter 排序后下游实际执行的事件顺序如下: ```sql BEGIN;