フォロワーAPIの再開

クロスクラスター複製のフォロワーインデックスを再開します。

リクエスト

Python

  1. resp = client.ccr.resume_follow(
  2. index="<follower_index>",
  3. )
  4. print(resp)

Js

  1. const response = await client.ccr.resumeFollow({
  2. index: "<follower_index>",
  3. });
  4. console.log(response);

コンソール

  1. POST /<follower_index>/_ccr/resume_follow
  2. {
  3. }

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、フォロワーインデックスに対してwriteおよびmonitorのインデックス権限が必要です。リーダーインデックスに対してreadおよびmonitorのインデックス権限が必要です。また、フォロワーインデックスを含むクラスターに対してmanage_ccrのクラスター権限も必要です。詳細については、セキュリティ権限を参照してください。

説明

このAPIは、フォロワーを一時停止するAPIで明示的に一時停止されたか、フォロー中の失敗により再試行できない実行によって暗黙的に一時停止されたフォロワーインデックスを再開します。このAPIが返されると、フォロワーインデックスはリーダーインデックスからの操作の取得を再開します。

パスパラメータ

  • <follower_index>
  • (必須、文字列) フォロワーインデックスの名前。

クエリパラメータ

  • master_timeout
  • (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは30sです。リクエストがタイムアウトしないことを示すために-1に設定することもできます。

リクエストボディ

  • max_read_request_operation_count
  • (整数) リモートクラスターからの読み取りごとにプルする最大操作数。
  • max_outstanding_read_requests
  • (長整数) リモートクラスターからの未処理の読み取りリクエストの最大数。
  • max_read_request_size
  • (バイト値) リモートクラスターからプルされた操作のバッチごとの最大サイズ(バイト)。
  • max_write_request_operation_count
  • (整数) フォロワーで実行されるバルク書き込みリクエストごとの最大操作数。
  • max_write_request_size
  • (バイト値) フォロワーで実行されるバルク書き込みリクエストごとの操作の最大合計バイト数。
  • max_outstanding_write_requests
  • (整数) フォロワーでの未処理の書き込みリクエストの最大数。
  • max_write_buffer_count
  • (整数) 書き込みのためにキューに入れられる最大操作数。この制限に達すると、リモートクラスターからの読み取りは、キューに入れられた操作の数が制限を下回るまで延期されます。
  • max_write_buffer_size
  • (バイト値) 書き込みのためにキューに入れられる操作の最大合計バイト数。この制限に達すると、リモートクラスターからの読み取りは、キューに入れられた操作の合計バイト数が制限を下回るまで延期されます。
  • max_retry_delay
  • (時間値) 例外的に失敗した操作を再試行する前に待機する最大時間。再試行時には指数バックオフ戦略が採用されます。
  • read_poll_timeout
  • (時間値) フォロワーインデックスがリーダーインデックスと同期しているときに、リモートクラスターで新しい操作を待機する最大時間。タイムアウトが経過すると、操作のポーリングはフォロワーに戻り、いくつかの統計を更新できます。その後、フォロワーはすぐにリーダーからの読み取りを再試行します。

デフォルト値

フォロー情報APIからの以下の出力は、上記のインデックスフォローリクエストパラメータのすべてのデフォルト値を説明しています:

コンソール-結果

  1. {
  2. "follower_indices" : [
  3. {
  4. "parameters" : {
  5. "max_read_request_operation_count" : 5120,
  6. "max_read_request_size" : "32mb",
  7. "max_outstanding_read_requests" : 12,
  8. "max_write_request_operation_count" : 5120,
  9. "max_write_request_size" : "9223372036854775807b",
  10. "max_outstanding_write_requests" : 9,
  11. "max_write_buffer_count" : 2147483647,
  12. "max_write_buffer_size" : "512mb",
  13. "max_retry_delay" : "500ms",
  14. "read_poll_timeout" : "1m"
  15. }
  16. }
  17. ]
  18. }

この例では、follower_indexという名前のフォロワーインデックスを再開します:

Python

  1. resp = client.ccr.resume_follow(
  2. index="follower_index",
  3. max_read_request_operation_count=1024,
  4. max_outstanding_read_requests=16,
  5. max_read_request_size="1024k",
  6. max_write_request_operation_count=32768,
  7. max_write_request_size="16k",
  8. max_outstanding_write_requests=8,
  9. max_write_buffer_count=512,
  10. max_write_buffer_size="512k",
  11. max_retry_delay="10s",
  12. read_poll_timeout="30s",
  13. )
  14. print(resp)

Js

  1. const response = await client.ccr.resumeFollow({
  2. index: "follower_index",
  3. max_read_request_operation_count: 1024,
  4. max_outstanding_read_requests: 16,
  5. max_read_request_size: "1024k",
  6. max_write_request_operation_count: 32768,
  7. max_write_request_size: "16k",
  8. max_outstanding_write_requests: 8,
  9. max_write_buffer_count: 512,
  10. max_write_buffer_size: "512k",
  11. max_retry_delay: "10s",
  12. read_poll_timeout: "30s",
  13. });
  14. console.log(response);

コンソール

  1. POST /follower_index/_ccr/resume_follow
  2. {
  3. "max_read_request_operation_count" : 1024,
  4. "max_outstanding_read_requests" : 16,
  5. "max_read_request_size" : "1024k",
  6. "max_write_request_operation_count" : 32768,
  7. "max_write_request_size" : "16k",
  8. "max_outstanding_write_requests" : 8,
  9. "max_write_buffer_count" : 512,
  10. "max_write_buffer_size" : "512k",
  11. "max_retry_delay" : "10s",
  12. "read_poll_timeout" : "30s"
  13. }

APIは以下の結果を返します:

コンソール-結果

  1. {
  2. "acknowledged" : true
  3. }