Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: lidezhu <[email protected]>
  • Loading branch information
qiancai and lidezhu authored Jun 13, 2024
1 parent 64e6642 commit 46ceb8e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ticdc/ticdc-behavior-change.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 46ceb8e

Please sign in to comment.