[00:34:03] maplebed: I wish the test swift cluster wasn't so slow :/ [00:34:27] AaronSchulz: slow in what way? [00:34:42] particularly write ops [00:35:11] the pmtpa cluster is significantly faster than the eqiad cluster. [00:35:15] (if that helps) [00:35:23] are you trying to do tests with lots of data? [00:35:57] just playing around uploading and viewing files [00:36:01] on a MW test install [00:36:10] I suppose what I'm most curious about - what are the tests you're doing that the speed is visible? [00:36:29] hm. [00:36:36] though it could be a network issue [00:36:38] I haven't tried MW writes; only the thumbnail 404s. [00:36:48] Try against the pmtpa cluster? [00:37:08] it's that for production? :) [00:37:09] it's at msfe-pmtpa-test.wikimedia.org:8080 [00:37:14] nope. [00:37:22] that what is copper for? [00:37:32] but it's closer, being made up of 6 machines (3 proxies, 3 storage) rather than just 3 sharing duties. [00:38:06] copper I put up for functional testing for you. the pmtpa cluster was for performance testing so I wouldn't impact your tests. [00:38:40] is the pmtpa at all stable? [00:39:14] "stable" [00:39:15] yeah. [00:39:18] should be. [00:39:21] it doesn't do any sharding [00:39:47] and there's currently ~16 million objects in the commons bucket [00:39:55] (commons-thumb bucket) [00:40:08] so it will be a little slower than other containers [00:40:23] but it shouldn't be noticable unless you're doing sustained throughput testing. [00:40:42] any everything should be faster than the eqiad cluster. in theory. ;) [00:40:44] deletes are fast though [00:41:03] *AaronSchulz will be using his own bucket [00:41:09] rock on. [00:41:23] *buckets :D [00:45:08] *AaronSchulz tests [00:49:43] maplebed: wow, delete/restore is faster now [00:49:51] \o/ [01:28:41] *AaronSchulz debugs copy_object_to [01:43:06] freezes up apache 1/2 the time [03:14:37] anyone available for support? [03:24:43] !ask [03:24:43] --elephant-- I don't know anything about "ask". [03:24:47] bah [16:18:42] RoanKattouw - I'm working on clicktracking for the edit links as per Dario's request, and I'm curious about whether it would be better to track users from click to save attempt to complete using cookies instead of the get/post passing I'm doing for AFTv5 now. [16:19:14] I was hoping to use Vector as a crib sheet, but I don't see any use of the save hooks in there [16:20:01] I guess you could use cookies [16:20:12] But ... well it's tricky [16:20:35] You'd have to drop the cookie after the submission, at least, to make sure any subsequent edits aren't counted wrongly [16:20:39] And even then [16:21:28] ah, good poin [16:21:29] I would prefer just using query string params for this [16:21:30] *t [16:21:48] cool, just checking that i hadn't missed something obvious [16:21:56] There are so many edge cases that cookies allow for, at least with query params you're pretty sure those will never happen unless the user copypastes the URL from the address bar [16:22:15] yeah [16:22:22] Basically the important thing here is that you're not tempted to call clicktracking from a click or submit hook [16:22:26] in JS that is [16:22:56] i'm not sure what you mean [16:23:17] I mean $('#submitForm').click( function() { $.trackAction( ... ); } ); [16:23:22] Or $('form').submit( ... ) [16:23:41] Someone did that once, it slipped through CR and ran on the cluster for quite a while [16:24:10] I was quite surprised that that had even produced actual logged events, apparently the behavior is browser-dependent [16:24:23] huh [16:24:26] I can at least tell you that it doesn't work in Firefox, AJAX requests get canceled as soon as Firefox starts navigating to another page [16:24:33] What happens is this [16:24:37] ah, i see [16:25:01] User clicks button or link -- your handler runs -- AJAX request to api.php starts -- browser prepares to navigate away -- AJAX req canceled -- browser goes to next page [16:25:27] Apparently there are browsers that allow the AJAX req to run for long enough to actually make it to our servers. Firefox nips it in the bud [16:25:47] So this is why we do the URL mangling stuff for links [16:25:57] i think i have all the navigation away from aftv5 using tracking urls, but i'll double-check [16:26:01] Because $('a.foo').click( function() { $.trackAction( ... ); } ); has this exact bug [16:26:03] I think so, yeah [16:26:55] thanks for the heads-up and the explanation; i'll keep an eye on that going forward [16:27:04] Sure [16:27:37] I've been keeping an eye out for this pattern in review, so I don't think there's any instances in AFTv5 and I'd be embarrassed if you found one [16:49:10] is there a nice way to find users that made the biggest contribution to a specified namespace? [16:49:39] I think that might be doable via a SQL query, but am not sure about that... [19:02:36] surrur [19:02:40] hi all [19:02:50] starting our features team meeting nw [19:02:52] now [19:02:52] good morning [19:02:59] hi gabriel! [19:03:04] good night! [19:03:25] ;) [19:03:40] our meeting agenda [19:03:58] Meeting??Agenda:1. Brief (2-3 minutes) status update by each??team??for project teams listed below:a. Editing tools: Visual Editor [Trevor], Parser [Gabriel] [19:04:11] I see the format's changed [19:04:11] Trevor - you want to start [19:04:18] Back to person-based, in the Etherpad at least [19:04:30] RoanKattouw: not that i know of - it is the same as last week [19:04:37] err, it doesn't seem to be. [19:04:39] tparscal: you around? [19:04:48] i figured there was a reason for the change... [19:05:06] The Etherpad format changed [19:05:10] Apparently the meeting format has not [19:05:16] raindrift: can you please sync up the format - i understand that guillaume changed it somewhat [19:05:25] for wikifying the content [19:05:30] Trevor's on his way [19:05:45] ok - gwicke: update on parser then :-) [19:05:48] welcome to sf [19:05:57] trevor should be ready soon though [19:06:26] ok ; should we get back to the visual editor then [19:06:27] anyway [19:06:31] alolita: the formatting is the same, but there's no project names, only people. do you want me to put the project names back? [19:06:36] parser update by gwicke [19:06:41] I worked on getting template expansions working [19:06:44] raindrift: please do [19:06:57] mostly modified the token stream transform framework to support that [19:07:03] hi TrevorParscal [19:07:17] so that the actual template expansion extension remains small [19:07:17] hi, sorry for being late [19:07:25] np [19:08:01] I hope to get template expansion working somewhat this week [19:08:19] great [19:08:24] and figure out a few more details with Trevor [19:08:28] i need to set some more time aside for that [19:08:31] yup [19:08:35] that's it from me really [19:08:50] TrevorParscal: you should indeed; [19:09:00] gwicke: thanks [19:09:02] yes, no worries [19:09:25] TrevorParscal: welcome back from vacation; any updates on the VED - did you have a chance to dig through the feedback [19:09:37] i saw a ton of bugs [19:09:40] got through my email [19:09:50] through email not bugzilla [19:09:53] Yeah there was a deluge of VE bugs shortly after you left [19:09:58] VED? [19:10:03] VisualEditor? [19:10:11] yup - VED = VisualEDitor :-) [19:10:31] this week I am working on assessing the next steps for visual editor [19:10:46] I'm looking at some of the larger problems we postponed to hit our release date [19:11:10] i also have to prepare for LCA a bit and of course make the best of my time with gwicke [19:11:14] that's about it for me [19:11:27] sounds like a full plate - thanks [19:11:41] b. Editor Retention: Feedback Dashboard [Brandon, Benny, RobM], AFT v5 [Howie, Dario] [19:11:53] Feedback Dashboard update: Benny, RobM [19:12:06] rmoen: update [19:12:35] bsitu: ? [19:12:41] trying to push to prototype today: unanswered filter, added concurrency api [19:12:46] This week we are integrating feedback dashboard responses with concurrency api [19:13:07] As well, placed moodbar feedback into user contrib logs [19:13:15] unasnwered filter, concurrancy, contribution logs, and leaderboard. [19:13:21] bsitu: did you have a chance to sync up with ian on concurrency [19:13:59] Ahh yes we will be also going live with the Top Responders (Leaderboard) on Feedback Dashboard [19:14:01] I checked in with ian late yesterday, we will merge the code to trunk [19:14:10] rmoen, bsitu: so the plan is for jorm and hfung to test / verify today [19:14:18] bsitu: good [19:14:27] in the copious spare time we have available. [19:14:35] I also have some code review feedback for moodbar [19:14:39] will work on those as well [19:14:44] jorm: we deploy tomorrow so need you to test :-) [19:14:54] bsitu: ok [19:15:25] rmoen: top responders data has been verified by dartar [19:15:51] hey alolita, are we changing the format of the weekly report? [19:15:56] DarTar: are you planning to take a look and verify [19:16:21] sure, rmoen do you want to come and find me this afternoon? [19:16:27] DarTar: no - it should be the same as last week [19:16:41] DarTar: thanks [19:16:45] erm, I see it's now organized by person not by project [19:16:52] alolita: RoanKattouw: The format is my cause. When the new pad was created it copied from last week, which only contained "Saved to wiki page" between and , so there was nothing. I didn't know of any blank template so I created one. Didn't concisely choose for this format, just what I thought of. [19:16:57] alolita: if we're going to deploy, we'll need someone (who's not me) to do some code review. [19:17:17] Krinkle: look back in the history [19:17:22] DarTar: I'm changing it back... [19:17:28] Krinkle: i see ; that threw off everyone :-) [19:17:35] raindrift: thanks [19:17:45] personally, i think that "per person" makes more sense than "per project" but that's me. [19:17:48] raindrift: We're gonna deploy what now? [19:17:56] I'm building the new template at http://etherpad.wikimedia.org/FeaturesTeam-Preload and will fix up this document once it's done. [19:18:18] alolita: RoanKattouw: Perhaps it's worth considering switching to person-based though. Since we have project pages with /status for those that want to know about a status. For the team meeting it may be useful to have everything per person, so that we can work and help more as a team (i.e. if I want to know what Roan is working on I don't have to scroll back and forth. If I want to know RL status I can check mw:RL/status [19:18:19] RoanKattouw: changes to Feedback Dashboard. sorry for the lack of context. :) [19:18:26] jorm: I agree [19:18:31] jorm, I second that but aggregating notes by project at the end of the month will become harder [19:18:40] RoanKattouw: we need your eyeballs for cr on concurrency code before deployment [19:18:50] maybe two sections: per person, and then project notes. [19:18:51] Trunk state is reviewed now [19:18:58] I didn't see any concurrency code in SVN yet [19:19:03] jorm: that doesn't really work if half of our team is not attending in this meeting [19:19:07] jorm: guillom would not agree with you [19:19:08] I remember per-person in face-to-face meeting as well, but anyway - sorry for interrupting, reading back now, was AFK. [19:19:17] RoanKattouw: it's in a branch, since the caching layer wasn't done. i'll check it into trunk today. [19:19:20] yeah, I've been filling out a "my stuff that is not covered elsewhere" section for a few weeks [19:19:38] But if this code is not in SVN 24 hours before deployment, you shouldn't take the deployment for granted. Basically, if I find anything wrong with it that takes >1hr to fix, you're screwed [19:19:58] RoanKattouw: I realize. that's why i'm letting alolita know. :) [19:20:06] RoanKattouw: i agree; [19:20:14] raindrift: what are you saying though :-) [19:20:56] hfung: aft status [19:20:58] alolita: I'm saying we're just finishing up this code now and checking it in today. whether it gets reviewed in time for deployment is not necessarily something i can control. [19:22:00] raindrift: yup; checkin the code and RoanKattouw will need to review and clear before any of it is deployed [19:22:01] for AFT [19:22:04] *guillom scrolls back. [19:22:16] guillom: hi [19:22:22] we're planning on deploying a more prominent feedback link this Wednesday [19:22:22] howief: go ahead [19:22:29] cool [19:22:29] Here is a version on prototype: [19:22:31] http://prototype.wikimedia.org/release-en/Test_table?debug=true&aftv5_show_link=true&aftv5_link=D [19:22:57] alolita: sounds good. If Roan will be reviewing, I'll coordinate with him directly. [19:23:06] we're also planning on click-tracking the edit tab so that we can establish a baseline to study potential cannibalization later [19:23:15] raindrift: please do - thanks! [19:23:21] howie: just mailed you about the behavior of that side thinger tab thinger. [19:23:30] ok [19:23:35] got it [19:23:57] That's it for AFT [19:24:02] this release is small from a technical standpoint [19:24:03] So, about this etherpad??? someone just undid the changes I was making to the template. Before I continue, can we decide on a format for it? [19:24:09] but is likely to cause some controversy within the community [19:24:26] raindrift: I'm flying to Australia this week, though. Going to the airport on Thursday morning my time, so I will not be available in a meaningful way after let's say 1pm or 2pm PST on Wednesday [19:24:28] howief: thanks - but the impact and feedback will be big :-) [19:24:39] we certainly hope so! [19:24:51] RoanKattouw: I'm out Wednesday anyway. This code should be ready for review today. [19:25:03] raindrift, RoanKattouw: today is our day [19:25:08] for cr [19:25:16] Yeah [19:25:18] raindrift: I'm holding off until someone makes a decision on the format, I have a preference for per-person but I can adjust my notes either way [19:25:30] You have a few hours then, I'm not gonna stay up very late [19:25:40] I'm not touching it right noe, especially if we're having edit wars about it. [19:26:08] raindrift: i am ok with a per person format (which is what we had started with) but we are interested in helping guillom with his monthly project reporting also [19:26:17] guillom: any comments? on this format [19:26:36] alolita: yeah we expect some big impact and we may find out that that fixed positioned trigger is also more effective to get readers to edit than the edit tab [19:26:44] If people actually update the /status subpages regularly, then I don't mind if the weekly status meeting focuses on people [19:27:09] that's a big If? [19:27:11] Basically, if the information is available for me to write the monthly report, and easy to find and use, I don't have to nag people [19:27:16] guillom: thats the issue - some folks update the subpages regularly and some don't [19:27:51] DarTar: yup agreed [19:27:53] Nikerabbit, very big if, indeed. Few people update the status pages, which isn't a big issue if they provide project updates during the features team meetings [19:28:06] i was unaware of these pages. where do i find them? [19:28:21] on mediawiki.org [19:28:24] https://www.mediawiki.org/wiki/Wikimedia_Features_engineering [19:28:45] guillom has done an excellent job of organizing the info [19:28:48] And I think raindrift just made me die a little :) [19:28:56] :-) [19:29:04] I'm working on a short howto guide for first-timers. [19:29:05] guillom you should also specify that markup is used to aggregate from these status pages into the engineering report, if people manually edit the pages this will break the transclusion [19:29:18] right? [19:29:28] DarTar: i think thats what we're seeing happen on the etherpad for the last 2 weeks [19:29:41] DarTar, yes and no, I can fix it if it's borked. [19:29:50] guillom: awesome! I'll totally update these. thanks! [19:30:08] so let's discuss the format of the etherpad after the team mtg (here on irc) [19:30:25] so are we saying that we're moving to the status pages for project-based reporting and the weekly etherpad will be person-based? That would makes sense to me [19:30:31] I'm fine with that [19:30:37] that works for me [19:30:52] And if we do that, I'll try to encourage more people to update the project pages [19:30:56] and guillom and i will start nagging everyone who isnt updating the status pages [19:31:19] perhaps we could update the project status pages as part of prep for this meeting. [19:31:22] Sounds good to me. I'll finish that howto guide this week then [19:31:35] project documentation is just as important as people updates in the team meeting :-) [19:31:56] raindrift: that would be excellent [19:32:03] so let's move on [19:32:07] I think that keeping status pages up-to-date with deployment info and dates is particular critical if we want to point editors to changes that affect them (and affect the data we collect) [19:32:13] if we had page somewhere that aggregated the most recent status update from each project, we could look at it during this meeting also. that'd be sweet. [19:32:37] raindrift, that's what the page I linked above does, actually. It's automagic. [19:32:40] we would need guillom to do some magic on mw.org [19:32:54] c. I18n: Narayam, WebFonts, Translate [Siebrand, Amir, Santhosh, Niklas, Gerard] [19:32:54] (there's some dark template voodoo involved, but it's manageable) [19:32:57] oh, right. it totally does. awesome. [19:33:02] isn't that what the monthly engineering report page does (aggregate) [19:33:07] hallo [19:33:10] ping [19:33:31] We had quite a big deployment yesterday [19:33:37] guillom, raindrift, krinkle: you're all drafted to work on the documentation/templating/magic [19:33:38] Krinkle, yes, the monthly report aggregates statuses by date; the Features and Platform hubs aggregate by most recent [19:33:55] Nikerabbit: go ahead [19:33:56] guillom: ah, nice :) [19:34:05] Mostly Translate extension, but also other things like WebFonts and Narayam had preference migration [19:34:26] And we just ended sixth sprint today [19:34:33] i finished the "translation workflow states" - marking that translation is in-progress, proofread, deployed etc. Now the states themselves are translatable to other languages. [19:34:33] Thank you so much for fixing that editintro bug btw, Nikerabbit :) [19:34:56] Nikerabbit: yup [19:35:31] Ah, edit intro bug is fixed ? Great! I see that also fixed the editintro problem that was on Meta-Wiki (newarticletext was gone) [19:35:36] aharoni: cool - can this be demo'ed [19:35:59] Krinkle yes, it was an issue with the Translate extension. [19:36:17] And we are using translatewiki.net to find out what code still uses legacy JavaScript stuff, thanks to Krinkle we also have logging of JavaScript errors [19:36:30] aharoni: any other updates; santhosh's webfonts preview ? [19:36:38] our next sprint is mostly about testing, testing, testing - QUnit and PHPunit tests for WebFonts, and documentation for Narayam and the Translate extension [19:36:49] Yep, we're logging client-side exceptions now, not perfect but never been done before and has already shown lots of fruit :) [19:36:49] alolita: that is live too: http://www.mediawiki.org/wiki/Special:WebFonts [19:36:57] Santhosh made a Special page for previewing web fonts. [19:37:13] it's not linked from anywhere yet, so it's small impact for now [19:37:18] aharoni: yup - very useful to do a testing sprint [19:37:34] it has (potentially) a pangram ("the quick brown fox jumps over the lazy dog") in every language. [19:37:59] it shows the available fonts and allows users to download the font and install it properly on the system. [19:38:05] nikerabbit: thanks for the link; i have been checking it out; good for the features team to check it out and give feedback - esp ui related [19:38:22] And Santhosh has been working on supporting GENDER and PLURAL in JavaScript, GRAMMAR is next [19:38:22] jorm, tparscal, krinkle - ui feedback needed [19:38:36] nikerabbit: yup [19:38:38] on what? [19:38:49] on the preview feature for webfonts [19:38:54] Nikerabbit: No webfonts for Sinhala? [19:38:54] jorm, http://www.mediawiki.org/wiki/Special:WebFonts [19:39:02] jorm: TrevorParscal: http://www.mediawiki.org/w/index.php?title=Special:WebFonts [19:39:12] Nikerabbit: I thought I saw test cases for GRAMMAR passing already? [19:39:12] is this user facing? [19:39:16] yup [19:39:23] jorm: yes it will be [19:39:47] RoanKattouw: it certainly does not contain all the language specific logic, I don't know if it contains the forms from the globals [19:39:57] well. it doesn't seem to work for me at all. [19:39:57] Hmm, right [19:40:05] RoanKattouw: no support for sinhala right now [19:40:19] until we have the fonts tested and then integrated after community feedback [19:40:21] alolita, jorm, it is already user-facing, for example in Hindi: http://hi.wikipedia.org/wiki/Special:WebFonts [19:40:55] jorm: try choosing language like ta, or, ml [19:40:59] aharoni: yup [19:41:06] aharoni: anything else we did last week? [19:41:22] ta, ml don't have this support yet [19:41:38] that actually gives me a download link that works, but the font doesn't appear to change much. [19:41:38] Nikerabbit / aharoni : Preview feature is cool :-). Perhaps we'll become the universal source of quick fox sentences. [19:41:52] :-) [19:41:53] the text box is pretty large. [19:42:09] i think on font change we should probably try to pre-populate with some text in that native language. [19:42:37] i get that switching the font won't change the ascii codes i have set in there already but for some reason i thought it would be all "webdings". [19:42:55] "Download" should be "Download this font". [19:43:07] can we do the review sometime else and not in this meeting? Half of our team is not here currently [19:43:20] We're also taking up precious time [19:43:21] jorm: can you please send a consolidated note later today to the i18n team [19:43:29] so this week [19:43:32] on your ui review (thanks!) [19:43:32] or two weeks [19:43:36] this week [19:43:50] documentation, unit tests (PHP and JS) and code review [19:44:08] nikerabbit, aharoni: anything else [19:44:12] yes [19:44:35] I'm writing tutorials for Translate, like https://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example and Narayam is getting user documentation [19:44:38] krinkle, hashar: please help the i18n team on testing; we are planning to integrate [19:44:57] nikerabbit: awesome [19:45:01] we are really going to dive deep into the unit testin world [19:45:18] nikerabbit: ++1 [19:45:35] alolita: Yep, I'm on this with hashar. We plan to make the final switch from my initial qunit-hack from Berlin to Special:JavaScriptTest from JSTesting branch this week [19:45:38] krinkle: we need your help on this [19:45:48] which will enable things like this automatically [19:45:54] krinkle: awesome [19:46:02] we talked today in our meetings that we have had to postpone some stories mlutiple times because we are not getting the required help from people outside of team [19:46:17] hopefully this doesn't happen with unit testing [19:46:20] nikerabbit: yup especially on the ui side of things [19:46:20] Stuff like what? [19:46:29] it is already fairly stable in trunk, so i18n should not have to wait for this deployment. That's only required in order to run it on the live swarm at integration.mw.org but the test suite runs perfectly fine locally in everyone's browser and local dev wiki. [19:47:09] stuff like how to do feedback links and Narayam/WebFonts ui redesign [19:47:14] RoanKattouw: quite a few dependencies on jorm, krinkle, neilk on integrating features like feedback, ui design, testing into the i18n world [19:47:42] Right [19:47:42] nikerabbit: working on getting alternatives; so will keep the team posted [19:48:04] alolita: yes please (and postponing here means the next sprint = 2 weeks) [19:48:14] nikerabbit: yup [19:48:30] that's all I have to say [19:48:43] nikerabbit: thanks for a thorough update :-) [19:48:52] trying to be more concise next time [19:49:12] :-) d. Multimedia: Upload Wizard, TMH [Ian] [19:49:25] raindrift: upload wizard updates [19:49:31] we fixed a bug. [19:49:58] a small one with high impact [19:50:00] roan deployed it. there's been a fair bit of code reorganization, but i haven't been working on that part myself. [19:50:15] totally. the custom license feature was broken. [19:50:34] RoanKattouw: thanks [19:50:57] for TMH, we're trying to put together a test deployment on labs. it's more complicated than we initially suspected, since labs lacks a few things for making a truly commons-like environment. [19:51:24] The aim is to get it all there, but that takes time [19:51:37] I think scalers are pretty well puppetized though [19:51:43] (I'm assuming that's what you need) [19:51:46] next step is to finish reviewing what we actually need to do meaningful testing. we may be able to do it with what's there already. [19:51:56] raindrift: dependency on ops ; i have talked with ct about this ; he needs to assign a resource who can work with us to define the basic subset of the environment needed for tmh [19:52:06] mostly i'm concerned that we'll run into cache-related bugs. [19:52:12] Right [19:52:17] This shouldn't be too hard [19:52:24] Spin up 2 scaler instances and 2 appserver instances [19:52:35] And a memc instance, I guess [19:52:47] All of this stuff is puppetized, so you're lucky [19:52:58] it sounded like there was more to it when ryan lane and i discussed it last week. [19:53:00] The upload Squids aren't in puppet yet, so recreating those in labs is very much nontrivial [19:53:07] for the encoding backend also a setup with a shared files store is needed [19:53:08] I'll defer to Ryan then [19:53:09] that's the main thing, yeah. [19:53:16] RoanKattouw: but puppet needs to be configured on labs (from what i understand) [19:53:17] Right, shared file storage [19:53:20] NFS [19:53:31] also, how are you gonna configure mediawiki? [19:53:46] I guess deployment-prep already has a commons set-up [19:53:51] Steal the deployment-prep thing? [19:53:56] Right [19:53:57] raindrift, try to gently prod brion into helping you with TMH. he's interested in seeing it happen and may be willing to put some effort toward that. [19:54:09] Eloquence: will do. thanks! [19:54:23] Maybe we could extend the deployment-prep project with multiple appservers if it doesn't have them already, and multiple scalers, and NFS for file storage [19:54:25] I'd integrate in with deployment-prep, if you can [19:54:30] it's a good idea [19:54:35] Yeah [19:54:41] Eventually, deployment-prep will become the cluster clone I guess [19:54:42] deployment-prep should be as close to production as possible [19:54:52] I *really* need to get that other node in [19:54:55] ryan_lane: agreed [19:55:08] ryan_lane: do you know when :-) [19:55:26] I'm planning on getting a new node in today [19:55:31] which should help with performance [19:55:34] err [19:55:36] not today [19:55:37] this week [19:55:49] ryan_lane: that sounds more doable :-) (this week) [19:56:00] yeah, especially since I'm in a class today [19:56:17] yup; when are you back in the office [19:56:49] ryan_lane: this week ? [19:56:58] tomorrow [19:57:24] ryan_lane: ok cool; will sync up with you then [19:57:34] so let's move to resource loader [19:57:45] RoanKattouw, Krinkle: when? where are we? [19:58:07] RoanKattouw: ? [19:58:09] OK so [19:58:18] We reinventarized where we're at with RL2 [19:58:29] and updated the wiki page with the TODO list and stuff [19:58:35] what he says [19:58:38] link? [19:58:39] cool [19:58:40] We've only done two tasks so far [19:58:47] Krinkle: Could you link them? [19:58:53] https://www.mediawiki.org/wiki/ResourceLoader/Version_2_Design_Specification/Task_management [19:59:01] One is fixing a few edge case bugs in mw.loader concerning non-existent modules [19:59:14] (this is important for preventing temporary bugs immediately after deployments) [19:59:30] And async loading from the top is in trunk [19:59:39] The other was experimenting with asynchronous script loading from the , which is supposed to make JS load faster and which some people have been haggling us about for like a year [19:59:52] It's now in trunk but disabled by default [20:00:03] cool [20:00:04] This will start loading sooner and load them in parralel [20:00:10] I want to experiment with it on the labs instance, then in production, and hopefully we can ship 1.19 with it being enabled by default [20:00:55] I can also test in translatewiki.net if that helps [20:00:58] RoanKattouw: when will RL2 be ready to be on labs [20:01:00] Would be nice [20:01:09] Oh and thanks to Nike for catching bugs in my code :) [20:01:13] Nikerabbit: that would be very helpful [20:01:19] alolita: We haven't made a time planning yet [20:01:35] IF you don't mind I think we're gonna see how it goes for another month and make a planning in early Feb [20:01:44] RoanKattouw: in order to intersect with 1.19 which is now planned for march [20:01:48] alolita: Probably not before 1.19, but since it's an extension we could merge and deploy later without too much hassle [20:01:53] Because both of us have quite a lot of stuff going on IRL and that all goes away in early Feb [20:02:01] We don't need to intersect with 1.19, it's not a requirement [20:02:16] we need to test for a couple of weeks (at a minimum) before enabling by default [20:02:19] The only requirement is that RL2 is deployed /after/ 1.19 is, but that doesn't require any effort on our part :) [20:02:34] The branch is extension changes only, those can be deployed separately [20:02:37] The Gadgets part of RL2 can be done later without problems. The new loader stuff will be in 1.19 and technically already is since we did that all on trunk instead of branch. [20:03:05] RoanKattouw: the sooner we freeze RL2 and intersect with 1.19 - the better [20:03:11] So we can literally deploy RL2 whenever we want as long as 1.19 is deployed [20:03:33] It would be *nice* to intersect with 1.19, I agree, but I don't think it's worth working our asses off for, tbh [20:03:45] as krinkle said - we can tune the gadgets section and release thereafter [20:03:57] Yeah [20:04:02] That's what we're already doing [20:04:09] RoanKattouw: understood :-) [20:04:17] The core changes are few and far between, and were put straight into trunk, so we're all good there [20:04:49] yup; i am interesting in having a test period before 1.19 [20:05:09] interested [20:05:37] Roan, Krinkle: anything else - we can discuss RL2 details offline [20:05:48] Anyway -- that's all I have for RL [20:05:55] we're past our hour for the team meeting [20:06:05] On a more personal note, I am leaving for Australia on Thursday morning, my time [20:06:14] So I will not be available after 1pm or 2pm PST or thereabouts on Wednesday [20:06:30] RoanKattouw: yup - are you available at all for the week until you get to SF [20:06:38] alolita: Just in general, I'm getting back into the main projects I'm assigned to since last week. Got holidays, extension reviews and documentation sprint that came in between in december done. [20:06:39] or are you out for the whole week [20:06:54] krinkle: awesome; lets chat more offline :-) [20:07:01] so resourceloader, continuous integration, .. [20:07:13] and anything I'm needed with in features aside from RL [20:07:28] krinkle: we've got a bunch of features work too - so lets chat offline [20:07:44] alolita: Alrighty [20:07:57] I will not be available much next week either, that's right [20:08:12] any other project updates - lqt, ... etc. [20:08:27] werdna was in sf for a couple of hours on friday [20:08:33] will be in sf in feb [20:08:35] I fixed couple of bugs in lqt1 [20:08:43] I'll resurface on Friday the 20th, until that I'll be traveling or at a conference, so sporadic e-mail responses and near-zero availability [20:08:45] nikerabbit: i saw that [20:08:54] nikerabbit: thanks [20:09:10] roankattouw: yup - near-zero availability is not good [20:09:20] for features :-( [20:09:23] just trying to keep it working for our use in twn [20:09:28] Nope [20:09:39] You'll have to find someone else for next week's deployment windows [20:09:49] RoanKattouw: yup [20:10:06] reedy: .... you there [20:10:26] RoanKattouw: lets talk to reedy on that offline [20:10:39] closing up.... any questions? [20:11:07] and a request - we need you to do more code review [20:11:28] please put in your 20% time to do patches, cr's [20:11:43] we're pretty behind on the release due to a backlog on cr [20:11:46] Please *really* do it this week. We want to beat back the backlog for 1.19 [20:11:57] me, amir and santhosh have really been booked 8 hours of CR per week for next two weeks [20:12:17] yup - some folks are good about doing their 20% and the others are not [20:12:40] Alright, meeting over? [20:12:44] and we are doing our share of not committing much new code :) [20:12:46] folks i would like to ping for their 20% are: trevor, ian, benny, robmoen [20:12:56] I've also cleared most of the ./resources/ and ./skins/ js/css related commits that weren't mine. [20:13:03] getting closer to that zero point [20:13:04] RoanKattouw: yup meeting over [20:13:06] alolita: I'd like for Benny and RobM to start cross-reviewing on MB/MAH [20:13:19] yay, it's a sauna time [20:13:27] Roan: yup and Kaldari too :-) [20:13:31] thanks everyone [20:13:52] RoanKattouw: ready for our 1:1 [20:13:56] Yup [20:14:08] I already started it in fact. Way ahead of ya ;) [20:14:15] Nikerabbit: sounds like fun ;) [20:14:22] Krinkle: We seem to be in disagreement about proper param documentation syntax for phpdoc/doxygen: http://www.mediawiki.org/w/index.php?title=Manual%3ACoding_conventions%2FPHP&action=historysubmit&diff=471532&oldid=471521 [20:14:47] Not sure which of us is actually correct, or if either syntax is acceptible [20:14:57] kaldari: I have no preference that I care about, just tried to document status quo / most common method. [20:15:17] Yes, I think the issue is that Doxygen actually changed the syntax at some point [20:15:24] so our usage is inconsistant [20:15:24] I stopped caring about phpdoc/doxygen at some point [20:16:08] they should be much more intelligent, no it's just too much effort to have them format nicely [20:16:13] kaldari: Looking at the parsed docs at svn.wm.o/docs I think that parser wants type to be first, but I prefer param name first too. fine by me. [20:17:11] Cool if I revert your change then? [20:17:21] the parser from ./docs displays them as first rest of line, so we get either string $foo: Stuff or $foo string: Stuff [20:17:29] kaldari: you already did, right ? [20:17:33] no [20:17:57] oh, you linked to my rev [20:18:19] kaldari: So you want @param type $var: Description ? [20:18:52] I believe that is consistant with the current doxygen documentation/practices [20:19:02] although we haven't been following those for the most part [20:20:36] anyway, I'm going to run to lunch. It's not really a big deal, but just wanted to get your thoughts. [20:21:48] kaldari: Well, I can learn either, but when looking around recent commits of new code and other doc-parsers (like those for javascript) I see most "@param var type description", so for example in JS "@param varName {Type} description" or php "@param $varName type: description" [20:22:43] If there is no technical difference, either is fine by me. But there may be technical reasons to use one above the other. Perhaps ask on wikitech or conventions talk page to verify if there's any reason we should use one above the other [20:28:37] Krinkle: I'll do that [20:29:37] tho prepare for potential bike shed [20:29:42] :) [20:31:06] if PHP and JS only supported type hints... [20:32:01] Personally I'm glad it doesn't [20:32:18] It feel that's a limitation rather than a power, but only when used properly [20:34:14] <^demon|away> Nikerabbit: PHP supports object and array type hinting. Just not scalars :) [20:35:28] ^demon|away: and you know how much we love boolean parameters [20:36:05] <^demon|away> :) [20:47:17] I think one of the worst we see in our code is from jQuery. jQuery(???).stop( true, true ) [20:47:25] W T F [21:21:16] What's current status of LiquidThreads? [21:22:17] Still stalled, I believe [21:22:18] :( [21:24:38] How suitable is it for production use? [21:24:51] Config says it is deployed on some larger sites [21:25:03] Yeaj [21:25:15] And docs claim that it is experimental/beta/whatever and is undergoing a major rewrite [21:25:18] It's got some "getTitle() called on non-object" bugs lying around [21:25:22] But I think it's generally stable [21:25:26] The rewrite is in a branch [21:25:31] (I think) [21:25:42] For an authoritative answer, e-mail Andrwe [21:25:43] *Andrew [21:39:54] notpeter: I think it would be usefull to have a look at the scripts running production... [23:24:11] Nemo_bis: are you interested in doing a little patch review? [23:24:23] sumanah, patch review? :o [23:24:30] I'm not a programmer [23:24:41] Nemo_bis, ah, I see. [23:24:49] I know just the basic C++ taught to maths students here :-p [23:25:01] Nemo_bis: are you interested in starting a bit of programming? [23:25:04] I'm learning myself. [23:25:22] hm, I think not [23:25:50] love debugging, though [23:25:55] thedj: I'm wondering whether you could give a quick look here: https://bugzilla.wikimedia.org/show_bug.cgi?id=30101 and suggest whether the volunteer should follow up, and whether I should follow up on the volunteer [23:26:25] Nemo_bis: well, far be it from me to tell you what to do, but I'm curious about what endeavors you do concentrate on [23:27:06] so I can know what not to bother you about :) [23:27:30] oh [23:27:35] *Nemo_bis deletes the list and restarts [23:28:15] well, right now Translate extension, usually whatever involves i18n and crosswiki issues, sisterprojects [23:28:44] debugging, finding problems (and solutions :-p), documenting and so on [23:29:43] the problem usually being that too many things interest me, not the opposite [23:31:31] :-) [23:31:58] thanks for contributing [23:32:31] in a day or so, we're launching a new test site to test the deployment of MediaWiki 1.19. With your debugging interests/skills, you may be interested in poking at it [23:32:45] sure, that's for me :) [23:33:53] ah, sumanah, speaking of test sites, there's currently some confusion about the purpose of the existing ones [23:34:04] for instance, where fi.wiki users could test FlaggedRevs, see https://bugzilla.wikimedia.org/show_bug.cgi?id=33617 [23:34:27] whether on en.labs, prototype, another wiki or whatever [23:34:44] hexmode: petan ^^^ [23:34:59] can you clarify? [23:35:03] Nemo_bis: I can create wiki if you want [23:35:06] right now [23:35:10] 1s [23:35:18] fi.wikipedia.deployment.wmflabs [23:35:32] petan, well, if you want I guess they'd like it [23:35:39] hexmode: ? [23:35:42] Nemo_bis: can you list the existing test sites? [23:35:48] (that you know of) [23:35:52] not sure if I want to increase the number of such semi-abandoned test wikis, but if it's so easy to create them [23:36:45] petan: I was just stepping away for 1s... [23:36:51] ok [23:37:08] sumanah, test2?.wikipedia.org, en.labs.wikimedia.org (and some other subdomains), http://prototype.wikimedia.org/flaggedrevs/ , flaggedrevs.labs.wikimedia.org ... [23:37:14] Nemo_bis: I'd like to think that we are going to keep the deployment cluster up for a while ;) [23:37:39] sumanah, and some get deleted at some point even when they shouldn't [23:38:13] Nemo_bis: Can I ask you to write up a quick email about this and send it to wikitech-l? this sounds important to me [23:38:16] like http://liquidthreads.labs.wikimedia.org which contained lots of discussions [23:38:33] sumanah, I don't follow wikitech-l, just occasionally read the archives [23:38:53] looks like a job for Joan perhaps? [23:38:54] Nemo_bis: then maybe you could email me & I'll send it [23:39:24] my emails to wikitech are usually completely ignored, looks like I'm not able to write for that audience :) [23:40:01] http://fi.wikipedia.deployment.wmflabs.org/wiki/Etusivu [23:40:24] petan, wow [23:40:27] Nemo_bis: if you don't want to do it, ok, then I'll do it. it'll be more informed if you write it, of course [23:40:34] petan, does it already have the configuration as on fi.wiki [23:40:37] yes [23:40:41] should have [23:40:48] but not MW space [23:40:54] I will import it soon, or you can do it [23:41:02] I think in general, contrary to labs have been used (which may or may not equal it's original intention) - labs projects should contain any discussions that need to last. Keep discussions central on bugzilla, mailing lists, or on discussion pages on production wikis [23:41:04] sumanah, I can write you some info you need to avoid wasting time on research [23:41:14] should not* [23:41:15] and then you can make that human-readable [23:41:30] Nemo_bis: sounds good! do you have my email? [23:41:35] sumanah, yes [23:41:50] Nemo_bis: So importing discussion to a LQT-wmflabs wiki is unlikely to happen I think [23:42:21] should perhaps be imported to a subpage of LQT extension talk on mw.org or meta-wiki [23:43:18] Krinkle, importing? [23:43:26] I'm saying that there was a lot of discussion there [23:43:29] useful feedback [23:43:36] and that got lost when the wiki was deleted [23:43:43] yes, which should be preserved when that wiki is deleted, (which it will) [23:44:40] just saying that in contrary to labs.wm.o wikis, *.*.deployment.wmflabs.org wikis should likely not be used like tht [23:44:42] that* [23:44:44] that would've been a bit hard, just locking the wiki would be easier, but anyway yes, at least dumping its content somewhere would be nice [23:45:35] wmf labs clusters should be nuke-able and replicate able at any moment, don't make any "project home hub" for certain tests or whatever (unless temporarily) [23:48:40] raindrift1: There are flaws in your concurrency logic, commented on the revision [23:48:42] yes, it just needs to be clear what to do on such wikis [23:48:51] Basically, if you have the following pattern, something is almost certainly wrong [23:48:52] SELECT query [23:48:59] so that people don't waste their time creating discussions that will be deleted [23:49:04] if ( something with the result of the SELECT query ) { write query } [23:49:09] petan, I don't see FlaggedRevs on that wiki though [23:49:20] I will install it soon [23:50:19] RoanKattouw: how's that? that sort of logic works fine if it's inside a transaction. [23:50:39] My testing doesn't seem to indicate that [23:50:45] (also, i clearly need to run my unit tests against sqlite, since jenkins doesn't like them at all) [23:50:46] I don't think transactions lock for reads [23:50:52] And locking reads are evil anyway [23:51:02] I've given you a way to do it without locking reads, that's better in general [23:51:14] interesting. i'll take a look. [23:51:18] (i.e. DELETE any expired/same-user locks, then INSERT your lock) [23:52:17] There's another nice trick for avoiding locking reads. It's probably not applicable to your situation, but it's used in ResourceLoader [23:52:31] Sometimes you do need to SELECT, inspect the row, then UPDATE [23:52:42] So then what you do is you add a timestamp field to the row [23:53:14] And your update query looks like UPDATE table SET foo=bar, timestamp=now WHERE id=3 AND timestamp=prevTimestampThatISawWhenILookedAtTheRow; [23:53:14] aha. makes sense. [23:53:31] If someone else has been touching the row in the meantime, the WHERE condition on the timestamp will fail, and affectedRows will be zero [23:53:35] So then you read again, etc. [23:59:53] yeah, totally. at the default transaction isolation level mysql only blocks writes, not reads.