Page MenuHomePhabricator

Decide intended config for wmgUseGlobalAbuseFilters (wmf-config dblist conflict)
Closed, ResolvedPublic

Description

Change 577019 runs a new structure tests that detects conflicts in InitialiseSettings.php where the same setting uses multiple dblists to set values that are different.

This test detected a conflict in wmgUseGlobalAbuseFilters where the following tags overlap and are fighthing for incompatible configuration values:

'wmgUseGlobalAbuseFilters' => [
   'fishbowl' => false
   'medium' => true
   'small' => true
   'nonglobal' => false
   'private' => false
]

The default in wmf-config for this variable is 'default' => false,. Please decide which groups it should be enabled on and set only those (per-wiki overrides are fine, but there cannot be overrides between groups as there is no order of precedence defined).

To see which order the run-time currently uses internally see MWConfigCacheGenerator.php.

Event Timeline

Krinkle created this task.Mar 5 2020, 3:55 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 5 2020, 3:55 AM
Majavah added a subscriber: Majavah.Mar 5 2020, 8:06 AM

Is there a way to disambiguate it? I think the intention is: "enable on all medium+small wikis, but disable on fishbowl+nonglobal+private". At least, this is what makes the most sense (IMHO).

Is there a way to disambiguate it? I think the intention is: "enable on all medium+small wikis, but disable on fishbowl+nonglobal+private". At least, this is what makes the most sense (IMHO).

The issue is that no one defined what takes precedence, if a wiki is medium and also nonglobal. I guess you're saying that you want to have it enabled at public wikis which are small or medium? In that case, I have the following in mind:

A) Create Yet Another DB List (TM)
B) Set the default dynamcially in CS.php before IS.php is loaded, and have only overrides in IS.php
C) Create something like wmgUseGlobalAbuseFiltersOverride, and use that should a nonglobal wiki need global filters (can imagine the need for nonglobal wikis)

Is there a way to disambiguate it? I think the intention is: "enable on all medium+small wikis, but disable on fishbowl+nonglobal+private". At least, this is what makes the most sense (IMHO).

The issue is that no one defined what takes precedence, if a wiki is medium and also nonglobal.

My comment above includes the order, the size has the least precedence.

I guess you're saying that you want to have it enabled at public wikis which are small or medium?

Yeah, I think that's what the current code is meant to do. However, I can't say anything about the implementation.

Krinkle added a comment.EditedMar 5 2020, 4:14 PM

Is there a way to disambiguate it? I think the intention is: "enable on all medium+small wikis, but disable on fishbowl+nonglobal+private". At least, this is what makes the most sense (IMHO).

Would default=>true and fishbowl+nonglobal+private => false work?

I note that there is currently no default set in this array. (EDIT: There it, but it wasn't shown in the test diff because it doesn't conflict. My bad.)

hat is the intended behaviour for large wikis? If false, the maybe also add large=>false.

Is there a way to disambiguate it? I think the intention is: "enable on all medium+small wikis, but disable on fishbowl+nonglobal+private". At least, this is what makes the most sense (IMHO).

Would default=>true and fishbowl+nonglobal+private => false work?

Almost: large wikis should be excluded as well.

I note that there is currently no default set in this array. What is the intended behaviour for large wikis?

Disabled by default. Only enabled per-wiki.

Change 577302 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] Resolve wmgUseGlobalAbuseFilters dblist ambiguity

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

Krinkle closed this task as Resolved.Mar 5 2020, 5:28 PM
Krinkle claimed this task.
Krinkle edited projects, added Performance-Team; removed Patch-For-Review.

Change 577302 merged by jenkins-bot:
[operations/mediawiki-config@master] Resolve wmgUseGlobalAbuseFilters dblist ambiguity

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

Change 577019 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] tests: Assert there are no ambiguously tagged config values

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

Change 577019 merged by jenkins-bot:
[operations/mediawiki-config@master] tests: Assert there are no ambiguously tagged config values

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