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

Kibana index template #14112

Merged
merged 36 commits into from
Sep 23, 2017
Merged

Conversation

spalger
Copy link
Contributor

@spalger spalger commented Sep 22, 2017

WIP

Based on #14092
Fixes #12819

Completely removes SavedObject index management from the health check and to own internal "esAvailability" check.

This check currently attempts to write an index template to the kibana index (throttled to one attempt per second) when:

  • the elasticsearch plugin goes yellow or red
  • callCluster rejects with an error with a >= 500
  • callCluster rejects with an error that has no status code
  • a SavedObjectsClient uses its callCluster function after we failed to create the index templates

We still need to patch the Kibana index if it already exists and we need a 🐃 of tests, but I'm excited by how this is coming along.

@spalger spalger added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc WIP Work in progress labels Sep 22, 2017
@spalger spalger force-pushed the implement/kibana-index-template branch 3 times, most recently from b2f64cc to c4c739c Compare September 22, 2017 21:29
The SavedObjects code defines `isEsUsable$` and `testEsAvailability$` to negotiate whether SavedObjectClients should be attempting to communicate to elasticsearch.

  - `isEsUsable$`
    - can be either `undefined`, `true`, or `false`
    - if `isEsUsable === undefined`
      - All requests are paused
    - if `isEsUsable === false`
      - Send 503 to all paused and future requests
    - if `isEsUsable === true`
     - Request are sent to elasticsearch

  - `testEsAvailability$`
    - emits when:
      - elasticsearch plugin is accessible
      - a request to es is blocked
      - es does not respond, or responds with a status >= 500
    - on each event:
      - set `isEsUsable` to `undefined`
      - attempt to put the index template to elasticsearch
      - set `isEsUsable` to wether putTemplate was successful
@spalger spalger force-pushed the implement/kibana-index-template branch from 06311d1 to 70a224e Compare September 22, 2017 23:54
@spalger spalger merged commit 70a224e into elastic:master Sep 23, 2017
@spalger
Copy link
Contributor Author

spalger commented Sep 23, 2017

This was accidentally closed because I don't know how to Github desktop....

@epixa
Copy link
Contributor

epixa commented Sep 23, 2017

Replaced by #14142

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants