Last modified: 2014-01-03 15:46:06 UTC
I was trying to use it on wikidatawiki to see user agents for a squid apparently editing. None of the queries ever gave any useful results, mostly timing out at the squid/nginx proxies. I'm guessing it's doing a long slow query that doesn't finish because it takes too long Doing a bounded query worked fine (directly to the database) select * from cu_changes where cuc_user = 0 and cuc_user_text = '10.64.0.127' order by cuc_timestamp DESC limit 15
Reedy: Can this problem still be seen? What are exact steps / an example to reproduce?
https://www.wikidata.org/wiki/Special:CheckUser IP address: 10.64.0.127 Press Check Most users won't be able to access CheckUser
(In reply to comment #2) > https://www.wikidata.org/wiki/Special:CheckUser > IP address: 10.64.0.127 > Press Check > Most users won't be able to access CheckUser Yeah, cannot recheck either. This needs retesting by a user with rights.
Cannot reproduce this using plwikipedia checkuser, which suggests it is because lots of entries in the database. Are you doing "get edits" or "get users" check?
Does adding some time limit help a bit? Here is the actual query if using "get edits": SELECT cuc_namespace, cuc_title, cuc_user, cuc_user_text, cuc_comment, cuc_actiontext, cuc_timestamp, cuc_minor, cuc_page_id, cuc_type, cuc_this_oldid, cuc_last_oldid, cuc_ip, cuc_xff,cuc_agent FROM `cu_changes` FORCE INDEX (cuc_ip_hex_time) WHERE (cuc_ip_hex = '0A40007F') AND (1 = 1) ORDER BY cuc_timestamp DESC LIMIT 5001 when doing "get users": SELECT cuc_user_text, cuc_timestamp, cuc_user, cuc_ip, cuc_agent, cuc_xff FROM `cu_changes` FORCE INDEX (cuc_ip_hex_time) WHERE (cuc_ip_hex = '0A40007F') AND (1 = 1) ORDER BY cuc_timestamp DESC LIMIT 10000 can you post EXPLAIN of those queries?
mysql:wikiadmin@db1058 [wikidatawiki]> explain SELECT cuc_namespace, cuc_title, cuc_user, cuc_user_text, cuc_comment, cuc_actiontext, cuc_timestamp, cuc_minor, cuc_page_id, cuc_type, cuc_this_oldid, cuc_last_oldid, cuc_ip, cuc_xff,cuc_agent FROM `cu_changes` FORCE INDEX (cuc_ip_hex_time) WHERE (cuc_ip_hex = '0A40007F') AND (1 = 1) ORDER BY cuc_timestamp DESC LIMIT 5001\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: cu_changes type: ref possible_keys: cuc_ip_hex_time key: cuc_ip_hex_time key_len: 258 ref: const rows: 1 Extra: Using where 1 row in set (0.00 sec) mysql:wikiadmin@db1058 [wikidatawiki]> explain SELECT cuc_user_text, cuc_timestamp, cuc_user, cuc_ip, cuc_agent, cuc_xff FROM `cu_changes` FORCE INDEX (cuc_ip_hex_time) WHERE (cuc_ip_hex = '0A40007F') AND (1 = 1) ORDER BY cuc_timestamp DESC LIMIT 10000\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: cu_changes type: ref possible_keys: cuc_ip_hex_time key: cuc_ip_hex_time key_len: 258 ref: const rows: 1 Extra: Using where 1 row in set (0.00 sec)
Seems this might have been fixed by purging old rows