-
Notifications
You must be signed in to change notification settings - Fork 25.7k
Add documentation on remote recovery #39483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
dbda7f4
9679748
199501d
6710797
b3d8556
5f656ca
72897af
6e08ddb
ef289ba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,65 @@ | ||||||
| [[remote-recovery]] | ||||||
| === Remote Recovery | ||||||
|
|
||||||
Tim-Brooks marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| Remote recovery is the process used to build a new copy of a shard on a follower | ||||||
Tim-Brooks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| node by copying data from the primary shard in the leader cluster. {es} uses this | ||||||
| remote recovery process to bootstrap a follower index using the data from the | ||||||
| leader index. This allows the follower to receive a copy of the current state of | ||||||
Tim-Brooks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| the leader index, even if a complete history of changes is not available on the | ||||||
| leader due to Lucene segment merging. | ||||||
|
|
||||||
| Remote recovery is a network intensive process that transfers all of the Lucene | ||||||
| segment files from the leader cluster to the follower cluster. The follower | ||||||
| requests that a recovery session be initiated on the primary shard in the leader | ||||||
| cluster. The follower then requests file chunks concurrently from the leader. By | ||||||
| default, the the process concurrently requests `5` large `1mb` file chunks as remote | ||||||
Tim-Brooks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| recovery is designed to support leader and follower clusters with high network | ||||||
Tim-Brooks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| latency between them. | ||||||
|
|
||||||
| Information about an in-progress remote recovery can be obtained using the | ||||||
Tim-Brooks marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| <<cat-recovery,recovery>> api on the follower cluster. Remote recoveries are implemented | ||||||
| using the <<modules-snapshots,snapshot and restore>> infrastructure. This means that | ||||||
| on-going remote recoveries will be labelled as type `snapshot` in the recovery api. | ||||||
|
||||||
| on-going remote recoveries will be labelled as type `snapshot` in the recovery api. | |
| on-going remote recoveries are labelled as type `snapshot` in the recovery API. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there some way to know when the recovery process is complete (other than using the recovery API)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The recovery API is the primary. You could probably use the cat indices api to check if the index is green. You can also add a parameter to a follower request to wait until the process is completed. However, that is documented on the put follow request page.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We generally store these types of settings in the Elasticsearch Reference in pages like the ones linked here: https://www.elastic.co/guide/en/elasticsearch/reference/master/settings-xpack.html
I am happy to create that page if you agree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I've added those changes.
Uh oh!
There was an error while loading. Please reload this page.