Page MenuHomePhabricator

Update Nuke to use the Revision table instead of Recent Changes
Closed, ResolvedPublic3 Estimated Story Points

Description

Following our investigation in T33858, we found that - given the testing that is possible outside production Wikimedia projects - moving to the Revision table may not incur a significant performance impact, especially with a time range similar to what is possible using the Recent Changes table currently (T33858#10274759).

As a first step we'll switch over to the Revision table, but with the same time range as is currently possible with Recent Changes - 30 days. This will enable us to test the real-world impact.

WIP patch from Spike ticket: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Nuke/+/1082077/

As part of this work we'll need to add an internal configuration variable to set the max age that we use for the revision table query - by default this should be 30 days to start.

We also need to update https://www.mediawiki.org/wiki/Extension:Nuke and related documentation.

Details

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Samwalton9-WMF set the point value for this task to 3.Nov 7 2024, 3:02 PM

I'm going to assign these in advance so that it's clear on our workboard that ownership of this work is already clear!

Chlod changed the task status from Open to In Progress.Nov 11 2024, 11:58 PM
Chlod moved this task from Ready to In Progress on the Moderator-Tools-Team (Kanban) board.

Change #1089919 had a related patch set uploaded (by Chlod Alejandro; author: Chlod Alejandro):

[mediawiki/extensions/Nuke@master] Use revision table instead of recentchanges

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

Ready for review. The new configuration variable for Nuke's max age is $wgNukeMaxAge. It's 0 by default, which implies that it should get its value from $wgRCMaxAge. This should mean that Nuke should still work as it did before on every wiki, regardless of what they've set $wgRCMaxAge to be (this goes for a lot of third-party wikis; WMF wikis have this set to 30 days).

Per Ladsgroup's suggestion, max execution time is also set with the getNewPages query, using $wgMaxExecutionTimeForExpensiveQueries as a value (same with Special:RecentChanges, 30 seconds on Wikimedia wikis).

Change #1089919 merged by jenkins-bot:

[mediawiki/extensions/Nuke@master] Use revision table instead of recentchanges

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

This seems to be working, so I'm marking this as resolved. Will file followup tasks for increasing the time limit.