Page MenuHomePhabricator

Long message key page names cause memcached errors
Open, LowPublic

Description

wikidatawiki: Memcached error for key "wikidatawiki:messages:-999.9_union_all_select_0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536--:hash" on server ":": A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE


Version: unspecified
Severity: minor

Details

Reference
bz66284

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 3:22 AM
bzimport set Reference to bz66284.
bzimport added a subscriber: Unknown Object (MLST).

includes/cache/MessageCache.php:281: $hash = $this->mMemc->get( wfMemcKey( 'messages', $code, 'hash' ) );

The long parameter is supposed to be language code. It is a bit tricky to know what to accept here without breaking uselang=xyz use cases. Length check seems okay to add, perhaps 35 chars which is the expected maximum for language codes.