On June 04 all of the most-used templates on ceb.wikipedia.org have been updated to protect them from anonymous users. After that the ChangeProp backlog for transclusions started growing. The root cause of the problem was that the if-modified-since optimization in RESTBase, that's supposed to handle outdated template updates was colliding with the equal-html optimization, that doesn't update HTML is it's unchanged. We need to record when the last attempt to reorder an article happened even if the HTML was not changed.
Description
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Declined | None | T173447 Generalized rate limiting, deduplication, and job scheduling module | |||
Resolved | • GWicke | T169140 ChangeProp: Enhance if-modified-since support; possibly integrate into rate limiting / deduplication logic |
Event Timeline
Comment Actions
This case is interesting for the ongoing job deduplication work. Basically, the root job based deduplication strategy in the PHP job queue won't catch these kinds of duplicate leaf jobs triggered by different templates being edited around the same time, while deduplication based on systematic if-unmodified-since handling on leaf jobs would catch it.
Handling this in Redis (as part of rate limiting or not) would make this universally available to all changeprop tasks, including PHP jobs & service updates.
Comment Actions
If-unmodified-since support is implemented in https://github.com/wikimedia/budgeteer.