diff options
author | Bryan Newbold <bnewbold@archive.org> | 2021-04-06 15:56:22 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@archive.org> | 2021-04-06 15:57:45 -0700 |
commit | e1030e29bbd192953ab742f593dd8da43a7af684 (patch) | |
tree | 8b2981a96b4538610fb72972329a6856b9ba8de1 /fatcat_scholar/web.py | |
parent | ffdc6b78be020c392b1e233b928509291cfca2f7 (diff) | |
download | fatcat-scholar-e1030e29bbd192953ab742f593dd8da43a7af684.tar.gz fatcat-scholar-e1030e29bbd192953ab742f593dd8da43a7af684.zip |
change health check from .exists(index) to .mapping(index)
In cases where the cluser leader node is unavilable, the health check
was returning false even when the local node had full shard replicas and
could return requests.
A refinement of this change would be to use the /<index>/_count API
endpoint to ensure that the "failed" and "skipped" shard numbers are 0
(aka, "successful == total"). However, not sure where that endpoint is
exposed in the elasticsearch-py API. the CatClient method doesn't seem
right.
Diffstat (limited to 'fatcat_scholar/web.py')
-rw-r--r-- | fatcat_scholar/web.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fatcat_scholar/web.py b/fatcat_scholar/web.py index 6cda5b7..895af18 100644 --- a/fatcat_scholar/web.py +++ b/fatcat_scholar/web.py @@ -25,7 +25,7 @@ from fatcat_scholar.search import ( process_query, FulltextQuery, FulltextHits, - es_scholar_index_exists, + es_scholar_index_alive, ) from fatcat_scholar.schema import ScholarDoc @@ -118,7 +118,7 @@ def health_get() -> Any: """ Checks that connection back to elasticsearch index is working. """ - if not es_scholar_index_exists(): + if not es_scholar_index_alive(): raise HTTPException(status_code=503) return Response() |