Toolhub/Progress reports/2022-06-03

From Meta, a Wikimedia project coordination wiki


Production release made[edit]

A few minor bug fixes were deployed to the production https://toolhub.wikimedia.org site on 2022-06-01. This was the first deployment of the production service since 2022-05-17. Andrew Bogott performed the deployment to validate the deployment instructions.

Bugs fixed:

Preparing for Elasticsearch 7.x[edit]

Tracked in Phabricator:
Task T303444

The Search Platform team is working on a plan to upgrade the production Elasticsearch cluster to version 7.10 from the current 6.8.23. Elasticsearch takes good advantage of major version bumps to deprecate and remove old features. This often means that client software like Toolhub will need updates to continue to work as expected following a major version upgrade. The Toolhub team has been working on testing our current code base with Elasticsearch 7.10.2 to determine what changes Toolhub will need.

The most direct way to handle this migration is to prepare a patch upgrading the Elasticsearch client libraries used by Tooolhub to their appropriate Elasticsearch 7.x compatible versions. We can test this change in local development and staging environments and deploy the changes to production at the point in time that the production Elasticsearch cluster we use is upgraded.

A more flexible solution is to find a combination of Elasticsearch client libraries and other code and configuration changes for Toolhub which keeps everything working with both the current Elasticsearch 6.8.23 and the future Elasticsearch 7.10.2 as backends. This set of code and configuration could then be deployed prior to the production Elasticsearch cluster upgrade. This would eliminate the need to deploy Toolhub itself at the same time as the upgrade being performed by the Search Platform team.

Bryan thinks he may have found the correct mix of changes by patching the elasticsearch client library to use two backwards compatibility feature flags from Elasticsearch 7.x: rest_total_hits_as_int=true and include_type_name=true. Slavina and Raymond are testing this change to validate Bryan's conclusion.

Wrap up[edit]

...