Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/ /

progress

項目一覧

  • 説明
  • リクエスト
  • 応答
  • 正常な応答
  • エラー応答
  • 動作
  • エンドポイント保護
  • リクエスト
  • 応答

同期プロセスの更新されたステータスまたはエラーを返します。

GET /api/v1/progress

progressエンドポイントは更新されたステータスまたはエラーのいずれかを返します。

応答オブジェクトには、 2の最上位フィールド、 successprogressが含まれています。

successフィールドには、 progressコマンドのステータスが含まれます。 常にtrueの場合、値はtrueです。

mongosyncが同期プロセスのステータスを正常に取得すると、すべての応答フィールドは次のフィールドを持つ最上位のprogressオブジェクトにラップされます。

フィールド
タイプ
説明
state
string
mongosyncの現在の状態。 利用可能な状態の詳細については、「 状態の説明 」を参照してください。
canCommit
ブール値
trueの場合、コミットリクエストが成功することを示します。 これは、最初の同期が完了し、変更イベントが適用されていることも意味します。
canWrite
ブール値

trueの場合、 は、宛先クラスターで書込み(write)が許可されていることを示します。 Do not write to the destination cluster while canWrite is false.

インデックスの検証は、コミットが完了するまで続きます。

info
string

同期の進行状況に関する追加情報を提供します。 可能なinfo値は次のとおりです。

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lagTimeSeconds
integer

mongosyncが宛先クラスターに適用した最新のイベント タイムスタンプと、 mongosyncのこのインスタンスのソースクラスターの最新タイムスタンプとの間の時間差(秒単位)。

mongosync はソースクラスターに対して定期的にノーオペレーション(no-op)書込みを実行するため、 mongosync lagTimeSecondsフィールドの値が 0 にならない可能性があります。

ソースクラスターでは継続的な何も操作が行われないため、ソースクラスターで実際に書込み (write) が行われていない場合でも、時間差は 0 数秒を超えることが多いです。 mongosyncが移行をコミットすると、時間差は 0 になります。

totalEventsApplied
integer

mongosyncのこのインスタンスが宛先クラスターに適用した変更イベントのおおよその数。

この値は永続化されず、カウントから特定のイベントが省略されるため、イベントの総数を正確に表さない可能性があります。

collectionCopy
オブジェクト
コレクションからコピーされるデータの合計量と、宛先クラスターにすでにコピーされたデータ量を見積もります
collectionCopy .estimatedTotalBytes
integer

コレクションの初期コピー中にすべてのmongosyncインスタンスによってグローバルにコピーされる推定合計バイト数。

mongosync は、移行前に推定される合計バイト数を近似し、同期プロセス中にこの値を更新しません。 この値は、同期中にソースクラスターに加えられた変更を反映していないため、移行の進行状況を正確に示すものではありません。

collectionCopy .estimatedCopiedBytes
integer

コレクションの初期コピー中にこのmongosyncインスタンスによって宛先クラスターにコピーされた推定バイト数。

推定される進行状況の合計をパーセンテージとして計算するには、各mongosyncインスタンスのestimatedCopiedBytesフィールドの値を加算し、その結果をestimatedTotalBytesフィールドの値で割ります。 次に、結果に 100 を掛けます。

操作の再試行により、 estimatedCopiedBytesの値はestimatedTotalBytesの値より大きくなる可能性があります。 estimatedTotalBytesestimatedCopiedBytesの比較は、移行の進行状況を示す正確なインジケーターではありません。

directionMapping
オブジェクト
同期のマッピング方向(ソースクラスターと宛先クラスター)を説明します。
directionMapping .Source
string
ソースクラスター。 <cluster name>: <host>:<port>の形式で返されます。
directionMapping .Destination
string
宛先クラスター。 <cluster name>: <host>:<port>の形式で返されます。
mongosyncID
string

mongosync インスタンスの識別子string 。

バージョン 1.3 で追加

coordinatorID
string

コーディネーター インスタンスの識別子 string。

  • mongosync が別の インスタンスによって調整されている場合、このフィールドにはコーディネーター インスタンスの識別子stringが表示されます。

  • mongosyncがコーディネーターであるか、単独で実行されている場合、このフィールドはmongosyncIDフィールドと同じ値を返します。

  • mongosyncが起動すると、 mongosyncがコーディネーターを識別するまで、このフィールドはnullを返します。

バージョン 1.3 で追加

mongosyncでエラーが発生した場合、 progressエンドポイントは次のフィールドを返します。

フィールド
タイプ
説明
success
ブール値
progressコマンドのステータス。 値は、コマンドが成功した場合はtrueで、コマンドが失敗した場合はfalseです。
error
string
エラーのタイプ。
errorDescription
string
エラーの詳細な説明。
  • mongosyncIDLE状態にある場合、 statecanCommitを除くすべての出力フィールドはnullになります。

  • mongosyncPAUSED状態にある場合、 lagTimeSecondsフィールドはnullです。

  • エンドポイントは自動更新されません。 更新されたステータスを取得するには、 progressエンドポイントを再度呼び出します。

  • mongosyncがコレクション コピー フェーズに達する前に/progressを呼び出すと、 estimatedCopiedBytesには0が、 estimatedTotalBytesには1が返されます。

  • estimatedTotalBytes ソースクラスターでドキュメントが挿入または削除された場合、コレクションのコピーフェーズ中に変更される可能性があります。

  • estimatedCopiedBytesestimatedTotalBytesより大きくはありません。 コレクション コピー フェーズの終了時に進行状況が100 % に達しました( estimatedCopiedBytes = estimatedTotalBytes )。

  • 以前のバージョンから1.8.0以降へのライブ アップグレードを実行する場合、コレクションのコピー データは[0 bytes copied / 1 bytes total]から開始されます。 ライブ アップグレード後、 /progressはアップグレード完了後にコピーされたデータの進行状況のみを報告します。

    注意

    mongosync 1.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"
}
},
"success": true
}

戻る

始める