'Elasticsearch::UnsupportedProductError (The client noticed that the server is not a supported distribution of Elasticsearch

Getting this error when using searchkick with elasticsearch on mac.

Searchkick version: searchkick (4.5.2)

$ elasticsearch --version
warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
Version: 7.10.2-SNAPSHOT, Build: oss/tar/unknown/2021-01-16T01:41:27.115673Z, JVM: 16.0.2

To reproduce

Product.reindex



Solution 1:[1]

It worked fine after degrading to elastic search < 7.14. So basically added a gem to restrict the version upgrade

gem  elasticsearch, "< 7.14"

Solution 2:[2]

If you are using Python elasticsearch client, you need to downgrade or install version before 7.14.0.

pip install 'elasticsearch<7.14.0'

Solution 3:[3]

Elasticsearch::UnsupportedProductError is raised when your Elasticsearch server version don't match with Ruby's Elasticsearch client (gem elasticsearch). In order to fix this properly you need a server that is up to date with latest Elasticsearch (ES) releases

that means if you are on ES provider like https://cloud.elastic.co/ where you work with latest versions of cluster it's easy peasy => server gets upgraded => this is not an issue

if you however work with provider that is slow to catch up with latest ES releases (like AWS Elasticsearch / AWS Opensearch where last version is 7.10 and will not get upgraded anytime soon) your only option is to use gem elasticsearch, "< 7.14" (Siddhant's answer in this discussion ...and yes this means no potential security updates

other solution may be to silence the verification by overriding method verify_with_version_or_header as proposed in https://github.com/elastic/elasticsearch-ruby/issues/1429#issuecomment-958162468

but reality is both of this solutions are just "not recommended" workarounds. The real fix is a server upgrade

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Siddhant
Solution 2 Buoy Rina
Solution 3