Skip to content

Commit af0ac4a

Browse files
author
github-actions
committed
update MD by dispatch event pingcap/docs release-8.5
1 parent 68fc5a3 commit af0ac4a

File tree

3 files changed

+70
-3
lines changed

3 files changed

+70
-3
lines changed

markdown-pages/en/tidb/release-8.5/ticdc/ticdc-architecture.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ When this feature is enabled, TiCDC automatically splits and distributes tables
6868
6969
## Compatibility
7070

71+
Except as described in the following special cases, the TiCDC new architecture is fully compatible with the classic architecture.
72+
7173
### DDL progress tracking table
7274

7375
In the TiCDC classic architecture, DDL replication operations are strictly serial, thus the replication progress can be tracked only using the changefeed's `CheckpointTs`. In the new architecture, however, TiCDC replicates DDL changes for different tables in parallel whenever possible to improve DDL replication efficiency. To accurately record the DDL replication progress of each table in a downstream MySQL-compatible database, the TiCDC new architecture creates a table named `tidb_cdc.ddl_ts_v1` in the downstream database, specifically storing the DDL replication progress information of the changefeed.

markdown-pages/en/tidb/release-8.5/ticdc/ticdc-compatibility.md

Lines changed: 67 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ summary: Learn about compatibility issues of TiCDC and how to handle them.
77

88
This section describes compatibility issues related to TiCDC and how to handle them.
99

10+
## Compatibility between TiCDC new architecture and TiDB clusters
11+
12+
The TiCDC new architecture supports TiDB clusters of v7.5.0 and later. For special compatibility notes, see [Compatibility](/ticdc/ticdc-architecture.md#compatibility).
13+
1014
## Compatibility with TiDB Lightning
1115

1216
[TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) provides two data import modes: [logical import mode](/tidb-lightning/tidb-lightning-logical-import-mode.md) and [physical import mode](/tidb-lightning/tidb-lightning-physical-import-mode.md). This section describes the compatibility of these modes with TiCDC and the steps to use TiDB Lightning and TiCDC together in a cluster.
@@ -35,11 +39,71 @@ Currently, when you use TiCDC to replicate tables to a downstream TiDB cluster,
3539
* `ALTER TABLE table_name SET TIFLASH REPLICA count;`
3640
* `ALTER DATABASE db_name SET TIFLASH REPLICA count;`
3741

42+
## Compatibility notes for upgrading from earlier versions
43+
44+
TiCDC relies on TiDB, TiKV, and PD to provide upstream change data and related interfaces. As TiDB and related components continue to evolve, these data formats and interfaces might change. For example, features such as parallel DDL and fast table creation in TiDB can change related logic and data processing workflows, and TiCDC needs corresponding adaptations. Therefore, the **TiCDC classic architecture does not guarantee official forward or backward compatibility in mixed TiDB/TiKV/PD deployments across versions**. The TiCDC new architecture provides **backward compatibility** for TiDB clusters of v7.5.0 and later.
45+
46+
### Upgrade recommendations for the TiCDC classic architecture
47+
48+
For the TiCDC classic architecture, it is **not recommended to keep changefeeds running during a TiDB rolling upgrade**. During the upgrade, it is recommended to perform the following steps in order:
49+
50+
1. Pause all changefeeds.
51+
2. Upgrade TiCDC first.
52+
3. Upgrade the other components in the TiDB cluster.
53+
4. Resume all changefeeds after the upgrade is complete.
54+
55+
For example, assuming that you upgrade the cluster from v8.5.4 to v8.5.5, if you manage the cluster using TiUP, you can refer to the following commands. The following example uses `linux-amd64`. For other platforms, replace the platform information in the package names based on your environment.
56+
57+
```sh
58+
# 1. Pause all changefeeds. Run this command once for each changefeed.
59+
tiup cdc:v8.5.4 cli changefeed pause \
60+
--server=http://<ticdc-host>:8300 \
61+
--changefeed-id=<changefeed-id>
62+
63+
# 2. Upgrade TiCDC first.
64+
wget https://tiup-mirrors.pingcap.com/cdc-v8.5.5-linux-amd64.tar.gz \
65+
-O /tmp/cdc-v8.5.5-linux-amd64.tar.gz
66+
tiup cluster patch <cluster-name> /tmp/cdc-v8.5.5-linux-amd64.tar.gz -R cdc
67+
68+
# 3. Upgrade the other components in the TiDB cluster.
69+
# Run patch for each component that exists in the cluster.
70+
# The following example includes PD, TiKV, and TiDB.
71+
wget https://tiup-mirrors.pingcap.com/pd-v8.5.5-linux-amd64.tar.gz \
72+
-O /tmp/pd-v8.5.5-linux-amd64.tar.gz
73+
wget https://tiup-mirrors.pingcap.com/tikv-v8.5.5-linux-amd64.tar.gz \
74+
-O /tmp/tikv-v8.5.5-linux-amd64.tar.gz
75+
wget https://tiup-mirrors.pingcap.com/tidb-v8.5.5-linux-amd64.tar.gz \
76+
-O /tmp/tidb-v8.5.5-linux-amd64.tar.gz
77+
78+
tiup cluster patch <cluster-name> /tmp/pd-v8.5.5-linux-amd64.tar.gz -R pd
79+
tiup cluster patch <cluster-name> /tmp/tikv-v8.5.5-linux-amd64.tar.gz -R tikv
80+
tiup cluster patch <cluster-name> /tmp/tidb-v8.5.5-linux-amd64.tar.gz -R tidb
81+
82+
# If the cluster also includes components such as TiFlash, TiProxy, or TiKV-CDC,
83+
# run patch for each of them in the same way.
84+
85+
# 4. Resume all changefeeds after the upgrade is complete.
86+
# Run this command once for each changefeed.
87+
tiup cdc:v8.5.5 cli changefeed resume \
88+
--server=http://<ticdc-host>:8300 \
89+
--changefeed-id=<changefeed-id>
90+
```
91+
92+
> **Note:**
93+
>
94+
> `tiup cluster patch` can replace only one component at a time, so in step 3 you need to run it separately for each component that exists in the cluster.
95+
96+
### Upgrade recommendations for the TiCDC new architecture
97+
98+
The TiCDC new architecture can keep changefeeds running during a TiDB rolling upgrade, but only if TiCDC has already been using the new architecture before the upgrade.
99+
100+
If you need to upgrade or switch between the TiCDC classic and new architectures, see [Upgrade guide](/ticdc/ticdc-architecture.md#upgrade-guide).
101+
38102
## CLI and configuration file compatibility
39103

40-
* In TiCDC v4.0.0, `ignore-txn-commit-ts` is removed and `ignore-txn-start-ts` is added, which uses start_ts to filter transactions.
104+
* In TiCDC v4.0.0, `ignore-txn-commit-ts` is removed and `ignore-txn-start-ts` is added, which uses `start_ts` to filter transactions.
41105
* In TiCDC v4.0.2, `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables` are removed and `rules` is added, which uses new filter rules for databases and tables. For detailed filter syntax, see [Table Filter](/table-filter.md).
42-
* Starting from TiCDC v6.2.0, `cdc cli` can directly interact with TiCDC server via TiCDC Open API. You can specify the address of the TiCDC server using the `--server` parameter. `--pd` is deprecated.
106+
* Starting from TiCDC v6.2.0, `cdc cli` interacts directly with TiCDC server via the TiCDC Open API, without requiring access to PD. The `--pd` parameter in `cdc cli` subcommands is deprecated, and the `--server` parameter is added to specify the TiCDC server address. Use `--server` instead of `--pd`.
43107
* Since v6.4.0, only the changefeed with the `SYSTEM_VARIABLES_ADMIN` or `SUPER` privilege can use the TiCDC Syncpoint feature.
44108

45109
## Handle compatibility issues
@@ -89,4 +153,4 @@ Starting from v8.4.0, TiCDC supports replicating tables with [vector data types]
89153

90154
When the downstream is Kafka or a storage service (such as Amazon S3, GCS, Azure Blob Storage, or NFS), TiCDC converts vector data types into string types before writing to the downstream.
91155

92-
When the downstream is a MySQL-compatible database that does not support vector data types, TiCDC fails to write DDL events involving vector types to the downstream. In this case, add the `has-vector-type=true` parameter to `sink-url`, which allows TiCDC to convert vector data types into the `LONGTEXT` type before writing.
156+
When the downstream is a MySQL-compatible database that does not support vector data types, TiCDC fails to write DDL events involving vector types to the downstream. In this case, add the `has-vector-type=true` parameter to `sink-url`, which allows TiCDC to convert vector data types into the `LONGTEXT` type before writing.

markdown-pages/en/tidb/release-8.5/upgrade-tidb-using-tiup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ This document applies to upgrading to TiDB v8.5.x from the following versions: v
5050

5151
- TiDB currently does not support version downgrade or rolling back to an earlier version after the upgrade.
5252
- Support upgrading the versions of TiCDC, TiFlash, and other components.
53+
- If your cluster includes an earlier TiCDC version based on the classic architecture, such as `v8.1.2`, it is not recommended to keep changefeeds running during a TiDB rolling upgrade. If the target TiDB version is later than the TiCDC classic architecture version, you must upgrade TiCDC first. During the upgrade, it is recommended to perform the steps in the following order: pause all changefeeds, upgrade TiCDC, upgrade the TiDB cluster, and resume all changefeeds. For more information, see [Compatibility notes for upgrading from earlier versions](/ticdc/ticdc-compatibility.md#compatibility-notes-for-upgrading-from-earlier-versions).
5354
- When upgrading TiFlash from versions earlier than v6.3.0 to v6.3.0 and later versions, note that the CPU must support the AVX2 instruction set under the Linux AMD64 architecture and the ARMv8 instruction set architecture under the Linux ARM64 architecture. For details, see the description in [v6.3.0 Release Notes](/releases/release-6.3.0.md#others).
5455
- For detailed compatibility changes of different versions, see the [Release Notes](/releases/_index.md) of each version. Modify your cluster configuration according to the "Compatibility Changes" section of the corresponding release notes.
5556
- When updating clusters from versions earlier than v5.3 to v5.3 or later versions, note that there is a time format change in the alerts generated by the default deployed Prometheus. This format change is introduced starting from Prometheus v2.27.1. For more information, see [Prometheus commit](https://github.com/prometheus/prometheus/commit/7646cbca328278585be15fa615e22f2a50b47d06).

0 commit comments

Comments
 (0)