Page MenuHomePhabricator

Make TermSearchInteractorFactory wiring use TermStoreDelegatingMatchingTermsLookup
Closed, ResolvedPublic

Description

In https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/566065/9/data-access/src/PerRepositoryServiceWiring.php#312 code was added to allow config switching of the backend for SQL based search (between the wb_terms table, and the new terms storage tables).
As part of the switch to EntitySources that logic has apparently disappeared and the tmpItemSearchMigrationStage and tmpPropertySearchMigrationStage options are no longer used in code, along with TermStoreDelegatingMatchingTermsLookup .

In order to allow people to actually stop using wb_terms in 1.35 if they want we need to add this functionality back into the new place in current master before the release.
When discussing in mattermost it looks like this is mainly changing https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/data-access/src/SingleEntitySourceServices.php#L301-L308 in a similar way to the code that was changed in the previous gerrit change linked in this ticket.
All of the code needed should already exist, it just needs to be wired up.

Event Timeline

Addshore renamed this task from Make TermSearchInteractorFactory use TermStoreDelegatingMatchingTermsLookup to Make TermSearchInteractorFactory wiring use TermStoreDelegatingMatchingTermsLookup .Jul 10 2020, 4:11 PM
Addshore triaged this task as High priority.
Addshore created this task.
Addshore added a project: MW-1.35-release.

Change 612183 had a related patch set uploaded (by Michael Große; owner: Michael Große):
[mediawiki/extensions/Wikibase@master] Make TermSearchInteractorFactory wiring use TermStoreDelegatingMatchingTermsLookup

https://gerrit.wikimedia.org/r/612183

Change 612183 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Make TermSearchInteractorFactory wiring use TermStoreDelegatingMatchingTermsLookup

https://gerrit.wikimedia.org/r/612183

Legoktm subscribed.

My understanding is this only affects Wikibase/Wikidata, in which case it's not a 1.35 release blocker.

My understanding is this only affects Wikibase/Wikidata, in which case it's not a 1.35 release blocker.

Ooof, so that tag is only meant for MediaWiki itself, not for everything that automatically gets branched at the same time? (that we have no control over as it is dictated to us?)
Perhaps it is meant to MediaWiki and "bundled" extensions? But I see tickets relating to LiquidThreads for example using the tag (already closed)?

Indeed it only affects the Wikibase extension, that that extension is branched by the WMF under a REL1_35 branch.
I see the tag has already been removed, which makes me think that it may have also been removed from other tickets which is a shame, as this was the way of tracking them.
Are there any other ways of tracking these things?
Should I make a "MW-1.35-release-unbundeled" ? or should we just use filters on the existing board?

Another example is T257625 which is currently broken on the 135 branch, but is not a bundled extension but still tagged with MW-1.35-release, these needs to be tracked somewhere rather than just untagging them :/

Verified locally on master with

	$wgWBRepoSettings['tmpItemSearchMigrationStage'] = MIGRATION_NEW;
	$wgWBRepoSettings['tmpPropertySearchMigrationStage'] = MIGRATION_NEW;

Which works, reads from the new term storage and result in case sensitive search

	$wgWBRepoSettings['tmpItemSearchMigrationStage'] = MIGRATION_OLD;
	$wgWBRepoSettings['tmpPropertySearchMigrationStage'] = MIGRATION_OLD;

Which works, reads from the old term storage and results in case insensitive search.

The default in 1.35 is to use the OLD method, but the default from now on for the next release will be the NEW method.