Page MenuHomePhabricator

Special pages not updating on WMF wikis
Closed, ResolvedPublic

Description

Author: russblau

Description:
On the English Wikipedia, [[Special:DoubleRedirects]] and [[Special:BrokenRedirects]] have both been showing "There are no results for this report" for the past several days, since approximately 9 Dec 2009, even though there certainly are numerous pages that could be listed on each.


Version: unspecified
Severity: normal

Details

Reference
bz21837

Event Timeline

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

Genericized the bug summary: "Double redirect and Broken redirect special page listings gone" --> "Special pages not updating on WMF wikis"

My understanding is that there are two types of Special pages, ones that are permanently disabled and ones that are run via a cronjob every few days. The cronjob seems to have broken a few months ago.

CC'ing Fred, Rob, and Tim.

The problem is the schema at Wikimedia, it's been corrupted at some point:

mysql> select count(*) from querycache where qc_type='DoubleRedirects';
+----------+

count(*)

+----------+

0

+----------+
1 row in set (0.01 sec)

mysql> select count(*) from querycache where qc_type like 'DoubleRedirects%';
+----------+

count(*)

+----------+

14576

+----------+
1 row in set (0.01 sec)

mysql> show create table querycache\G

  • 1. row ******* Table: querycache

Create Table: CREATE TABLE querycache (

`qc_type` binary(32) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`qc_value` int(5) unsigned NOT NULL DEFAULT '0',
`qc_namespace` int(11) NOT NULL DEFAULT '0',
`qc_title` binary(255) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
KEY `qc_type` (`qc_type`,`qc_value`)

) ENGINE=InnoDB DEFAULT CHARSET=binary
1 row in set (0.00 sec)

It should be varbinary not binary.

~midom/mysql/cleanups.sql weren't fully ran during the 4.0->5.1 upgrade - dunno how I missed that :)

should be fixed now.