[9.3] [Search] Reduce polling on Index Details page (#251446)#251633
Merged
kibanamachine merged 1 commit intoelastic:9.3from Feb 4, 2026
Merged
[9.3] [Search] Reduce polling on Index Details page (#251446)#251633kibanamachine merged 1 commit intoelastic:9.3from
kibanamachine merged 1 commit intoelastic:9.3from
Conversation
## Summary
This change improves how the Index Details page fetches data by reducing
unnecessary polling to backend APIs. Previously, the page repeatedly
polled two endpoints to keep index metadata up to date, even when the
data was not actively changing or required for user interaction.
As part of this update, we reviewed the polling strategy used for:
`GET /api/index_management/mapping/{index_name}`
`GET /internal/index_management/indices/{index_name}`
`POST /internal/search_indices/${indexName}/documents/search`
and adjusted the behavior to better align with how the data is used on
the page.
### What changed
- Polling behavior has been reduced or scoped so that requests are only
made on initial load, on window focus, and when requested.
- A `Refresh data` button was added to allow users to request up to date
data.
- `useUserPrivilegesQuery` no longer refetches on window focus, which is
the default behavior.
- The `queryKey` in `useUserPrivilegesQuery` has been updated to add the
`indexName`.
### Screenshots
**Index with documents**
<img width="700" height="828" alt="Screenshot 2026-02-03 at 13 24 12"
src="https://github.com/user-attachments/assets/c8a99e1e-4f67-4bfd-9b7a-4c7490f8cb7d"
/>
**Index without documents**
<img width="700" height="829" alt="Screenshot 2026-02-03 at 13 24 26"
src="https://github.com/user-attachments/assets/8d752199-2ecf-47e6-b47e-f1966590f0c2"
/>
### Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials~
- [ ] ~[Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios~
- [ ] ~If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~
- [ ] ~This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.~
- [ ] ~[Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed~
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.
## Release note
Reduced background polling on the Index Details page to avoid
unnecessary API requests.
(cherry picked from commit b5e4dbe)
8 tasks
Contributor
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Async chunks
cc @seialkali |
seialkali
added a commit
that referenced
this pull request
Feb 4, 2026
# Backport This will backport the following commits from `main` to `9.2`: - [[Search] Reduce polling on Index Details page (#251446)](#251446) <!--- Backport version: 10.2.0 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Brittany","email":"seialkali@gmail.com"},"sourceCommit":{"committedDate":"2026-02-04T11:09:01Z","message":"[Search] Reduce polling on Index Details page (#251446)\n\n## Summary\n\nThis change improves how the Index Details page fetches data by reducing\nunnecessary polling to backend APIs. Previously, the page repeatedly\npolled two endpoints to keep index metadata up to date, even when the\ndata was not actively changing or required for user interaction.\n\nAs part of this update, we reviewed the polling strategy used for:\n\n`GET /api/index_management/mapping/{index_name}`\n`GET /internal/index_management/indices/{index_name}`\n`POST /internal/search_indices/${indexName}/documents/search`\n\nand adjusted the behavior to better align with how the data is used on\nthe page.\n\n### What changed\n- Polling behavior has been reduced or scoped so that requests are only\nmade on initial load, on window focus, and when requested.\n- A `Refresh data` button was added to allow users to request up to date\ndata.\n- `useUserPrivilegesQuery` no longer refetches on window focus, which is\nthe default behavior.\n- The `queryKey` in `useUserPrivilegesQuery` has been updated to add the\n`indexName`.\n\n### Screenshots\n\n**Index with documents**\n<img width=\"700\" height=\"828\" alt=\"Screenshot 2026-02-03 at 13 24 12\"\nsrc=\"https://github.com/user-attachments/assets/c8a99e1e-4f67-4bfd-9b7a-4c7490f8cb7d\"\n/>\n\n**Index without documents**\n<img width=\"700\" height=\"829\" alt=\"Screenshot 2026-02-03 at 13 24 26\"\nsrc=\"https://github.com/user-attachments/assets/8d752199-2ecf-47e6-b47e-f1966590f0c2\"\n/>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~\n- [ ] ~[Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios~\n- [ ] ~If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~\n- [ ] ~This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~\n- [ ] ~[Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n## Release note\n\nReduced background polling on the Index Details page to avoid\nunnecessary API requests.","sha":"b5e4dbeade4a97d5a98cfbdbb6eff44ceee1a137","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Search","backport:version","v9.3.0","v9.4.0","v9.2.5","v9.3.1"],"title":"[Search] Reduce polling on Index Details page","number":251446,"url":"https://github.com/elastic/kibana/pull/251446","mergeCommit":{"message":"[Search] Reduce polling on Index Details page (#251446)\n\n## Summary\n\nThis change improves how the Index Details page fetches data by reducing\nunnecessary polling to backend APIs. Previously, the page repeatedly\npolled two endpoints to keep index metadata up to date, even when the\ndata was not actively changing or required for user interaction.\n\nAs part of this update, we reviewed the polling strategy used for:\n\n`GET /api/index_management/mapping/{index_name}`\n`GET /internal/index_management/indices/{index_name}`\n`POST /internal/search_indices/${indexName}/documents/search`\n\nand adjusted the behavior to better align with how the data is used on\nthe page.\n\n### What changed\n- Polling behavior has been reduced or scoped so that requests are only\nmade on initial load, on window focus, and when requested.\n- A `Refresh data` button was added to allow users to request up to date\ndata.\n- `useUserPrivilegesQuery` no longer refetches on window focus, which is\nthe default behavior.\n- The `queryKey` in `useUserPrivilegesQuery` has been updated to add the\n`indexName`.\n\n### Screenshots\n\n**Index with documents**\n<img width=\"700\" height=\"828\" alt=\"Screenshot 2026-02-03 at 13 24 12\"\nsrc=\"https://github.com/user-attachments/assets/c8a99e1e-4f67-4bfd-9b7a-4c7490f8cb7d\"\n/>\n\n**Index without documents**\n<img width=\"700\" height=\"829\" alt=\"Screenshot 2026-02-03 at 13 24 26\"\nsrc=\"https://github.com/user-attachments/assets/8d752199-2ecf-47e6-b47e-f1966590f0c2\"\n/>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~\n- [ ] ~[Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios~\n- [ ] ~If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~\n- [ ] ~This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~\n- [ ] ~[Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n## Release note\n\nReduced background polling on the Index Details page to avoid\nunnecessary API requests.","sha":"b5e4dbeade4a97d5a98cfbdbb6eff44ceee1a137"}},"sourceBranch":"main","suggestedTargetBranches":["9.2"],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251633","number":251633,"state":"MERGED","mergeCommit":{"sha":"d3c688337785dc583b8a60a47ee873cfca79a999","message":"[9.3] [Search] Reduce polling on Index Details page (#251446) (#251633)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.3`:\n- [[Search] Reduce polling on Index Details page\n(#251446)](https://github.com/elastic/kibana/pull/251446)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Brittany <seialkali@gmail.com>"}},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/251446","number":251446,"mergeCommit":{"message":"[Search] Reduce polling on Index Details page (#251446)\n\n## Summary\n\nThis change improves how the Index Details page fetches data by reducing\nunnecessary polling to backend APIs. Previously, the page repeatedly\npolled two endpoints to keep index metadata up to date, even when the\ndata was not actively changing or required for user interaction.\n\nAs part of this update, we reviewed the polling strategy used for:\n\n`GET /api/index_management/mapping/{index_name}`\n`GET /internal/index_management/indices/{index_name}`\n`POST /internal/search_indices/${indexName}/documents/search`\n\nand adjusted the behavior to better align with how the data is used on\nthe page.\n\n### What changed\n- Polling behavior has been reduced or scoped so that requests are only\nmade on initial load, on window focus, and when requested.\n- A `Refresh data` button was added to allow users to request up to date\ndata.\n- `useUserPrivilegesQuery` no longer refetches on window focus, which is\nthe default behavior.\n- The `queryKey` in `useUserPrivilegesQuery` has been updated to add the\n`indexName`.\n\n### Screenshots\n\n**Index with documents**\n<img width=\"700\" height=\"828\" alt=\"Screenshot 2026-02-03 at 13 24 12\"\nsrc=\"https://github.com/user-attachments/assets/c8a99e1e-4f67-4bfd-9b7a-4c7490f8cb7d\"\n/>\n\n**Index without documents**\n<img width=\"700\" height=\"829\" alt=\"Screenshot 2026-02-03 at 13 24 26\"\nsrc=\"https://github.com/user-attachments/assets/8d752199-2ecf-47e6-b47e-f1966590f0c2\"\n/>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n- [ ]\n~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~\n- [ ] ~[Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios~\n- [ ] ~If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~\n- [ ] ~This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~\n- [ ] ~[Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n## Release note\n\nReduced background polling on the Index Details page to avoid\nunnecessary API requests.","sha":"b5e4dbeade4a97d5a98cfbdbb6eff44ceee1a137"}},{"branch":"9.2","label":"v9.2.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport
This will backport the following commits from
mainto9.3:Questions ?
Please refer to the Backport tool documentation