Topic on Extension talk:CirrusSearch

contradiction about version of Elasticsearch for 1.30

7
Aloist (talkcontribs)

The page Extension:CirrusSearch states:

MediaWiki 1.39+ require Elasticsearch 7.10.2

When I download the extension for Mediawiki 1.39 and look in README, it says:

Installation

------------

Get Elasticsearch up and running somewhere. Only Elasticsearch v6.8 is supported.

I would like that to be true, because I have 6.8.23. But is it true?

EBernhardson (WMF) (talkcontribs)

Unfortunately the README is wrong and the wiki page is correct. As linked in the wiki page there is a compatibility layer that can be activated for 1.39 to talk to 6.8.23, but it is focused on ensuring write compatability and it's possible you would run into query issues.

Aloist (talkcontribs)

Thank you.

I face the problem of upgrading from 1.35 to 1.39 on RHEL9.

I already established that 1.35 works with 10.5.22-MariaDB. So the database version can remain the same when I switch MW version. I expect update.php to do the job for database wikidb

But having to upgrade elasticsearch synchronously with Mediawiki is a problem.

Elasticsearch > 6.8 is not in Redhat repositories. I can get 8.x but not 7.10.2

Can I have two Elasticsearch versions installed at the same time? Like one port 9200 and another on 9250?

Instructions somehere?

EBernhardson (WMF) (talkcontribs)

It's techinically possible to run multiple versions of elasticsearch on the same host, but I'm not sure of any documentation to that end. Much would depend on your available infrastructure, and in my experience generally leads to ongoing complexities. In WMF infra we run multiple instances (of the same version) of elasticsearch on a single host and it's led to a number of minor problems and headaches over the years. If you have the ability to spin up virtual machines then one plausible way forward is to spin up a new instance running the newer version. Another potential option might be to use the docker container elastic makes available, those are isolated enough that it should reduce complexities of running two instances on one host.

Aloist (talkcontribs)

Is there someone to be reached who created the compatibiity layer found in (1.39 version)?

./CirrusSearch/includes/Elastica/ES6CompatTransportWrapper.php

This person might be able to answer about problems it creates.

In my wikis, I have little demands on search. All we do is the very common search for articles or for text inside articles.

May I suggest that extensions/CirrusSearch/README is updated?

Would anyone be able to tell whether 1.39 works with Elasticsearch 8.10.4-1 ?

Ciencia Al Poder (talkcontribs)
EBernhardson (WMF) (talkcontribs)

My teammate DCausse wrote the layer, but if you look inside you can see it is very simple. The problem this compatability layer solves for is a breaking change in the bulk write api of elasticsearch. It doesn't do anything with search requests. In WMF production we ran the upgrade such that we had a cluster running 7.10, and a cluster running 6.8. As the code was deployed that knew how to talk to 7.10 it would also switch it's query endpoint between clusters. Only the write layer requied compatability, because it had to write to both clusters at the same time.

There is a reasonable chance it would work for most simple queries. The general problem is that when Elastic releases a major version update they make a wide variety of breaking changes (see breaking changes list for 7.0). You could test and see what happens to work, but if problems do arise I don't know if there will be much we can do to help you.

Reply to "contradiction about version of Elasticsearch for 1.30"