Page MenuHomePhabricator

Category:Self-published work at Commons is not hidden anymore
Closed, ResolvedPublic

Description

With almost 2.5M items http://commons.wikimedia.org/wiki/Category:Self-published_work is the biggest category at Commons. The category was hidden but vandalized in which the HIDDENCAT was removed. This edit was reverted (and full protection was added), but the category doesn't become hidden.

Query at the toolserver:

mysql> select * from category WHERE cat_title='Self-published_work' limit 1;
+--------+---------------------+-----------+-------------+-----------+------------+

cat_idcat_titlecat_pagescat_subcatscat_filescat_hidden

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

31Self-published_work24299732624298920

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

So it looks like this row doesn't get updated (some timeout?).
As a workaround someone could set cat_hidden to 1. This would solve the problem for Commons.


Version: unspecified
Severity: major

Details

Reference
bz23712

Event Timeline

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

Potentially its just waiting on the job queue, and will be updated eventually.

It should also be noted, that the hidden cat property comes from the page_props table, not the category table. cat_hidden in the category table is always 0.

Why would addition of HIDDENCAT go throught the job queue?
It was added directly on the page, not via a change on a template.

That was just a guess based on the fact it didn't happen, and HIDDENCAT would invalidate the cache of roughly 2.5 million pages. I don't know all that much about the internal workings of the job queue, so it is just guess, which I probably should of made clearer in my comment. Cheers.

Oh right, it was stored in another table

mysql> SELECT page_id, page_title FROM page WHERE page_namespace=14 AND page_title='Self-published_work';
+---------+---------------------+

page_idpage_title

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

175266Self-published_work

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

mysql> select * FROM page_props WHERE pp_page=175266;
Empty set (0.00 sec

So it looks like it never ended up in the page_props table.

I manually inserted the row in the page_props table, according to Maarten the category is hidden properly now. It seems saving the category page times out before the hiddencat prop is saved.

RESOLVED FIXED based on Roan's comment. The fact that it's not saving is probably best for another bug report.