Known issues¶
これらは、 EDB Postgres Distributed 5の現在の既知の問題です。これらの既知の問題は、PGDのチケットシステムで追跡されており、将来のリリースで解決される予定です。
update_origin_change競合のリゾルバーがskipに設定され、synchronous_commit=remote_applyが使用され、同じ行の同時更新が2つの異なるノードに繰り返し適用される場合、更新ステートメントの1つがPGDライタとのデッドロックが原因でハングする場合があります。 CRDTデータ型を使用した列の競合の処理 で述べたように、skipはupdate_origin_change競合のデフォルトのリゾルバーではありません。この組み合わせは、本番環境での使用を意図したものではありません。そのノードへの到着順序に基づいて、2つの競合する更新のうちの1つを破棄します。これにより、クラスターが発散する可能性があります。skip競合リゾルバーの使用を選択するまれな状況では、remote_applyモードの使用に関する問題に注意してください。Decoding Worker機能は、 CAMO/Eager/Group Commitでは動作しません。 CAMO/Eager/Group Commitを使用したインストールでは、
enable_wal_decoderを無効にしておく必要があります。ラグ制御は、完全に分離されたノードで、つまり、他のすべてのノードが到達不能または動作不能である場合、コミット遅延を調整しません。少なくとも1つのノードが接続されるとすぐに、レプリケーションラグコントロールが作業を開始し、PGDコミット遅延を再度調整します。
時間ベースのラグ制御の場合、PGDは現在、履歴適用率に基づいた推定キャッチアップタイムではなく、ラグタイム(コミットタイムスタンプで測定)を使用します。
CAMOペアのCAMOパートナーを変更することは現在不可能です。ペアの追加・削除のみ可能です。ペアを追加または削除するには、Postgresの再起動や、構成のリロードさえ必要ありません。
Group Commitは CAMO/failoverオプションを使用したpgbench または Eager All-Node Replication と組み合わせることはできません。 Eager Replicationは現在、グローバルなPGDコミットスコープを使用する場合にのみ機能します。
Eager Replicationを使用するトランザクションはまだDDLを実行できません。 TRUNCATEコマンドは許可されています。
CAMOまたはGroup Commitのいずれかを使用すると、すべてのDDLを実行できるわけではありません。
パラレル適用は現在、Group Commitと組み合わせてサポートされていません。 Group Commitを使用するときは、次のいずれかの方法で無効にしてください。 - GUC
bdr.writers_per_subscriptionを使用。 Configuration of generic replication を参照してください。現在、コミットスコープの変更または削除に対する保護はありません。同時に変更または削除されているコミットスコープでトランザクションを実行すると、トランザクションを適用しようとしているダウンストリームノードでエラーが発生したため、トランザクションのブロックまたはレプリケーションの完全な停止につながる可能性があります。特定のコミットスコープを使用するトランザクションを変更または削除する前に、それが終了していることを確認してください。
PGD CLIの使用 は、以前にクラスターから分離されたノードにまだ接続している場合、クラスターの状態に関する古いデータを返す可能性があります。 pgd-cli-config.yml ファイルを編集するか、 --dsn 設定を変更して、クラスター内のアクティブノードのみが接続用にリストされるようにします。
他のデザインまたは実装 CAMOの制限 の詳細も利用できます。