Page MenuHomePhabricator

diff shows article blanked, but it wasn't
Closed, ResolvedPublic

Description

Author: rickblock

Description:
The diff above indicates a page blanking occurred, but the page was not blanked. See user request at http://en.wikipedia.org/wiki/
Wikipedia:Village_pump_%28technical%29#Bug_in_diff.3F


Version: unspecified
Severity: normal
URL: http://en.wikipedia.org/w/index.php?title=Dutch_East_India_Company&diff=35730956&oldid=35562016

Details

Reference
bz4665

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 9:03 PM
bzimport set Reference to bz4665.
bzimport added a subscriber: Unknown Object (MLST).

A possibility off the top of my head is a load failure from external storage caused
by replication lag, followed by storing of the bogus diff in the diff cache.

Tim poked in some fallback code which should prevent this from happening.
Resolving FIXED.

I've committed three changes to address this:

  1. external storage checks the master if a blob is not available on the slave
  2. Revision::getText() does not deserialize or inflate if the external storage

engine returned false

  1. DifferenceEngine::getDiffBody() checks for errors from Revision::getText()

and handles them appropriately.

That should fix the problem one way or another.