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

Optimize Index Management's indices list network performance #106041

Closed
cjcenizal opened this issue Jul 16, 2021 · 2 comments · Fixed by #123629
Closed

Optimize Index Management's indices list network performance #106041

cjcenizal opened this issue Jul 16, 2021 · 2 comments · Fixed by #123629
Assignees
Labels
enhancement New value added to drive a business result Feature:Index Management Index and index templates UI Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more

Comments

@cjcenizal
Copy link
Contributor

When Index Management is loaded, the UI sends a request to GET /api/index_management/indices. The Kibana server handles this request by making two requests to Elasticsearch:

  • GET *?expand_wildcards=hidden,all
  • GET /_cat/indices?format=json&h=health,status,index,uuid,pri,rep,docs.count,sth,store.size&expand_wildcards=hidden,all&index=*

However, the table itself only uses information from the /_cat/indices request. The request for all indices contains settings, aliases, and mappings information, none of which is surfaced in the table:

image

This means that the initial request to load all indices can potentially be very slow or even crash Kibana. I opened elastic/elasticsearch#64099 to address this problem through improved pagination of Elasticsearch REST APIs, but we can solve this specific problem in Kibana by implementing the following:

  • Request only the /_cat/indices API when listing all indices.
  • When fetching an individual index, e.g. when opening a flyout to show index details, request the additional information provided by the Index API.
@cjcenizal cjcenizal added enhancement New value added to drive a business result Feature:Index Management Index and index templates UI Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more labels Jul 16, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-stack-management (Team:Stack Management)

@cjcenizal cjcenizal self-assigned this Jul 16, 2021
@cjcenizal
Copy link
Contributor Author

cjcenizal commented Jul 16, 2021

Did some digging at the cat indices API currently lacks the following information that we need to implement the current UX:

  • hidden - Whether the index is hidden or not
  • data_stream - The name of the data stream that owns the index, if there is one
  • aliases - The aliases that point to this index (implemented in the API, but not consumed by the UI, possibly an oversight)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Index Management Index and index templates UI Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants