Page MenuHomePhabricator

"IndexPager::buildQueryInfo" database query error when selecting namespace on Special:Contributions
Open, HighPublic

Description

I went to a user's contributions page:
https://en.wikipedia.org/wiki/Special:Contributions/Citation_bot
I then selected Wikipedia namespace and clicked "Search", which should have taken me to
https://en.wikipedia.org/w/index.php?title=Special%3AContributions&target=Citation+bot&namespace=4
However, after a period, the following error was thrown:

A database query error has occurred. This may indicate a bug in the software.

Function: IndexPager::buildQueryInfo (contributions page filtered for namespace or RevisionDeleted edits)
Error: 0

Note: https://en.wikipedia.org/wiki/Special:Version shows MediaWiki 1.23wmf5 (rMWd7c6f6cdefdc) which is not in the "Version" selection list above.


Version: 1.23.0
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=58324
https://bugzilla.wikimedia.org/show_bug.cgi?id=60618

Details

Reference
bz58157

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 2:30 AM
bzimport set Reference to bz58157.
bzimport added a subscriber: Unknown Object (MLST).

It works for some namespaces, the error does not occur with all. Here's another failure:
http://en.wikipedia.org/w/index.php?title=Special%3AContributions&target=Redrose64&namespace=7
which I am certain worked in early November.

These errors continue to occur intermittently. When they do, dberror.log logs messages along these lines:

Thu Dec 19 15:26:13 UTC 2013 mw1169 enwiki Connection lost and reconnected after 59.792s, query: SELECT /* IndexPager::buildQueryInfo (contributions page filtered for namespace or RevisionDeleted edits) Anomie */ rev_id,rev_page,rev_text_id,rev_timestamp,rev_comment,rev_user_text,rev_user,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,user_name,page_namespace,page_title,page_is_new,page_latest,page_is_redirect,page_len,(SELECT GROUP_CONCAT(ct_tag SEPARATOR ',') FROM change_tag WHERE ct_rev_id=rev_id ) AS ts_tags FROM revision FORCE INDEX (user_timestamp) INNER JOIN `pa
Thu Dec 19 15:26:13 UTC 2013 mw1169 enwiki IndexPager::buildQueryInfo (contributions page filtered for namespace or RevisionDeleted edits) 10.64.16.144 0 SELECT rev_id,rev_page,rev_text_id,rev_timestamp,rev_comment,rev_user_text,rev_user,rev_minor_edit,rev_deleted,rev_len,rev_parent_id,rev_sha1,user_name,page_namespace,page_title,page_is_new,page_latest,page_is_redirect,page_len,(SELECT GROUP_CONCAT(ct_tag SEPARATOR ',') FROM change_tag WHERE ct_rev_id=rev_id ) AS ts_tags FROM revision FORCE INDEX (user_timestamp) INNER JOIN page ON ((page_id = rev_page)) LEFT JOIN user ON ((rev_user != 0) AND (user_id = rev_user)) WHERE rev_user = '7903804' AND (page_namespace = '4') AND ((rev_deleted & 12) != 12) ORDER BY rev_timestamp DESC LIMIT 51

This appears to happen for various other queries as well, not only the IndexPager::buildQueryInfo query quoted here.

Sean: is this something you might have knowledge about? specifically, Brad is saying that all of the killed queries are killed at 59 or 60 seconds, suggesting a hard limit somewhere.

Thoughts?

There is a 60s pt-kill job on slaves after query spikes causing outages in November. When the number of slow queries on a slave grows beyond a threshold the slowest one above 60s is sniped to keep the box alive. This only affects wikiuser, not wikiadmin.

However! This particular query should not have been affected as it's already diverted to specific slaves via the load balancer. So, yep, a bug. Will investigate.

Again at [[Wikipedia:Village pump (technical)#Database error in filtered new users' contributions search]]

JTannerWMF subscribed.

Due to the inactivity of this task and the current scope of work for the Growth-Team, we are depriortizing this task.