mongosync
状態
mongosync
は、受信したリクエストに応じて異なる状態になります。 mongosync
は特定の時点で 1 つの状態のみになることができます。 現在のmongosync
の状態によって、実行できる API 操作が決まります。
注意
ほとんどの状態移行は、API 呼び出しの結果として発生します。 例外は次のとおりです。
COMMITTING
からCOMMITTED
への移行。 詳しくは、「 同期を確定する 」を参照してください。REVERSING
からRUNNING
への移行。 詳しくは、「 元の同期 」を参照してください。
このページではmongosync
の状態について説明します。
現在の状態の表示
mongosync
の現在の状態を表示するには/progressを使用します。 エンドポイント。 /progressエンドポイントは、 state
フィールドの状態を返します。
注意
mongosync
1.7.3以降、 同期操作を再開または再開する際に、 mongosync
が応答するまでに少なくとも 2 分かかる場合があります。 この間、 progress
エンドポイントへの呼び出しが失敗する可能性があります。 progress
呼び出しが失敗した場合は、安全に再試行できます。
状態の説明
以下の表は各状態について説明し、その状態で許可される操作を示しています。
状態 | 説明 | 可能な API 操作 |
---|---|---|
| mongosync は初期化され、同期ジョブを開始する準備ができています。 | |
| 同期プロセスは現在実行中です。 この状態では、データは宛先クラスターに最初に同期されます。 ソースクラスターへのその後の書込みは宛先クラスターに適用されます。 | |
| 同期プロセスが一時停止されます。 同期プロセスを再開するには、 /resumeエンドポイントに リクエストを送信します。 | |
| 同期プロセスのカットオーバーが開始されました。 COMMITTED フェーズへの移行にかかる時間は、 lagTimeSeconds によって異なります。 lagTimeSeconds を監視したり、 mongosync がコミットを完了したかどうかを確認するには、 /progressエンドポイントを使用します。 |
|
| 同期プロセスのカットオーバーが完了しました。 | |
| 同期プロセスでは、宛先クラスターからソースクラスターにメタデータがコピーされます。 その後、MongoDB はソースクラスターと宛先クラスターをスワップし、変更イベントの適用を再開します。 |
|