Add support for url_prefix in elastisearch source #4214
Merged
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.
There are cases where an enterprise would have multiple elastic search clusters. One way for them to manage is to have a single endpoint for all the elastic search clusters and use
url_prefix
for routing requests to different clusters.The current elasticsearch source does not support this use case. We can add the support by adding an optional config parameter called
url_prefix
and passing the value ofurl_prefix
to the underlyingElasticsearch
client constructor while creating it likeWe need one more change to support this. Right now we use the following call for getting the list of indices from elastisearch
es.indices.get_alias(index="*")
which results into HTTP call likehttp://localhost:29200 "GET /test_cluster1/*
In cases where you have multiple elasticsearch clusters along with ACL on them, the call would get blocked, rejected.
Another way to get a list of indices would be
es.indices.get_alias()
This should return the list in the same way
Checklist