-
Notifications
You must be signed in to change notification settings - Fork 24.7k
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
Improve documentation around system feature snapshot and restore #79675
Comments
Pinging @elastic/es-core-infra (Team:Core/Infra) |
Pinging @elastic/es-docs (Team:Docs) |
Hi @williamrandolph, I'm currently working on an overhaul of the snapshot/restore documentation with #79081. That work doesn't touch on feature states in depth but does mention system indices. I also recently updated the restore a snapshot tutorial with #76929. Again, that work doesn't go into feature states in depth but does cover some methods for excluding system indices. I think these updates will work best as a follow-on to those efforts, but let me know what you think. I see that you assigned @lockewritesdocs. If you've already discussed these changes with him, let me know. |
I've opened #79683 to specifically address this user pain point. I tentatively plan to incorporate the other changes into #79081.
I may be missing something, but I don't think this works. Even if you exclude the feature state, the request will still return an error if the The only solutions I found were:
Since option 1 works in all cases, I documented that in #79683. However, I could be wrong. Let me know! |
Thanks, James! When it comes to the terminology around "system indices" and "feature states," our thinking is that eventually we want "system indices" to be an implementation detail, and "system features" to be the user-facing catch-all term for system components that use Elasticsearch to store configuration data, metadata, or any other "state." I think you are right about the unfortunate permissiveness of the If you and @lockewritesdocs think that this issue is already covered by what you are doing in your overhaul, it is okay with me if you close this issue. |
Thanks @williamrandolph. I'll leave this open for now. Here's how I've spread out the related docs work:
Both of those reflect how things work as of this writing. We'll need to do another update if we merge #79670 or make other changes that affect the snapshot/restore defaults. |
When restoring a snapshot to a new cluster, users may expect the cluster to not contain any conflicting indices or data streams. However, some features, such as the GeoIP processor, automatically create indices at startup. This adds and updates related procedures in the restore a snapshot tutorial. I plan to improve other documentation related to feature states in snapshots in a separate PR(s). This PR also updates the restore snapshot API's example to include the `indices` and `feature_states` parameters. Relates to #79675
When restoring a snapshot to a new cluster, users may expect the cluster to not contain any conflicting indices or data streams. However, some features, such as the GeoIP processor, automatically create indices at startup. This adds and updates related procedures in the restore a snapshot tutorial. I plan to improve other documentation related to feature states in snapshots in a separate PR(s). This PR also updates the restore snapshot API's example to include the `indices` and `feature_states` parameters. Relates to #79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675 # Conflicts: # docs/setup/upgrade.asciidoc # docs/template.asciidoc
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
With elastic/elasticsearch#79081, we now cover Kibana's **Snapshot and Restore** feature in the Elasticsearch docs. This removes and redirects the related docs from Kibana. It also updates some references to the `.kibana` system indices to include the `kibana` feature state. The `kibana` feature state is now the preferred way to back up and restore system indices and other configuration data for Kibana. Relates to elastic/elasticsearch#79675
Our documentation around snapshots, system indices, and system features is unclear. The technically correct information exists in the API documentation, but mostly under the information about the
feature_states
parameter. I don't believe there is a high-level summary about what a system feature is, what it means to take a snapshot of one, and how to include or exclude it from a snapshot restoration.For example, here is what we currently have in the "Create a snapshot" page:
User stories to document
First, a few definitions from the developer's perspective:
We hope that "feature" and "feature state" are the main concepts with which users needs to concern themselves.
Snapshot
feature_states
parameter.When the snapshot has
include_global_state
set to true, all feature states (meaning, all system indices, associated indices, and system data streams) are included in the snapshot. Snapshots with global state have already proved tricky to restore into new clusters, often because a system index in the global state clashes with something already named in the cluster.Restore
feature_states
request parameter.Where users are running into trouble at the moment is when system indices they don't really care about clash with an index that is already in the cluster. Many users want to know how to exclude a particular system index from the restore operation. Our desired solution is that the user could exclude the feature that owns the system index. Unfortunately, we don't have an
excluded_feature_states
request parameter; the only way to exclude a feature state right now is to put all the feature states except that one in thefeature_states
parameter.Tricky cases
** Request snapshots or restores all indices, with no
feature_states
orinclude_global_state
parameter: all feature states included** Request snapshots or restores one specific index, with
include_global_state
set to true: all feature states included** Request snapshots or restores all indices, with
include_global_state
set to false: no feature states included** Request snapshots or restores all indices, with
feature_states: []
: no feature states included** Request snapshots or restores all indices, with
feature_states: ["none"]
: no feature states includedcc: @gwbrown, @lockewritesdocs, @debadair
The text was updated successfully, but these errors were encountered: