Page MenuHomePhabricator

Only store a new render of Parsoid HTML / data-parsoid revision if the content actually changed after a template update
Closed, ResolvedPublic

Description

Many template updates don't actually change the content of all pages they are used in. We should detect this and avoid storing a new render in RESTBase if nothing changed.

Event Timeline

GWicke claimed this task.
GWicke raised the priority of this task from to High.
GWicke updated the task description. (Show Details)
GWicke added a project: RESTBase.
GWicke subscribed.

This was deployed today. Somewhere between 50% and 75% of template updates turn out not to change the content at all, even while there are still other sources of non-determinism in Parsoid output (T93715). Once those are fixed / deployed (a major one is scheduled for next Monday) this rate should increase further.

Combined with T93777, this resulted in a drop of new revision entries stored from an average around 110/s to 37/s now.

pasted_file (663×1 px, 219 KB)

Also cc'ing @aaron, @ssastry and @tstarling, as I think these numbers are quite interesting. There is a lot of potential to optimize template updates, especially if we can figure out some conditions under which the output is not going to be affected.