TiCDC の互換性
このセクションでは、TiCDC に関連する互換性の問題とその処理方法について説明します。
CLI と構成ファイルの互換性
- TiCDC v4.0.0 では、
ignore-txn-commit-tsが削除され、ignore-txn-start-tsが追加され、start_ts を使用してトランザクションをフィルタリングします。 - TiCDC v4.0.2 では、
db-dbs/db-tables/ignore-dbs/ignore-tablesが削除され、データベースとテーブルに新しいフィルター ルールを使用するrulesが追加されました。詳細なフィルター構文については、 テーブル フィルターを参照してください。 - TiCDC v6.2.0 から、TiCDC Open API を介して TiCDCサーバーと直接対話できるようになり
cdc cliた。--serverパラメータを使用して、TiCDCサーバーのアドレスを指定できます。--pdは非推奨です。 - v6.4.0 以降、TiCDC Syncpoint 機能を使用できるのは、
SYSTEM_VARIABLES_ADMINまたはSUPER特権を持つ changefeed のみです。
互換性の問題を処理する
このセクションでは、TiCDC に関連する互換性の問題とその処理方法について説明します。
TiCDC v5.0.0-rc cdc cliツールを使用して v4.0.x クラスターを操作することによって引き起こされる非互換性の問題
TiCDC v5.0.0-rc のcdc cliツールを使用して v4.0.x の TiCDC クラスターを操作すると、次の異常な状況が発生する場合があります。
TiCDC クラスターが v4.0.8 以前のバージョンである場合、v5.0.0-rc
cdc cliツールを使用してレプリケーション タスクを作成すると、クラスターの異常が発生し、レプリケーション タスクがスタックする可能性があります。TiCDC クラスターが v4.0.9 以降のバージョンの場合、v5.0.0-rc
cdc cliツールを使用してレプリケーション タスクを作成すると、古い値と統合ソーター機能が予期せずデフォルトで有効になります。
ソリューション:
TiCDC クラスターのバージョンに対応するcdc実行可能ファイルを使用して、次の操作を実行します。
- v5.0.0-rc
cdc cliツールを使用して作成された変更フィードを削除します。たとえば、tiup cdc:v4.0.9 cli changefeed remove -c xxxx --pd=xxxxx --forceコマンドを実行します。 - レプリケーション タスクがスタックしている場合は、TiCDC クラスターを再起動します。たとえば、
tiup cluster restart <cluster_name> -R cdcコマンドを実行します。 - 変更フィードを再作成します。たとえば、
tiup cdc:v4.0.9 cli changefeed create --sink-uri=xxxx --pd=xxxコマンドを実行します。
ノート:
この問題は、
cdc cliが v5.0.0-rc の場合にのみ発生します。他の v5.0.x バージョンのcdc cliツールは、v4.0.x クラスターと互換性があります。
sort-dirとdata-dirの互換性に関する注意事項
sort-dir構成は、TiCDC ソーターの一時ファイル ディレクトリを指定するために使用されます。その機能は、バージョンによって異なる場合があります。次の表は、バージョン間のsort-dirの互換性の変更を示しています。
| バージョン | sort-engine機能 | ノート | おすすめ |
|---|---|---|---|
| v4.0.11 またはそれ以前の v4.0 バージョン、v5.0.0-rc | これは changefeed 設定項目で、 fileソーターとunifiedソーターの一時ファイル ディレクトリを指定します。 | これらのバージョンでは、 fileソーターとunifiedのソーターは実験的機能であり、本番環境には推奨されません。複数のチェンジフィードが unifiedソーターをsort-engineとして使用する場合、実際の一時ファイル ディレクトリはいずれかのチェンジフィードのsort-dir構成である可能性があり、各 TiCDC ノードに使用されるディレクトリは異なる可能性があります。 | 本番環境でunifiedソーターを使用することはお勧めしません。 |
| v4.0.12、v4.0.13、v5.0.0、および v5.0.1 | changefeed またはcdc serverの設定項目です。 | デフォルトでは、changefeed のsort-dir構成は有効にならず、 cdc serverのsort-dir構成はデフォルトで/tmp/cdc_sortになります。本番環境ではcdc serverのみを構成することをお勧めします。TiUPを使用して TiCDC をデプロイする場合は、最新のTiUPバージョンを使用し、TiCDCサーバー構成で sorter.sort-dirを設定することをお勧めします。v4.0.13、v5.0.0、および v5.0.1 では、 unifiedソーターがデフォルトで有効になっています。クラスターをこれらのバージョンにアップグレードする場合は、TiCDCサーバー構成でsorter.sort-dirが正しく構成されていることを確認してください。 | cdc serverコマンドライン パラメータ (またはTiUP) を使用してsort-dirを構成する必要があります。 |
| v4.0.14 以降の v4.0 バージョン、v5.0.3 以降の v5.0 バージョン、以降の TiDB バージョン | sort-dirは非推奨です。 data-dirを設定することをお勧めします。 | TiUPの最新バージョンを使用してdata-dirを構成できます。これらの TiDB バージョンでは、デフォルトでunifiedソーターが有効になっています。クラスターをアップグレードするときは、 data-dir正しく構成されていることを確認してください。それ以外の場合、一時ファイル ディレクトリとしてデフォルトで/tmp/cdc_dataが使用されます。ディレクトリが配置されているデバイスのstorage容量が不足している場合、ハードディスク容量が不足する問題が発生する可能性があります。この状況では、changefeed の以前の sort-dir構成は無効になります。 | cdc serverコマンドライン パラメータ (またはTiUP) を使用してdata-dirを構成する必要があります。 |
| v6.0.0 以降のバージョン | data-dirは、TiCDC によって生成された一時ファイルを保存するために使用されます。 | v6.0.0 以降、TiCDC はデフォルトでソートエンジンとしてdb sorterを使用します。 data-dirは、このエンジンのディスク ディレクトリです。 | cdc serverコマンドライン パラメータ (またはTiUP) を使用してdata-dirを構成する必要があります。 |
一時テーブルとの互換性
v5.3.0 以降、TiCDC はグローバル一時テーブルをサポートしています。 v5.3.0 より前のバージョンの TiCDC を使用してグローバル一時テーブルをダウンストリームに複製すると、テーブル定義エラーが発生します。
アップストリーム クラスターにグローバル一時テーブルが含まれている場合、ダウンストリーム TiDB クラスターは v5.3.0 以降のバージョンであると予想されます。そうしないと、レプリケーション プロセス中にエラーが発生します。