It's not sustainable to have this as a maintenance script when it's needed all the time.
Description
Details
Related Objects
- Mentioned In
- Blog Post: Status Update (January 30, 2018)
T182012: Deploy ORES filters to Simple Wikipedia
T184127: Add models when initializing the table
T183862: Recent Changes is broken on Dutch Wikipedia Beta on Beta Cluster
T183266: wikidata.beta.wmflabs.org/wiki/Special:RecentChanges InvalidArgumentException No model available for [goodfaith]
Event Timeline
The best I can imagine so far is a two-prong strategy:
- When a changes feed is displayed for a wiki which a) has models configured in $wg vars, but b) no models are available, we do a synchronous CheckModelVersions. (Async would be acceptable as well, but slightly harder on us to debug.)
- Every time scores are retrieved, we compare with the (cached) database model versions. If the retrieved score models have incremented or are not included in the database models, we stuff the new model data into the db without an explicit CheckModelVersions.
We would need to log and cache exceptional conditions, e.g. one of these checks was triggered but the pulled data showed that the local configuration is in error, and the model is not actually available.
Change 400183 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/ORES@master] Update model version when it's different in ScoreParser
Change 400183 merged by jenkins-bot:
[mediawiki/extensions/ORES@master] Update model version when it's different in Scoring
Change 401592 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/ORES@master] Remove maintenance/CheckModelVersions.php
Change 401595 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/vagrant@master] Remove CheckModelVersions.php from ores role
Change 401592 merged by jenkins-bot:
[mediawiki/extensions/ORES@master] Remove maintenance/CheckModelVersions.php
Change 401595 merged by jenkins-bot:
[mediawiki/vagrant@master] Remove CheckModelVersions.php from ores role
Change 401775 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/vagrant@master] Remove dangling reference to ORES checkModelVersions
Change 401775 merged by jenkins-bot:
[mediawiki/vagrant@master] Remove dangling reference to ORES checkModelVersions
Change 401782 had a related patch set uploaded (by Awight; owner: Amir Sarabadani):
[mediawiki/vagrant@stretch-migration] Remove CheckModelVersions.php from ores role
Change 401783 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/vagrant@stretch-migration] Remove dangling reference to ORES checkModelVersions
@Ladsgroup I found an edge case that we need to catch (and have test coverage for): when there's no model row in the database, checkModelVersion crashes with an InvalidArgumentException.
I think the right behavior is to create a new row when getModelVersion can't find the model.
Change 401783 abandoned by Awight:
Remove dangling reference to ORES checkModelVersions