説明
同期プロセスの更新されたステータスまたはエラーを返します。
リクエスト
GET /api/v1/progress
応答
progressエンドポイントは更新されたステータスまたはエラーのいずれかを返します。
正常な応答
応答オブジェクトには、 2の最上位フィールド、 successとprogressが含まれています。
successフィールドには、progress コマンドのステータスが含まれます。値は、コマンドが成功した場合は true で、コマンドが失敗した場合は false です。
mongosyncが同期プロセスのステータスを正常に取得すると、すべての応答フィールドは次のフィールドを持つ最上位のprogressオブジェクトにラップされます。
フィールド | タイプ | 説明 |
|---|---|---|
| string |
|
| ブール値 |
|
| ブール値 |
インデックスの検証は、コミットが完了するまで続きます。 |
| string | 同期の進行状況に関する追加情報を提供します。 可能な
|
| integer |
ソースクラスターでは継続的な何も操作が行われないため、ソースクラスターで実際に書込み (write) が行われていない場合でも、時間差は 0 数秒を超えることが多いです。 バージョン1.9 での埋め込み検証の導入により、埋め込み検証が有効になっているたびに 3 つの異なる
埋め込み検証が無効になっている場合、 |
| integer |
この値は永続化されず、カウントから特定のイベントが省略されるため、イベントの総数を正確に表さない可能性があります。 |
| オブジェクト | コレクションからコピーされるデータの合計量と、宛先クラスターにすでにコピーされたデータ量を見積もります |
| integer | コレクションの初期コピー中にすべての
|
| integer | コレクションの初期コピー中にこの 推定される進行状況の合計をパーセンテージとして計算するには、各 操作の再試行により、 |
| オブジェクト | 同期のマッピング方向(ソースクラスターと宛先クラスター)を説明します。 |
| string | ソースクラスター。 |
| string | 宛先クラスター。 |
| string |
バージョン 1.3 で追加。 |
| string | コーディネーター インスタンスの識別子 string。
バージョン 1.3 で追加。 |
| ドキュメント | 埋め込み検証子によって実行される検証チェックのフェーズと進行状況に関する情報を提供します。 バージョン 1.9 の新機能。 |
| ドキュメント | ソースクラスターで実行中検証チェックのフェーズと進行状況に関する情報を提供します。 バージョン 1.9 の新機能。 |
| integer | ソースクラスター上のドキュメントの推定数。 バージョン 1.9 の新機能。 |
| integer | ソースクラスター上の 検証者によってハッシュされたドキュメントの数 。 バージョン 1.9 の新機能。 |
| integer | ソースクラスターで最後の検証チェックが実行された後の時間(秒単位)。 バージョン 1.9 の新機能。 |
| string | ソースクラスター上の検証プロセスの現在のフェーズ。これは、次の 3 つの値のいずれかになります。
検証子がコレクションを再スキャン する必要がある場合、エンドポイントが以前に バージョン 1.9 の新機能。 |
| integer | ソースクラスター上の 埋め込み検証子 によってスキャンされたコレクションの数。 バージョン 1.9 の新機能。 |
| integer | 検証チェックに含めるソースクラスター上のコレクションの数。 |
| ドキュメント | 宛先クラスターで実行中検証チェックのフェーズと進行状況に関する情報を提供します。 バージョン 1.9 の新機能。 |
| integer | 宛先クラスター上の推定ドキュメント数。 バージョン 1.9 の新機能。 |
| integer | 宛先クラスター上の検証子によってハッシュされたドキュメントの数。 バージョン 1.9 の新機能。 |
| integer | 宛先クラスターで最後に検証チェックが実行された以降の時間(秒単位)。 バージョン 1.9 の新機能。 |
| string | 宛先クラスター上の検証プロセスの現在のフェーズ。これは、次の 3 つの値のいずれかになります。
検証子がコレクションを再スキャン する必要がある場合、エンドポイントが以前に バージョン 1.9 の新機能。 |
| integer | 宛先クラスターの埋め込み検証子によってスキャンされたコレクションの数。 バージョン 1.9 の新機能。 |
| integer | 検証チェックに含める宛先クラスター上のコレクションの数。 バージョン 1.9 の新機能。 |
エラー応答
mongosyncでエラーが発生した場合、 progressエンドポイントは次のフィールドを返します。
フィールド | タイプ | 説明 |
|---|---|---|
| ブール値 |
|
| string | エラーのタイプ。 |
| string | エラーの詳細な説明。 |
動作
mongosyncがIDLE状態にある場合、stateとcanCommitを除くすべての出力フィールドはnullになります。mongosyncがPAUSED状態にある場合、lagTimeSecondsフィールドはnullです。エンドポイントは自動更新されません。 更新されたステータスを取得するには、
progressエンドポイントを再度呼び出します。mongosyncがコレクション コピー フェーズに達する前に/progressを呼び出すと、estimatedCopiedBytesには0が、estimatedTotalBytesには1が返されます。estimatedTotalBytesソースクラスターでドキュメントが挿入または削除された場合、コレクションのコピーフェーズ中に変更される可能性があります。estimatedCopiedBytesはestimatedTotalBytesより大きくはありません。 コレクション コピー フェーズの終了時に進行状況が100 % に達しました(estimatedCopiedBytes=estimatedTotalBytes)。以前のバージョンから1.8.0以降へのライブ アップグレードを実行する場合、コレクションのコピー データは
[0 bytes copied / 1 bytes total]から開始されます。 ライブ アップグレード後、/progressはアップグレード完了後にコピーされたデータの進行状況のみを報告します。注意
mongosync1.7.3以降、 同期操作を再開または再開する際に、mongosyncが応答するまでに少なくとも 2 分かかる場合があります。 この間、progressエンドポイントへの呼び出しが失敗する可能性があります。progress呼び出しが失敗した場合は、安全に再試行できます。
エンドポイント保護
mongosync は、 progressエンドポイントを保護しません。 ただし、デフォルトでは、API は localhost のみにバインドされ、他のソースからの呼び出しは受け入れません。 さらに、 progress呼び出しでは接続認証情報やユーザー データは公開されません。
例
次の例では、同期プロセスのステータスを返します。
リクエスト
curl localhost:27182/api/v1/progress -XGET
応答
{ "progress": { "state":"RUNNING", "canCommit":true, "canWrite":false, "info":"change event application", "lagTimeSeconds":0, "collectionCopy": { "estimatedTotalBytes":694, "estimatedCopiedBytes":694 }, "directionMapping": { "Source":"cluster0: localhost:27017", "Destination":"cluster1: localhost:27018" }, "verification": { "source": { "estimatedDocumentCount": 42, "hashedDocumentCount": 42, "lagTimeSeconds": 2, "totalCollectionCount": 42, "scannedCollectionCount": 10, "phase": "stream hashing" }, "destination": { "estimatedDocumentCount": 42, "hashedDocumentCount": 42, "lagTimeSeconds": 2, "totalCollectionCount": 42, "scannedCollectionCount": 10, "phase": "stream hashing" } } }, "success": true }