Page MenuHomePhabricator

ChangeProp: Enhance if-modified-since support; possibly integrate into rate limiting / deduplication logic
Closed, ResolvedPublic

Description

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.

Event Timeline

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.

GWicke renamed this task from Enhance the if-modified-since support to ChangeProp: Enhance if-modified-since support; possibly integrate into rate limiting / deduplication logic.Aug 8 2017, 8:55 PM
GWicke triaged this task as High priority.

If-unmodified-since support is implemented in https://github.com/wikimedia/budgeteer.