忘记跟随者 API

编辑

从领导者中删除跨集群复制跟随者的保留租约。

请求

编辑
resp = client.ccr.forget_follower(
    index="<leader_index>",
    follower_cluster="<follower_cluster>",
    follower_index="<follower_index>",
    follower_index_uuid="<follower_index_uuid>",
    leader_remote_cluster="<leader_remote_cluster>",
)
print(resp)
const response = await client.ccr.forgetFollower({
  index: "<leader_index>",
  follower_cluster: "<follower_cluster>",
  follower_index: "<follower_index>",
  follower_index_uuid: "<follower_index_uuid>",
  leader_remote_cluster: "<leader_remote_cluster>",
});
console.log(response);
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 的跟随者保留租约。

resp = client.ccr.forget_follower(
    index="leader_index",
    follower_cluster="follower_cluster",
    follower_index="follower_index",
    follower_index_uuid="vYpnaWPRQB6mNspmoCeYyA",
    leader_remote_cluster="leader_cluster",
)
print(resp)
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
const response = await client.ccr.forgetFollower({
  index: "leader_index",
  follower_cluster: "follower_cluster",
  follower_index: "follower_index",
  follower_index_uuid: "vYpnaWPRQB6mNspmoCeYyA",
  leader_remote_cluster: "leader_cluster",
});
console.log(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" : [ ]
  }
}