»/sys/replication

»Attempt Recovery

This endpoint attempts recovery if replication is in an adverse state. For example: an error has caused replication to stop syncing.

MethodPath
POST/sys/replication/recover

»Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request POST \
    http://127.0.0.1:8200/v1/sys/replication/recover
$ curl \    --header "X-Vault-Token: ..." \    --request POST \    http://127.0.0.1:8200/v1/sys/replication/recover

»Sample Response

{
  "warnings": ["..."]
}
{  "warnings": ["..."]}

»Reindex Replication

This endpoint reindexes the local data storage. This can cause a very long delay depending on the number and size of objects in the data store.

This endpoint requires 'sudo' capability.

MethodPath
POST/sys/replication/reindex

»Parameters

  • diff (bool: false) – Enables a slower re-indexing which will perform a key level check to diagnose issues. Defaults false.

  • force (bool: false) – Forces a complete re-indexing which only scans data available in the storage. Defaults false.

  • skip_flush (bool: false) – Skips the tree flushing stage of the reindex process. This setting can be used to reduce the amount of time the tree is locked during a reindex process. If this node is killed before the full tree has been asynchronously flushed the reindex may not have applied fully and a new reindex may need to be done. Shutting down this node cleanly will cause the tree to be flushed prior to shutdown. Defaults false.

»Sample Payload

{}
{}

»Sample Request

$ curl \
    --header "X-Vault-Token: ..." \
    --request POST \
    http://127.0.0.1:8200/v1/sys/replication/reindex
$ curl \    --header "X-Vault-Token: ..." \    --request POST \    http://127.0.0.1:8200/v1/sys/replication/reindex

»Sample Response

{
  "warnings": ["..."]
}
{  "warnings": ["..."]}

»Check Status

This endpoint print information about the status of replication (mode, sync progress, etc).

This is an unauthenticated endpoint.

MethodPath
GET/sys/replication/status

»Sample Request

$ curl \
    http://127.0.0.1:8200/v1/sys/replication/status
$ curl \    http://127.0.0.1:8200/v1/sys/replication/status

»Sample Response

The printed status of the replication environment. As an example, for a performance primary and DR primary node, it will look something like:

{
  "data": {
    "dr": {
      "cluster_id": "f2c21cb5-523f-617b-20ac-c913d9154ba6",
      "known_secondaries": ["3"],
      "last_wal": 291,
      "merkle_root": "38543b95d44132138003939addbaf94125ec184e",
      "mode": "primary",
      "primary_cluster_addr": "",
      "secondaries": [
        {
          "api_address": "https://127.0.0.1:49264",
          "cluster_address": "https://127.0.0.1:49267",
          "connection_status": "connected",
          "last_heartbeat": "2020-06-10T15:40:47-07:00",
          "node_id": "3"
        }
      ]
    },
    "performance": {
      "cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",
      "known_secondaries": ["2"],
      "last_wal": 291,
      "merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",
      "mode": "primary",
      "primary_cluster_addr": "",
      "secondaries": [
        {
          "api_address": "https://127.0.0.1:49253",
          "cluster_address": "https://127.0.0.1:49256",
          "connection_status": "connected",
          "last_heartbeat": "2020-06-10T15:40:46-07:00",
          "node_id": "2"
        }
      ]
    }
  }
}
{  "data": {    "dr": {      "cluster_id": "f2c21cb5-523f-617b-20ac-c913d9154ba6",      "known_secondaries": ["3"],      "last_wal": 291,      "merkle_root": "38543b95d44132138003939addbaf94125ec184e",      "mode": "primary",      "primary_cluster_addr": "",      "secondaries": [        {          "api_address": "https://127.0.0.1:49264",          "cluster_address": "https://127.0.0.1:49267",          "connection_status": "connected",          "last_heartbeat": "2020-06-10T15:40:47-07:00",          "node_id": "3"        }      ]    },    "performance": {      "cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",      "known_secondaries": ["2"],      "last_wal": 291,      "merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",      "mode": "primary",      "primary_cluster_addr": "",      "secondaries": [        {          "api_address": "https://127.0.0.1:49253",          "cluster_address": "https://127.0.0.1:49256",          "connection_status": "connected",          "last_heartbeat": "2020-06-10T15:40:46-07:00",          "node_id": "2"        }      ]    }  }}

Possible values for connection_status are connected or disconnected. last_heartbeat is the timestamp of the last time this node exchanged heartbeats with another node.

»Sample Response from Performance Secondary & DR Primary

The printed status of the replication environment. As an example, for a performance secondary and DR primary node, it will look something like:

{
  "data": {
    "dr": {
      "cluster_id": "e4bfa800-002e-7b6d-14c2-617855ece02f",
      "known_secondaries": ["4"],
      "last_wal": 455,
      "merkle_root": "cdcf796619240ce19dd8af30fa700f64c8006e3d",
      "mode": "primary",
      "primary_cluster_addr": "",
      "secondaries": [
        {
          "api_address": "https://127.0.0.1:49277",
          "cluster_address": "https://127.0.0.1:49281",
          "connection_status": "connected",
          "last_heartbeat": "2020-06-10T15:40:46-07:00",
          "node_id": "4"
        }
      ]
    },
    "performance": {
      "cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",
      "known_primary_cluster_addrs": ["https://127.0.0.1:8201"],
      "last_remote_wal": 291,
      "merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",
      "mode": "secondary",
      "primaries": [
        {
          "api_address": "https://127.0.0.1:49244",
          "cluster_address": "https://127.0.0.1:8201",
          "connection_status": "connected",
          "last_heartbeat": "2020-06-10T15:40:46-07:00"
        }
      ],
      "primary_cluster_addr": "https://127.0.0.1:8201",
      "secondary_id": "2",
      "state": "stream-wals"
    }
  }
}
{  "data": {    "dr": {      "cluster_id": "e4bfa800-002e-7b6d-14c2-617855ece02f",      "known_secondaries": ["4"],      "last_wal": 455,      "merkle_root": "cdcf796619240ce19dd8af30fa700f64c8006e3d",      "mode": "primary",      "primary_cluster_addr": "",      "secondaries": [        {          "api_address": "https://127.0.0.1:49277",          "cluster_address": "https://127.0.0.1:49281",          "connection_status": "connected",          "last_heartbeat": "2020-06-10T15:40:46-07:00",          "node_id": "4"        }      ]    },    "performance": {      "cluster_id": "1598d434-dfec-1f48-f019-3d22a8075bf9",      "known_primary_cluster_addrs": ["https://127.0.0.1:8201"],      "last_remote_wal": 291,      "merkle_root": "43f40fc775b40cc76cd5d7e289b2e6eaf4ba138c",      "mode": "secondary",      "primaries": [        {          "api_address": "https://127.0.0.1:49244",          "cluster_address": "https://127.0.0.1:8201",          "connection_status": "connected",          "last_heartbeat": "2020-06-10T15:40:46-07:00"        }      ],      "primary_cluster_addr": "https://127.0.0.1:8201",      "secondary_id": "2",      "state": "stream-wals"    }  }}