ElasticSearch rest-high-level client compatibility and licensing

Hello! I faced the problem the same as in this issue :
stackoverflow/a/74102828
We would like to use newer ES client with old ES cluster( in order to gracefully migrate everything). But es client validates X-Elastic-Product in response header from elastic, which isn't present in old ES version.
Solution on stackoverflow recommends intercepting http request on client side and add X-Elastic-Product header to response.

We validated it and solution works good for us and we could use old ES cluster without any problems, but does this type of modification ( with providing header through http client) violates license restriction?

As far as i understand elastic license prohibits modification of license key, or modification of features protected by license. Does this header relate to that functionality and will result in license violation?

 .addInterceptorLast(
                (HttpResponseInterceptor)
                    (response, context) ->
                        response.addHeader("X-Elastic-Product", "Elasticsearch"));

TL;DR: This feature is a product check, and not a license check, so there's no licensing issue here.

This check was added because we had an increasing number of support requests for Elastic client libraries being used with a competing product that Elastic does not maintain nor support, and was also diverging from Elasticsearch over time (yep, OpenSearch).

So the product check was added to ensure the client libraries are used with a genuine Elasticsearch server. If I remember correctly it was added in version 7.14 of the client libraries, and works with ES servers 7.10 or later.

2 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.