Skip to content

Establishing relationships between plugins and their persistent data #24465

@imotov

Description

@imotov

As elasticsearch plugins become more sophisticated, they rely more and more on the data that they persist in elasticsearch. This persistent data can be found in three places: plugin-specific indices, index templates that control these indices, and custom cluster state metadata components.

Currently, any plugin can freely create and modify any of these structures in the cluster and we cannot limit certain potentially dangerous operation (such as upgrade for example #24379 (comment)) to plugin's own data structures since no relationships between these structures and the plugin is maintained.

One possible solution that was discussed before is to formalize and unify the interface through which a plugin registers and upgrades custom cluster state and templates. At the same time the plugin might register the mask for its indices or we can come up with some index naming convention that could use to identify that an index "belongs" to a certain plugin.

We would like to discuss this and other possible solutions for this problem.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions