忘记跟随者 API编辑

从领导者中删除跟随者保留租约。

请求编辑

POST /<leader_index>/_ccr/forget_follower
{
  "follower_cluster" : "<follower_cluster>",
  "follower_index" : "<follower_index>",
  "follower_index_uuid" : "<follower_index_uuid>",
  "leader_remote_cluster" : "<leader_remote_cluster>"
}
{
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0,
    "failures" : [ ]
  }
}

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,您必须对领导者索引具有 manage_leader_index 索引权限。有关更多信息,请参阅 安全权限

描述编辑

跟随索引会在其领导者索引上获取保留租约。这些保留租约用于增加领导者索引的碎片保留跟随索引的碎片需要执行复制的操作历史记录的可能性。当跟随索引通过 取消跟随 API 转换为常规索引时(无论是通过显式执行此 API,还是通过索引生命周期管理隐式执行),这些保留租约将被删除。但是,删除这些保留租约可能会失败(例如,如果包含领导者索引的远程集群不可用)。虽然这些保留租约最终会自行过期,但它们的存在时间过长会导致领导者索引保留比必要更多的历史记录,并阻止索引生命周期管理对领导者索引执行某些操作。此 API 存在是为了在取消跟随 API 无法做到这一点时,能够手动删除这些保留租约。

此 API 不会停止跟随索引的复制。如果您使用此 API 针对仍然积极跟随的跟随索引,跟随索引将在领导者上添加回保留租约。此 API 的唯一目的是处理在调用 取消跟随 API 后,无法删除跟随保留租约的情况。

路径参数编辑

<leader_index>
(必需,字符串) 领导者索引的名称。

查询参数编辑

timeout
(可选,时间) 控制等待结果的时间。默认为无限。

请求主体编辑

follower_cluster
(必需,字符串) 包含跟随索引的集群的名称。
follower_index
(必需,字符串) 跟随索引的名称。
follower_index_uuid
(必需,字符串) 跟随索引的 UUID。
leader_remote_cluster
(必需,字符串) 包含跟随索引的集群(从包含跟随索引的集群的角度来看)的 远程集群 的别名,该集群包含领导者索引。

示例编辑

此示例从 leader_index 中删除 follower_index 的跟随者保留租约。

response = client.ccr.forget_follower(
  index: 'leader_index',
  body: {
    follower_cluster: 'follower_cluster',
    follower_index: 'follower_index',
    follower_index_uuid: 'vYpnaWPRQB6mNspmoCeYyA',
    leader_remote_cluster: 'leader_cluster'
  }
)
puts response
POST /leader_index/_ccr/forget_follower
{
  "follower_cluster" : "follower_cluster",
  "follower_index" : "follower_index",
  "follower_index_uuid" : "vYpnaWPRQB6mNspmoCeYyA",
  "leader_remote_cluster" : "leader_cluster"
}

API 返回以下结果

{
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0,
    "failures" : [ ]
  }
}