Skip to content
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

External system indices #67383

Closed
jaymode opened this issue Jan 12, 2021 · 1 comment · Fixed by #68919
Closed

External system indices #67383

jaymode opened this issue Jan 12, 2021 · 1 comment · Fixed by #68919
Assignees
Labels
:Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team

Comments

@jaymode
Copy link
Member

jaymode commented Jan 12, 2021

In the original design of system indices (#50251), every system index would require application specific APIs for access via the REST layer. This works well for features that make use of system indices that live within the Elasticsearch repository but once other pieces of the stack and other features started looking at system indices then there are aspects that cause friction and pain points such as code living in multiple repositories and maintenance/ownership burden. In order to address this, system indices will be split into multiple types. What we've been calling system indices previously, will be known as internal system indices; these indices would belong to code that primarily lives and/or runs within Elasticsearch. Two new types of system indices will be introduced managed external system indices and unmanaged external system indices.

Both types of external system indices will make use of existing APIs to access system indices with a special header and value pair. The primary difference will be the management of the index; managed external system indices are those that Elasticsearch manages the creation, mappings, and settings of; unmanaged external system indices will be completely managed by a component that exists outside of Elasticsearch and performs the management using existing REST APIs.

More details about specific items to be implemented and changed will be added here.

@jaymode jaymode added the :Core/Infra/Core Core issues without another label label Jan 12, 2021
@jaymode jaymode self-assigned this Jan 12, 2021
@elasticmachine elasticmachine added the Team:Core/Infra Meta label for core/infra team label Jan 12, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

jaymode added a commit to jaymode/elasticsearch that referenced this issue Feb 11, 2021
This commit introduces system index types that will be used to
differentiate behavior. Previously system indices were all treated the
same regardless of whether they belonged to Elasticsearch, a stack
component, or one of our solutions. Upon further discussion and
analysis this decision was not in the best interest of the various
teams and instead a new type of system index was needed. These system
indices will be referred to as external system indices. Within external
system indices, an option exists for these indices to be managed by
Elasticsearch or to be managed by the external product.

In order to represent this within Elasticsearch, each system index will
have a type and this type will be used to control behavior.

Closes elastic#67383
jaymode added a commit that referenced this issue Mar 1, 2021
This commit introduces system index types that will be used to
differentiate behavior. Previously system indices were all treated the
same regardless of whether they belonged to Elasticsearch, a stack
component, or one of our solutions. Upon further discussion and
analysis this decision was not in the best interest of the various
teams and instead a new type of system index was needed. These system
indices will be referred to as external system indices. Within external
system indices, an option exists for these indices to be managed by
Elasticsearch or to be managed by the external product.

In order to represent this within Elasticsearch, each system index will
have a type and this type will be used to control behavior.

Closes #67383
jaymode added a commit that referenced this issue Mar 2, 2021
This commit introduces system index types that will be used to
differentiate behavior. Previously system indices were all treated the
same regardless of whether they belonged to Elasticsearch, a stack
component, or one of our solutions. Upon further discussion and
analysis this decision was not in the best interest of the various
teams and instead a new type of system index was needed. These system
indices will be referred to as external system indices. Within external
system indices, an option exists for these indices to be managed by
Elasticsearch or to be managed by the external product.

In order to represent this within Elasticsearch, each system index will
have a type and this type will be used to control behavior.

Closes #67383
Backport of #68919
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants