[03:32:57] Someone was making me look through the history of bot approvals on enwp, and I found https://en.wikipedia.org/wiki/Wikipedia:Bot_owners'_noticeboard/Archive_2#Maxlag_parameter [03:33:51] I thought it was interesting given https://gerrit.wikimedia.org/r/#/c/243471/ [05:26:58] legoktm: I bet ChronologyProtector acts as a throttle too as every action waits on the prior one to replicate, which gets slower as lag builds up [05:27:37] hmm, I didn't think about that [05:29:52] legoktm: another problem with ?maxlag (or a mandatory one) and ClueBot I just thought of is if *one* slave is super lagged but not others [05:30:06] in that cause CB is disable though vandalism can sail through [05:30:47] maybe the mandatory one should consider the check based on a majority of non-zero loaded slaves rather than just if any one is lagged [05:31:13] that's probably more likely than the clever vandal with an army of IPs ;) [05:31:43] so all slaves would have to be lagged before maxlag kicks in? [05:32:08] I said you could trip it when a "majority" or such are lagged [05:32:32] oh, right [05:33:07] * AaronSchulz add's a -1 reminder [05:34:01] *that case [05:34:06] well, you know :) [06:24:55] legoktm: isn't there a script to remove the hhvm tags? [06:25:43] AaronSchulz: yeah, I just haven't had a chance to follow up on it yet: https://gerrit.wikimedia.org/r/#/c/203970/ [15:43:22] anomie: hey, i'm planning to merge https://gerrit.wikimedia.org/r/#/c/243993/ in 5 minutes or so, do you see any reason not to? [15:44:16] MatmaRex: There's still a discussion going on at https://gerrit.wikimedia.org/r/#/c/243993/2/includes/api/ApiQueryFileRepoInfo.php line 103. [15:57:07] anomie: thanks, we resolved that now [15:57:21] ok [15:57:22] anomie: you have however-long-it-takes-jenkins-to-merge to object ;) [15:58:05] PS7 doesn't contain the change I was objecting to, so it's good. [16:10:18] AaronSchulz: Is there a way to force LBFactory to connect to a specific slave? Or do I need to abuse groupLoadsBySection? [16:11:10] anomie: is list=allrevisions good to go with the STRAIGHT JOIN? or do you want to wait for a real solution? [16:11:50] legoktm: jcrespo seemed ok with STRAIGHT JOIN as an interim solution in the referenced task. [16:57:47] ostriches: https://gerrit.wikimedia.org/r/#/c/244199/ [16:58:47] #busy [16:59:36] Also, Collection at the very least still uses it. [16:59:37] kk :) [16:59:45] ostriches: the global var remains [16:59:48] it doesn't cost us anything [17:00:01] nothing in core will consult its value [17:00:15] ori, I wonder if we will need .php7 soon? :P [17:04:20] ostriches: what do want to force it for? [17:04:39] black magic in a WMF maintenance script. I found a different approach. [17:04:49] Abusing a specific slave for data recovery [17:05:02] DatabaseBase::factory() with all the appropriate params I needed. [17:37:18] anomie: I'm reviewing https://gerrit.wikimedia.org/r/#/c/236044/...we're going to have User::setInternalPassword() and setPasswordInternal() ? :/ [17:42:58] legoktm: Feel free to suggest better names. setPasswordInternal() is private, and setInternalPassword() just seems wrong to have existed in the first place. [17:52:11] legoktm: I have no idea why https://gerrit.wikimedia.org/r/#/c/239121/ or https://gerrit.wikimedia.org/r/#/c/239124/ failed. [17:54:00] anomie: the MassMessage one is an LQT bug that I haven't gotten around to fixing yet [17:55:05] and it looks like someone enabled composer test on AbuseFilter without actually merging the change that adds it... [17:56:44] ostriches: well getConnection() supports any index, not just DB_MASTER/SLAVE [17:57:08] you could know the index before hand by looking at the config or also search by dbname like sql.php does [18:15:31] ori: CodeReview extension uses mw.config.get('wgScriptExtension') [18:15:48] So does SVGEdit [18:26:30] Hmm. MediaWiki supports 5.3.3, but I want something only available in 5.3.4 :( [18:36:15] ostriches: not anymore [18:41:49] anomie: what feature? [18:42:12] AaronSchulz: Returning a reference from ArrayAccess::offsetGet [22:28:36] AaronSchulz: if you have sometime, could you take a look at https://gerrit.wikimedia.org/r/#/c/228781/ and make sure I got the WANCache parts right? [23:18:30] thanks [23:22:35] AaronSchulz: by "hot key" do you mean lots of reads, or lots of writes/changes? [23:22:56] lots of reads [23:23:11] like some of the other non-variable based gadget keys alreadu [23:23:14] *already [23:24:02] ok then yeah, that key is going to be hot [23:26:39] AaronSchulz: also, is the change from storing every single gadget in one key -> one list key and individual keys for each gadget ok? [23:30:28] do you have to fetch the individual keys on all requests or only ones that matter (based on addModules() et al)? [23:36:23] AaronSchulz: we have to fetch every key on all requests because they all need to be registered as RL modules. And we also need to check if they're default/permissions to see whether they should be added to the page [23:37:24] how many modules is that for enwiki? [23:38:35] is the serialized blob now too big to fit one key? [23:39:59] 75 modules [23:40:35] Umm, I don't know, I never tried. It also doesn't have to be a serialized class, it could be an array representation too [23:45:18] AaronSchulz: actually I don't think we'd need to load all of them on all requests. We can register dummy RL modules that lazy-load the necessary info as needed. We'd still fetch all the default gadgets on every page view (16 on enwp)