[00:06] I'm working on an app that authenticates users with lp/openid and I'd like to use their team memberships for context. I must be missing something because using OPENID_LAUNCHPAD_TEAMS_MAPPING_AUTO = True in conjunction w/ https://login.launchpad.net/ does not seem to do anything [00:06] Oh, and one important detail, I'm using django and the django-openid-auth library [00:11] timrc: I think you need to be whitelisted to query that via openid [00:11] to prevent harvesting; IMBW [00:11] lifeless: thanks! do you know who I would talk too? [00:11] timrc: anyhow, separately, don't use login.launchpad.net - login.ubuntu.com *is* login.launchpad.net [00:12] https://forms.canonical.com/lp-login-support/ [00:12] lifeless: right, thanks and thanks again [00:12] from the bottom of https://login.launchpad.net/ [00:12] bach [00:12] https://login.ubuntu.com/ [00:12] https://forms.canonical.com/sso-support/ <- that one [00:14] lifeless: great, thank you [00:14] jml: around? [00:40] lifeless - that SQL query [00:41] I wrote it out indented, was slightly perturbed to see lack of brackets between OR and AND clauses in the bug status selection portion [00:41] might be correct, but the operator ordering isn't totally clear [00:42] actually, on second reading, probably OK - I must avoid adding too many () for the sake of not having to remember operator ordering! [00:44] I trust the postgreql engine is smart enough not to execute the Auth lookup part of the query in the case where Bug.private = FALSE [00:44] EXISTS (SELECT BugSubscription.bug FROM BugSubscription, TeamParticipation [00:44] WHERE TeamParticipation.person = 882987 AND [00:44] BugSubscription.person = TeamParticipation.team AND [00:44] BugSubscription.bug = Bug.id) [00:44] could take a while if executed for every bug it has to consider in the list [00:46] thats a correlated subquery yes [00:48] I used to speak SQL at one point (A-Level computing) ;) [00:48] but not so much any more - its mostly read-only [00:49] I'm trying to run it on my local instance (although doesn't have such a big DB ;)) [00:49] hey if you've reformattted it to work [00:49] paste that to me in pastebin or something [00:50] not reformatted, just entered in psql [00:50] reindented it so I could read it [00:50] doesn't get any hits on my DB - so I suspect I didn't munge the product IDs properly to reflect my local instance [00:55] BugTask.bug NOT IN (SELECT bug FROM BugTag) AND [00:56] what about having NOT EXISTS (SELECT bug from BugTag where bug = Bug.id) [00:56] so you don't search the entire tag list for every bug in the DB for every bug we query? [00:57] or perhaps "BugTask.bug NOT IN (SELECT bug FROM BugTag WHERE bug = Bug.id)" [00:57] pcjc2: there were \\n in the thing I pasted [00:57] if you can paste me something ready to run [00:57] then I can do something interesting [00:57] ok - will try [00:57] I deleted the \\n and indented differenly, but never mind [00:58] LP ought to grow a "no wrap" mode for some comments IMO [01:00] http://ubuntu.pastebin.com/DVg1NzYm [01:00] try that [01:00] Just adds a "WHERE bug = Bug.id" to the tag sub-query [01:01] I'm curious what bit of code translates the tag query the user enters into that SQL though - other than the missing WHERE clause, it looks pretty efficient [01:02] (of course.. I'm not certain that adding the WHERE clause will help - it should in theory be able to do just as good a search without it, since it is filtered by that afterwards) [01:03] lifeless: hi [01:03] lifeless: do we have regex string matchers yet? [01:03] lifeless: just wondering if someone else has written them yet [01:04] thumper: in testtools trunk I think [01:04] :( [01:05] lifeless: are you able to run that SQL on the same DB as a real server? (If not, we need different owner IDs and product Ids) [01:06] Since the query is ~instant on my machine it probably needs testing on a large DB to reproduce the huge exec time [01:14] if that helps (not that I probably need to point you at this ;)), the SQL in question comes from lib/lp/bugs/model/bugtask.py ~ line 1369 [01:15] Sorry, line 1422 [01:15] exclude_clause = "SELECT bug FROM BugTag" [01:15] ok, 0.3 seconds [01:15] hmm [01:15] we don't have your data in prod yet [01:15] hang on [01:16] and 17 when executed before? [01:18] lifeless: https://pastebin.canonical.com/41738/ [01:19] 2nd run https://pastebin.canonical.com/41739/ [01:19] s[is this related to what I'm looking at? [01:19] spm: thanks; what does it return without the explain analyse - whats the found count ? [01:20] spm: ... (^___) [01:20] pcjc2: yes, its your query analyzed [01:20] don't have privs to look at that [01:20] o rows [01:20] ok, thats very interesting [01:20] that'd be 0. not o. [01:20] pcjc2: did you add braces perhaps ? [01:20] That comes from the fact it was a stupid query for our bug-set [01:21] ALL the bugs are tagged with something to determine which sourceforge tracker they came from [01:21] pcjc2: does it still oops if you try via the web UI ? [01:21] I only realised this when I tried to run it locally [01:21] * pcjc2 checks [01:22] Yes, it does [01:22] (Error ID: OOPS-1837O107) [01:22] Any chance I can see those pastebin postings? [01:23] ah yes [01:23] http://pastebin.com/732mWULr [01:26] most of the parts look like they were never executed [01:26] Is that on the production database? [01:28] yes [01:28] so the same thing the OOPs said took 17 seconds, executed in 0.369ms ?? [01:28] unless there was a transcription error [01:29] doesn't show me in the dump what product IDs were used [01:29] flacoste: I've removed the 'edge' series to avoid confusing folk [01:33] spm: again please - http://pastebin.com/raw.php?i=3S3RKCSY [01:34] spm: two by explain analyze and one for the result itself [01:36] pcjc2: that will be an hour or so [01:36] execution time, or just fitting the job in? [01:36] getting an spm timeslice [01:37] spm is a LOSA ? [01:39] yes [01:39] just for scale - what sort of size data-centre is all this running on? [01:40] data centres [01:40] The DB servers are amusing. [01:40] pcjc2: primary db server is 16 cores, 128GB of ram, db is ~250GB on disk [01:41] pcjc2: we have 2 active replicas with 8 cores eachm same ram, same db size on disk [01:41] I assumed some kind of DB cluster [01:41] so queries are load-balanced between all 3? [01:41] appservers direct read only queries to replicas when possible [01:41] writes go to the primary [01:42] was just about to ask that [01:42] does it gaurantee in-order processing? [01:43] no [01:43] so if you get a write to the primary, followed by a read at some point later (from the same app?), the write is going to be replicated and affect the read? [01:43] we so, uhm 4million page hits a day [01:43] if we serialised we'd be dead in the water [01:43] pcjc2: The DB is determined largely by the request type. [01:43] a write to the primary and then a read from a slave may read the old data [01:43] pcjc2: POSTs go to the master, most GETs to the slave. [01:43] pcjc2: So within a request it should be consistent. [01:44] Across requests, possibly not. [01:44] cool - this is computing on a scale larger than I ever knew before (writing MS Access databases ;)) [01:44] lifeless: that first analyze execute you posted the results for.. [01:45] was that the SQL query which LP executed, the one from the OOPS, or the modified one? [01:45] all the one you gave me [01:45] * pcjc2 checks i didn't screw it up [01:46] I've regenerated - its the new one I'm asking spm to run [01:46] I screwed it up... [01:46] The one I pasted you had product IDs replaced as I was running it on my local DB [01:47] I suspected it might [01:47] I saw the IDs ok in the new one you asked to execute [01:48] how does security work here - I presume at some level, it is because the LOSAs know who you are and won't ask them to execute a DROP *; [01:48] And presumably they scan the SQL and keep an eye for any nasty side-effects possible? [01:48] its because a) they know who I am and b) they will read the sql [01:48] I'm authed to freenode, etc. [01:49] I recall hearing the LOSAs don't like executing SQL much [01:49] (Or certainly - not tested and approved SQL) [01:49] thats nuanced [01:49] mutating sql we require a bug describing how we can avoid ever running the sql again [01:50] read only sql we only do as part of diagnosing faults [01:50] and every such request is an interrupt which reduces project work [01:50] so its moderately important to us not to interrupt them casually [01:50] so if there was some manual fixup required which could be done in a few SQL statements.. someone would have to file a bug and decide if LP needed to grow internal support for that feature etc.. [01:51] pcjc2: yes [01:51] pcjc2: and we'd have an incident report [01:51] our schema is extremely complexx [01:51] noted ;) [01:51] the chance of screwing something up on even simple sql is nontrivial [01:51] I've been reading bits of it for amusements sake [01:53] When I run ANALYSE EXECUTE here I get -> Index Scan using bugtag__bug__idx on bugtag (cost=0.00..8.27 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=267) for the tag lookup [01:53] that will be affected by the stats which affect th eplanner [01:53] also [01:53] I wouldn't obsess on the tag component [01:54] we need data [01:54] trye [01:54] But without the SELECT, there is rows=33445 loops=1 [01:54] So I'm guessing that it will show a difference in the query you analyse too [01:55] Is spm going to run ANALYSE EXECUTE on the original SQL LP emitted? [01:57] I'm going to have to call it a night - 2AM here - will read the bug report tomorrow to see if there was any development [01:57] (Please leave a comment if there is marked difference in analysis results with the tag part changed) [01:57] Btw.. in case you didn't hear it enough - Launchpad is AWESOME [01:57] thanks :) [01:58] Moving from Sourceforge to LP with our bugs has TOTALLY reinvigorated our two projects [01:58] Contributors are coming out of the woodwork with patches, participating in review, reworking their patches [01:58] On SF, patches went to die [01:58] thats awesome [01:58] We had to shut our -dev email list down to open membership due to Signal to noise ratio problems [01:59] LP bug comments have proved to be the -dev list we never had. Active, constructive discussion of the item in hand - far less OT [01:59] (And this is still only a couple of days into our migration and triage effort!) [02:00] I know SF is not a great shining example to compare against, but I've had several positive comments from users who far prefer LP as well now they've tried it [02:01] I wonder if we have a page for quotes ;) [02:08] lifeless: I've got a question if you've got a minute [02:10] Feel free to quote me if you want [02:10] Really -> bed now, night! [02:10] Project devel build (348): STILL FAILING in 3 hr 26 min: https://hudson.wedontsleep.org/job/devel/348/ [02:11] thumper: sure [02:11] lifeless: it is about the +build urls [02:11] lifeless: that bigjools replied to on launchpad-dev [02:12] lifeless: he mentions three points, but only one (IMO) is valid [02:12] lifeless: is it worth fighting or just add redirects? [02:12] whats the thread subject? [02:13] Url change for binary package builds [02:13] Project db-devel build (262): STILL FAILING in 3 hr 28 min: https://hudson.wedontsleep.org/job/db-devel/262/ [02:20] lifeless: are you reading or busy? [02:21] thumper: its dinner/drinks time, so multiplexing [02:21] :) [02:25] which one is valid ? [02:27] that people may keep ids around [02:28] my change altered ALL binary builds [02:28] not just ppa ones [02:28] so that is one of the three out [02:28] the second point I disagree with [02:28] the api stability argument may matter if the build objects were exported in '1.0 [02:28] ' [02:28] I talked with flacoste about it and he doesn't think it is an issue [02:29] he seemed to think that the url wasn't a big issue... [02:29] I think we need to decide if our apis are stable or not [02:29] changing the url space for existing 1.0 exported things is a big deal IMO [02:29] lifeless: in order to get this fixed probably best to just add redirects yes? [02:30] this is an oops issue for us [02:30] I think it probably is best overall, yes. [02:30] ok [02:30] it is more work [02:30] * thumper gets on it [02:30] it is [02:30] the work is complete as is [02:30] so yes, more work [02:30] OTOH the work makes the transition smoother during the deploy [02:30] * thumper shrugs [02:30] I'll get it done [02:31] cool [02:45] thumper: hey, do you think you could land mkanat's loggerhead version bump? [02:45] lifeless: where is it? [02:46] thumper: https://code.launchpad.net/~mkanat/launchpad/lp-loggerhead-update/+merge/45787 [02:47] lifeless: yep [02:47] awesome, thanks! [02:50] gah [02:50] can't lp-land it [02:50] as I don't have that branch [02:50] isn't there a setting to say "land that one" [02:51] if there isn't, there should be a bug asking for that [02:51] I'd be happy for such a bug to be triaged 'high' [02:54] lifeless: which plugin? [02:55] lp-submit I think [02:55] perhaps pqm-submit [02:58] lifeless: it is in the pqm plugin [03:00] lifeless: is devel open? [03:00] lifeless: topic says no [03:03] oh [03:03] hmm [03:04] we should be able to open again as soon as we're qa'd up past the db merge. [03:04] I guess that isn't in the process docs yet or something, or perhaps we aren't qa'd to that point yet. [03:38] spm: hi [03:38] lifeless: ho! [03:39] spm: did you see my analyze request ? [03:40] oh no. sorry. doing now. [03:42] spm: new post - http://pastebin.com/raw.php?i=5HBhT6R4 [03:43] ugh. 15+ seconds on getting the explain analyse [03:43] yes, thats why we're asking for it ;) [03:43] data isn't in staging yet [03:45] ew. https://pastebin.canonical.com/41741/ 1 minute just for the analyse. [03:45] spm: 2 plox, + the actual result [03:46] yah. 2nd runing now. [03:50] . wireless . at . hotels .. sucks [03:50] count [03:50] ------- [03:50] 9 [03:50] (1 row) [03:50] lifeless: ^^ [03:50] ??????? [03:51] what was the second analyze? [03:54] I didn't paste that? oops. one sec. [03:54] note that I can see [03:54] https://pastebin.canonical.com/41742/ [03:54] no I didn't meant to add it to the results above [03:54] didn't meant to... [03:58] around for a little? [04:02] spm: can you try [04:02] http://pastebin.com/LcA17msn [04:04] lifeless: https://pastebin.canonical.com/41743/ I like that version better [04:07] thanks spm [04:07] me too [04:29] Wow, KDE is stupid. [04:29] ... [04:29] I installed python-kde4 last night to try to debug the SIGCHLD thing. [04:29] I just logged out and back in, and now the test suite causes a KWallet prompt followed by a segfault. [04:29] \o/ [04:31] Clearly, KDE is for people who want a broken Launchpad. [04:31] It's probably not Launchpad's fault that there's a segfault. [04:31] That is entirely down to KDE :) [04:35] spm: Hi. [04:37] wgrant: yo! [04:38] yoyo [04:38] spm: Could you please run http://paste.ubuntu.com/552687/ on prod? [04:40] architecturetag | count [04:40] -----------------+------- [04:40] ia64 | 1982 [04:40] sparc | 1983 [04:40] (2 rows) [04:40] wgrant: ^^ [04:40] Damn. [04:40] OK, thanks :( [04:41] wgrant: pitti is having lots of fun with your VGA cable [04:42] StevenK: Oh? [04:42] spm: http://paste.ubuntu.com/552689/, if you could. [04:43] wgrant: Martin's laptop with Natty, 52" TV in the hotel room, do you need a calculator? [04:43] StevenK: Ah, of course, making Unity crash even more spectacularly than usual! [04:45] wgrant: Sadly, it didn't crash once. [04:45] wgrant: https://pastebin.canonical.com/41744/ [04:45] StevenK: It doesn't do anything *but* crash on my desktop. [04:46] spm: aaaaaaaaaaaaaaaaa [04:46] heh [04:47] wgrant: Can has bug with a backtrace? [04:47] wgrant: is bug 78845 still true? [04:47] <_mup_> Bug #78845: publication process should allow per-release holds < https://launchpad.net/bugs/78845 > [04:48] StevenK: Possibly. [04:48] StevenK: It's a bit hard. [04:48] Because fglrx is awful. [04:48] And likes to hang once Unity crashes. [04:48] Oh, ye gods. [04:48] well there is your bug [04:48] Although even vanilla Compiz crashes sometimes now. [04:48] It was stable in maverick :( [04:48] lifeless: I don't think that's ever been true. [04:49] And it's even less true now that security uploads don't go through the queue. [04:50] I suspect you're on your own, masochist [04:52] spm: https://pastebin.canonical.com/41745 :( [04:52] wgrant: https://pastebin.canonical.com/41746/ [04:53] * spm is an SQL bot [04:53] Today, you are. [04:53] spm: Thanks. [04:53] * wgrant goes off to cry in the Soyuz corner. [04:53] * StevenK cries at test_hasbuildrecords.py [04:54] Yes, let's use broken sampledata that's been changed by use of removeSecurityProxy() and THEN push it through code. Ja. That would be fun. [04:57] Oh, they're not actually in the primary archive. [04:57] Phew. [05:01] * StevenK grumbles at sourcepackage.py [05:01] # End of duplication (see XXX cprov 2006-09-25 above). [05:01] What XXX by cprov?! [05:02] StevenK: IIRC the original XXX is in one of the duplicates. [05:02] But not the other. [05:02] Must. Resist. Throwing. Laptop. [05:03] It's a ThinkPad, it'll survive. [05:03] If it's closed. [05:03] True. [05:06] so close it, throw, then re-open? [05:07] Hah [05:07] * StevenK rings Chubb first ... [05:27] (Pdb) print self.builds[0].build_farm_job.date_finished [05:27] None [05:27] Ah ha. Hello, smoking gun. [05:29] * wgrant pushes delayed copies off a cliff. [05:36] spm: http://paste.ubuntu.com/552703/ <- last one, but there'll be about 4000 rows returned. [05:36] do you need all 4k? [05:37] Ideally. [05:37] We have at least three variations of the bad data... I'm not sure how many more there are. [05:39] spm: Only give him 3,999. He'll never know ... [05:39] StevenK: you are kidding right? this is *wgrant* we're talking about. [05:40] Bwahaha [05:40] amusingly, it's 3969 rows [05:40] well, lines of output. [05:41] I was expected 3965 rows of data. [05:41] Which is one off. [05:41] Odd. [05:43] wgrant: https://devpad.canonical.com/~spm/wgrant.out [05:43] (3965 rows) [05:44] spm: Thanks. [06:09] Sounds like it's a good time to visit Brisbane. [06:09] brb [06:36] Is there a reason we don't have a PropertyCache-based memoization decorator yet? === almaisan` is now known as al-maisan === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan [08:44] good morning [09:00] Good morning adeuring ! [09:00] Hi al-maisan! [09:01] how are things! [09:01] sad to see you leaving [09:01] s/!/?/ [09:01] adeuring: das ist der Lauf der Dinge :) [09:02] althings are fine here. Looking forward to the epic [09:03] nice :) when and where is the epic taking place? === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan [09:11] morning === al-maisan is now known as almaisan-away === mrevell__ is now known as mrevell === mrevell_ is now known as mrevell === Ursinha-afk is now known as Ursinha === mrevell_ is now known as mrevel === Ursinha is now known as Ursinha-lunch [14:13] leonardr: what's the qa status of bug 686690? is it qa-able? [14:13] <_mup_> Bug #686690: 1.8.0 breaks login_with() API compat with existing credentials files, and forces keyrings < https://launchpad.net/bugs/686690 > [14:14] jcsackett: yeah, it's qaed, let me just make sure the new version made it into launchpad [14:14] leonardr: ok. thanks. [14:16] jcsackett: yeah, looks good [14:17] leonardr: excellent. that's the last bug blocking the deploy-stable queue. [14:17] thanks, leonardr. [14:18] np === matsubara is now known as matsubara-lunch [15:00] jcsackett: do we have revision number? [15:00] flacoste: unless someone contacts me with something that needs RC and landing by midday today, r12177. [15:00] jcsackett: how about doing a nodowntime today of 12176? [15:01] flacoste: i'm comfortable with that. [15:01] jcsackett: can you make it happen? [15:02] we can't do nodowntime to codehosting yet can we? [15:02] mwhudson: i don't know. flacoste? ^^ [15:03] i thought we could nodowntime anything that didn't require db changes, but i could be quite wrong. [15:03] mwhudson: we can't no [15:04] ah well [15:04] mwhudson: codehosting isn't part of nodowntime yet, we have a RT in progress to fix that though [15:04] cool [15:04] jcsackett: soyuz FTP services, librarian and codehosting are not part of the nodowntime set [15:04] because deploying there actually causes downtime to the services [15:04] I had an idea about ftp services [15:04] we have RTs to fix codehosting and librarian [15:05] and ftp :) [15:05] soyuz FTP services will require some engineering [15:05] bigjools: i thought ftp was more than a RT? [15:05] flacoste: given that we never, ever change the ftp code, I filed an RT to have 2 deployment trees, one for FTP and one for everything else [15:05] flacoste: let me scan the deployment queue again then and make sure we don't have anything that couldn't be nodowntime then--i haven't been reviewing the queue with that in mind. [15:06] then we can roll out to germanium's "everything else" tree as part of the nodowntime set [15:06] jcsackett: most things [15:06] bigjools: that would be a nice incremental improvement! [15:06] bigjools: we can do an active-passive mode for ftp / sftp [15:07] flacoste: rt 43238 if you want to poke [15:07] bigjools: wgrant seems to think its harder than that though, and was going to speak to you about it [15:07] lifeless: I think it will be hard too [15:07] since we can't interrupt in-progress uploads [15:07] sure [15:07] same constraint we have on appservers [15:08] so needs a bit of engineering - my 2-tree solution is much nicer I think [15:08] I think its a good short term fix, I don't think its a good long term fix because we want to eliminate skew [15:08] the only problem after that is worrying about a SPOF [15:08] skew? [15:08] lifeless: most things? [15:08] there is no skew [15:08] the ftp code never ever changes [15:10] the losas monitor deployed versions [15:10] if we have two deploys on a machine [15:10] they will get warnings if one is not running the current deployed version [15:10] I didn't see an announcement of a rollout last week or this week, but I see we did one [15:10] lifeless: Tom was happy to do this when I asked him [15:10] I am sure they can cope [15:10] bigjools: I'm happy for it too, short term. [15:10] I don't think its a sensible long term arrangement [15:10] lifeless: not exactly - that holds true for groups of servers (lpnet servers, for instance) but not across all services [15:10] why? [15:11] I'm not wedded to the idea if there's something better, but you need to explain :) [15:12] because it adds a nonobvious surprise waiting to be a pain in the future - especially if we very rarely change it [15:12] (its the rarely changed things which hurt most, because the knowledge gets lost) [15:12] bigjools: I'm assuming the long term idea is make sure those services are deployable in a no-downtime-load-balanced way so we can deploy to them without affecting customers [15:12] can you expand on what the nonobvious surprise is? [15:12] the amount of code that changes during a monthly rollout [15:12] mthaddon: yes, but that will need extensive code changes to make it work [15:12] the nonobvious surprise would be having a lp tree that isn't deployed to [15:13] lifeless: not true, it would be deployed once a month [15:13] bigjools: actually, I think it needs as much infrastructure changes (haproxy, etc.) [15:13] mthaddon: not quite, see above about not interrupting in-progress sessions [15:13] bigjools: thats a constraint we have on the web appservers too [15:14] bigjools: we'd have a way of monitoring haproxy to ensure we only stop services when there are no active sessions (as we are planning to do for the appservers) [15:14] yes, so we'd need to change some code, like I said :) [15:14] thats fine [15:14] short term vs long term [15:14] bigjools: and we'd have a mechanism to be able to say "pretend you're down to haproxy so it doesn't send new connections to you, but don't actually stop doing anything yet" [15:14] mthaddon: ah, if you can do it all in the haproxy then that's a different matter [15:15] bigjools: the ftp thing is zope's ftp service right ? [15:15] yes, but I want it to die horribly [15:15] and replace it with twisted [15:15] bigjools: all it needs is a http site that starts giving 500's after SIGUSR2 is received [15:15] bigjools: yeah, about 80% of it is done in haproxy - just need a mechanism to be able to fool haproxy into thinking it's down when it's not (but when you want it to be shortly) [15:15] we have sftp in twisted, adding ftp will be easy [15:15] sure [15:15] either way [15:15] then the zope shit can die [15:15] my point is - doing what you've proposed is a great short term hack [15:16] but longer term - the goal is one rev of lp everywhere, on every deploy [15:16] if that's the goal, cool [15:17] bear in mind though that you'll struggle to do any of this on cocoplum [15:17] and yeah we have to write code and elinminate SPOF's and so forth [15:17] one step at a time :) [15:17] since we can't interrupt the current publishing cycle easily [15:17] well, we can, but it's nasty [15:18] we need cocoplum and germanium *2 to eliminate SPOFs :) [15:18] or to put their storage on the SAN [15:18] that's part of it [15:18] then we can have a cluster of boxes to do the processing logic [15:19] * lifeless handwaves furiously [15:19] ha [15:19] seriously: I know this is a fiendish scale problem [15:19] we'd need to re-engineer a load of soyuz stuff to make in multi-processable [15:19] s/in/it/ [15:19] and there are model issues where we can wedge stuff if something is uploaded twice [15:19] and so forth [15:19] yeah, not impossible, just hard [15:19] I'm advocating a calm one step at a time, interleaved with feature work and bug fixes [15:20] the benefits of getting this all done are substantial [15:20] I certainly won't argue with that [15:20] at the moment we're in a sort of phase 1: get to the point where we can upgrade all our code without user visible impact [15:21] that gets rid of a bunch of software level spofs [15:21] doesn't do scaling [15:21] doesn't do hardware spofs [15:21] doesn't do datacentre-redundancy etc [15:21] I'm very concerned about the scaling when we need to host derived distros [15:22] I'd be delighted to talk about current bottlenecks and see if we can come up with a minimal way to add pluggable capacity [15:22] we can chop probably 90% of the database load the b-m generates if we use MQs [15:24] I'll run you through it next week if you like [15:24] cool [15:25] Googles index is mutating. My search for "prescription" in Launchpad yielded 105 matches. I expected 8. I saw only 40. A minute later I searched an there was only 4 matches === matsubara-lunch is now known as matsubara [15:33] lifeless: yo [15:33] lifeless: I wish to speak with you. === Ursinha-lunch is now known as Ursinha [15:54] anyone has any suggestion on how to debug a "ShortListTooBigError: Hard limit of 1000 exceeded." API-prefetching problem on a non-API using page? i.e. how would I figure out what attribute is getting serialized? [15:54] oh, how stupid of me, SQL log tells me all I need to know [16:04] jcsackett: looks like we can unfreeze trunk [16:04] jcsackett: given that we're qa'd up through 12177 [16:05] lifeless: yes. on the list of todos i'm working down right now. === jcsackett changed the topic of #launchpad-dev to: Launchpad Development Channel | New starters: huwshimi | 11.01 Release Week 4 | PQM is open | RM: jcsackett | firefighting: - | Get the code: https:/​/​dev.launchpad.net/​Getting [16:30] danilos: jcsackett, you coordinate your work. you may be doing duplicate work or bugs [16:30] only one of you should use do_not_snapshot on the specifications attr for product and distribution === beuno is now known as beuno-lunch [16:32] danilos: what bug are you looking at? i'm looking at bug 696913 [16:33] <_mup_> Bug #696913: Product:+edit or +configure-* error 'Cannot update project details: shortlist exceeded 1000' < https://launchpad.net/bugs/696913 > [16:33] jcsackett, oh, I just filed a new one because I've seen it in translations [16:34] jcsackett, I am only fixing valid_specifications, I haven't hit the milestones yet, but I am sure I would when I tried this fix out [16:34] danilos: and lifeless filed one for blueprints. I think there may only be one bug. [16:34] sinzui, right, it looks like it is, it's a simple doNotSnapshot missing, or a more complex "do-not-snapshot-by-default" bug [16:35] sinzui, danilos: it's the IHasSpecificationsMixin; none of its collections are doNotSnapshot-ed, and it's included in Product, so anything with products can hit this. [16:35] sinzui, jcsackett: I am marking bug 701529 as duplicate of that [16:35] <_mup_> Bug #701529: OOPS on Distribution:+configure-translations < https://launchpad.net/bugs/701529 > [16:36] jcsackett, I have a branch which fixes it for valid_specifications (including a test that lives in registry, though ideally we'd have a IHasSpecifications test) [16:36] jcsackett: sprint maybe [16:36] jcsackett, https://code.launchpad.net/~danilo/launchpad/bug-701529 [16:36] sinzui: you mean leave this to the sprint to discuss solution? [16:37] jcsackett: also projectgroup. We can test that by trying to edit the description of launchpad-project [16:37] sinzui: oh, sprint, the model. [16:37] * jcsackett is all out of whack today. [16:37] jcsackett: I think the problem interface is mixed into ISprint [16:37] sinzui: yeah. IHasSpecifications is used in several places. [16:37] jcsackett, sinzui: since I am in Dallas, I would be very happy to hand this over to you guys, but the branch I have is already landable imo, so if you want I can land at least that bit [16:38] danilos: thanks. === yofel_ is now known as yofel [16:38] danilos: sure, get it landed and i'll deal with any conflict in my branch when it hits. [16:42] jcsackett, I guess it's not going to fix the problem even for translations, so I might just leave it to you :) [16:42] danilos: sounds fine. i think i'll have mine ready to land by my EOD. [16:42] i was trying something fancy earlier, and it goofed, so i'm going for the less fancy more functional fix. === bigjools-afk is now known as bigjools [16:51] hi benji [16:51] hey bac [16:51] benji: i created an egg for lplib 1.9.3 but am now getting other errors using ec2 [16:51] benji: http://pastebin.ubuntu.com/552890/ [16:53] bac: hmm, that surprises me; looking into it more [16:54] bac: I bet you're running this over an SSH session. [16:54] benji: i am. as i always do. :) [16:55] benji: i can try on the machine to see if i can get past the auth step [16:55] bac: If it isn't obvious, I'm in Dallas, so please ping me for the US reviewers meeting this week, and not the er, other one. [16:56] bac: I bet it'll work. I'm looking for a better fix while you try that. [16:58] benji: it did [17:08] jcsackett, so, the branch I have does fix the problem for IDistribution:+configure-translations page (tried it out by cowboying to staging) [17:08] danilos: cool. if you want to land it, i don't think we'll have a merge conflict down the road. my branch tackles the same bit, plus some other collection fields and milestone stuff. [17:10] bac: you should be able to get GNOME keyring to work over ssh by running export `dbus-launch` [17:13] jcsackett, right, I don't want to land it if you are creating a nicer lib/lp/blueprints test, so I'd let you be the judge: https://code.launchpad.net/~danilo/launchpad/bug-701529/+merge/45886 [17:14] jcsackett, if you by any accident feel an urge to approve that, I'll land it, but if you've got a better solution (I don't doubt you do :), I'll just scrap it [17:15] danilos: i am adding blueprints tests, but i don't think they prohibit your landing that--two extra fields on that test aren't a testing performance issue, imo. [17:16] danilos: if you would rather abandon it though and enjoy Dallas, i don't think you have to land it. [17:16] jcsackett, it's more of a "localization issue": you break non-blueprint tests by changing blueprints, which is something I hate [17:16] jcsackett, so, I'll scrap it (it'd still be hard to enjoy Dallas :) [17:16] danilos: heheh. dig. === benji is now known as benji-lunch [17:34] bigjools: Is there a proposed Round 2 of testing for https://dev.launchpad.net/LEP/DerivativeDistributions -- I'd be interested in participating === Ursinha-afk is now known as Ursinha [17:36] timrc: nothing planned, but if you have any comments I'll gladly take them [17:40] bigjools: is there something demoable regarding this feature? [17:40] timrc: no, we're a long way off [17:40] bigjools: I'm generally interested as an OEM stakeholder === jtv is now known as jtv-afk [17:41] benji-lunch: that worked, thanks === beuno-lunch is now known as beuno === gary_poster is now known as gary-lunch [18:03] sinzui: ping [18:03] hi jml [18:03] sinzui: hi [18:04] sinzui: I'm just looking at https://lpstats.canonical.com/graphs/People/ [18:04] sinzui: it looks broken. [18:05] Look like someone switching Lp to use Ubuntu's SSO [18:05] sinzui: ahh, ok. [18:05] sinzui: so I should pretty much ignore the "invalid" bit? [18:05] sinzui: I'm trying to get a sense of number of users. [18:05] I do not know really. [18:06] but I think we need to broaded the range to ensure shipit nonsense is not mixed in too [18:06] okay shipit is not a factor [18:07] I wonder if this is looking a password. Lp does not use them, so I expect them to be null [18:07] sinzui: also, do you know how https://lpstats.canonical.com/graphs/ProductsFlaggedOfficial/ is calculated? is it up to date wrt your recent changes? [18:08] Yes, it is correct [18:08] note the dips as we transitioned to the new rules [18:09] jml: I looked at the people when I saw it hit a million. I think the number is legitimate! [18:09] sinzui: that's pretty exciting :) [18:11] I had a small anxiety attack at the time. Is there really that many in the communities, or do we have users who registered to do one single task [18:11] jml: have you ever looked at how many users get karma every week [18:11] sinzui: requently [18:11] frequently, rather. [18:11] sinzui: https://lpstats.canonical.com/graphs/KarmaBreakdownGlobalWeek/ [18:11] I have this nagging feeling we have a large silent failure in Lp [18:12] sinzui: https://lpstats.canonical.com/graphs/KarmaBreakdownGlobalWeek/20070701/20110112/ [18:12] sinzui: how do you mean? [18:12] less than 1% of registered users are active [18:13] sinzui: yeah. [18:13] sinzui: I think the number goes up a fair bit if you consider activity over a span longer than a week [18:13] that is a bogus number because some people work on monthly and yearly scales [18:14] sinzui: *nod*. it's about 20k per month [18:14] sorry, message interpolated badly. My 1% remark is bogus [18:14] sinzui: tell me more about your hypothesized large silent failure [18:15] jml I can never find the graph branch. I am suspect we need to remove password from or account from the report to fix the numbers [18:16] sinzui: bzr+ssh://bazaar.launchpad.net/~canonical-losas/tuolumne-lp-configs/trunk/ [18:16] thanks [18:16] sinzui: it would also be nice to graph the number of projects that use *any* component officially [18:16] jml: I suspect many users try Lp, then silently leave. Some maybe to report a bug, some to report a project. [18:17] sinzui: yeah. I believe that. [18:18] oh yeah [18:18] did you guys see pcjc2's comments about launchpad last night? [18:18] about how it had suddenly made his project awesome? [18:19] jml: I am talking with mrevell and gary next week about reintroducing the Lp setup profile workflow. We lost it going to Ubuntu SSO and I think it needs to be re-imagined to introduce Lp to users [18:19] or something [18:19] mwhudson: yes [18:19] lifeless: I didn't. [18:19] 14:57 < pcjc2> Btw.. in case you didn't hear it enough - Launchpad is AWESOME [18:20] 14:57 < lifeless> thanks :) [18:20] 14:58 < pcjc2> Moving from Sourceforge to LP with our bugs has TOTALLY reinvigorated our two projects [18:20] rockin' [18:20] 14:58 < pcjc2> Contributors are coming out of the woodwork with patches, participating in review, reworking their patches [18:20] 14:58 < pcjc2> On SF, patches went to die [18:20] 14:58 < lifeless> thats awesome [18:20] 14:58 < pcjc2> We had to shut our -dev email list down to open membership due to Signal to noise ratio problems [18:20] 14:59 < pcjc2> LP bug comments have proved to be the -dev list we never had. Active, constructive discussion of the item in hand - far less OT [18:20] 14:59 < pcjc2> (And this is still only a couple of days into our migration and triage effort!) [18:20] excellent [18:20] 15:00 < pcjc2> I know SF is not a great shining example to compare against, but I've had several positive comments from users who far prefer LP as well now they've tried it [18:20] 15:01 < lifeless> I wonder if we have a page for quotes ;) [18:20] you should post it to the blog [18:20] 15:08 < thumper> lifeless: I've got a question if you've got a minute [18:20] 15:10 < pcjc2> Feel free to quote me if you want [18:20] that's awesome [18:20] tagged 'feedback' [18:20] I will quotethat [18:20] lifeless: and yes we do have a page for that sort of thing. [18:21] http://www.google.com.au/search?q=launchpad+testimonials none are us [18:22] yes. [18:22] I'll get my SEO team on to that [18:22] Should we put that on help.lp.net ? [18:22] Since, er, dev doesn't seem the right place [18:22] mm, i really think the blog is better [18:23] it's not user help information [18:23] or only for developers [18:23] or perhaps somewhere like +tour, but less dusty [18:23] TBH, I personally feel blogs aren't static, but ... [18:23] The bikeshed should be purple, clearly. :-P [18:23] "on this day, pcjc2 said..." [18:23] it's a moment in time [18:23] you can tag them to find what was said [18:24] internally, https://wiki.canonical.com/Launchpad/Testimonials [18:24] 'in the past, our users have said...' [18:24] but yeah, it's a bit bikesheddy [18:24] it's a story about how we are perceived :P [18:24] I don't think testimonials are a moment in time ... they should be current [18:24] * lifeless doesn't care [18:24] lifeless: about Lp admins should not have nomination rights, is this because they own a team? [18:25] sinzui: I was going off the data in the bug [18:25] sinzui: owning a team would speak to the owner/operator split we were discussing the other month [18:25] oh, this is the person filing all these bugs recently [18:25] sinzui: but I don't know if thats the case here [18:26] lifeless: exactly my thinking. I have noted that it is challenging in Lp to learn what team I own since I am not always a member [18:27] really, wow [18:28] sinzui: you might like to note that this may be 'they own' rather than 'they are admins' but that we need more data to diagnose. [18:28] sinzui: or I can if you like, but I have about 60 bug tabs open and that one closed already [18:30] StevenK: yo [18:30] bug 261971 [18:30] <_mup_> Bug #261971: Add debconf preseed for architecture tag < https://launchpad.net/bugs/261971 > [18:30] lifeless: I will look into it. [18:30] sweet, thanks [18:32] lifeless: Uh? [18:32] StevenK: is that still needed? crack? done? [18:32] It's crack cut with arsenic, and lpia is dead, please kill it. [18:33] lamont may disagree [18:33] lifeless: I've pinged lamont, lesse ... [18:34] so have I [18:35] Haha. We pinged in different channels, for hilarity [18:36] where did you ping? [18:44] StevenK: surely bug 277550 is a dupe of some master 'does not support alternate dependencies' thing ? [18:44] <_mup_> Bug #277550: binary package status page does not display alternate dependencies < https://launchpad.net/bugs/277550 > [18:45] We do support alternative dependencis [18:45] It's a bug in the model [18:46] I don't follow [18:46] do we have duplicate code? [18:46] lifeless: I'm trying to fix something, so I'm trying hard to not context switch [18:46] ok [18:47] lifeless: wgrant would be the best person to ask about that bug [18:47] thnaks === gary-lunch is now known as gary_poster [18:59] lifeless: a while ago you asked me for a public graph of the number of bugs tagged oops & timeout [18:59] lifeless: I haven't done that yet. [18:59] lifeless: do you still want it? [19:00] would be nice. regression too [19:01] ok. [19:01] I'll try, but I won't be hurt if someone else does it before I do. [19:01] offhand, launchpad supports arbitrary length tags? [19:01] the limit would just be a hard limit (e.g. db space) [19:02] flacoste: hi [19:06] flacoste: actually, off to lunch, emailed instead. [19:54] mwhudson: bug 613806 [19:54] <_mup_> Bug #613806: SSH server should forward OOPS code to bzr client < https://launchpad.net/bugs/613806 > [19:54] mwhudson: IIRC another identical to that was filed recently; [19:55] is that right? [20:02] sinzui: there are now no untriaged bugs [20:02] \o/ [20:02] well [20:02] none triaged + importance unknown [20:03] you may find it entertaining that some bloke 'Curtis' made a lot of them triaged (from confirmed) without setting an importance [20:03] I investigated one oh your bugs in November, I need to find the related bugs to explain what has to change to close the bug [20:03] I suck [20:03] :P [20:03] ajax takes too long to wait for a response [20:16] sinzui: whats the sso bug tracker ? [20:17] lifeless: do you mean project? canonical-identity-provider [20:17] thanks [20:17] we still have 176 'new / incomplete' bugs [20:18] We cannot set bug expiration until we fix the snapshot/shortlist bug [20:18] I suspect many shouldn't expire [20:18] kindof [20:18] e.g. bug 484712 [20:18] <_mup_> Bug #484712: Potential synchronisation of comments between Launchpad bugs via remote bug trackers < https://launchpad.net/bugs/484712 > [20:18] is just gmb being slack on answering :) [20:20] oh good. I thought he just had a junk filter on my bug comment [20:20] he may, but I'm sure its not personal :) [20:21] I mark all bug mail from ~/sinzui as junk. It would not surprise me if everyone did [20:23] lifeless: the next cleanup should be all non-released bugs targeted to a past release. It irks me to see a bug I want fixed that says it is in progress and targeted to a milestone from two years afo === matsubara is now known as matsubara-afk === Ursinha is now known as Ursinha-afk [20:43] flacoste: is deryck around atm ? [20:43] lifeless: he's out today [20:43] lifeless: we'll be back with us tomorrow [21:03] wgrant: hey [21:29] is there an automated way of finding out, say, what the owner of a distribution can do? [21:29] other than try it? [21:29] that's not automatic. [21:29] jml: i think roughly speaking no [21:30] I think I've figured out how I could write something that would be close. [21:30] you can look zcml that has launchpad.Edit on distribution contexts [21:30] i think that's fairly close [21:33] I was thinking of going through security.py class by class [21:33] sinzui: ping? [21:34] hi thumper [21:34] sinzui: I have a branch that needs a quick UI review [21:34] sinzui: I have a pic even [21:35] filling out https://wiki.ubuntu.com/LaunchpadPermissions fwiw [21:35] sinzui: https://code.launchpad.net/~thumper/launchpad/show-recipe-upload-issue/+merge/45804 [21:35] I saw. I asked my two mentees to look [21:35] salgado was not about. mrevell did not reply. [21:36] thumper: r=me, I will update the MP [21:36] sinzui: ta [21:39] of course, there's stacks of code that has 'check_permission(obj, "launchpad.Edit")' manually [21:39] huwshimi: hi [21:39] jml: Hello [21:39] huwshimi: how's things? [21:40] james_w, we would like to take another shot at including a more recent version of launchpadlib in natty. do you have time to talk about this? [21:40] jml: Good thanks. I'm all set up and managed to work on a couple of bugs yesterday [21:40] leonardr, would Monday work? [21:40] huwshimi: sweet. [21:40] huwshimi: so you're able to run up a local instance and what not? [21:40] james_w: i'll be at a sprint on monday, so it would have to be after hours [21:40] jml: Yeah, all good. [21:41] leonardr, as will I :-) [21:41] james_w: we won't be at the same sprint, will we?? [21:41] leonardr, I'm attending 2.5 days of the megathunderdome [21:41] all right, we'll talk then [21:53] wgrant: you there? [21:56] I cleaned out my eggs directory to get buildout to regenerate them (and clean out old versions) [21:56] now the test runner complains about a lot of missing modules [21:56] ImportError: No module named conch.interfaces [21:56] ImportError: No module named conch.checkers [21:57] ImportError: cannot import name BadRequest (from lazr.restfulclient.errors) [21:57] ImportError: cannot import name ClientError (from lazr.restfulclient.errors) [21:57] hmm... [21:58] I've not merged devel [21:58] lets try that [22:01] bigjools: hi [22:01] bigjools: or is that a false image of you? [22:01] * bigjools is not really here [22:01] bigjools: ah. [22:02] bigjools: I was considering suggesting wgrant look at bug 641338 today [22:02] <_mup_> Bug #641338: Archive:EntryResource:syncSource timeouts < https://launchpad.net/bugs/641338 > [22:02] he's busy with other stuff [22:02] I think it can be improved fairly easily [22:02] ok [22:02] thanks [22:02] but when he's done those, sure [22:02] it's the same underlying problem as the copy package page [22:03] aka the copy checker [22:08] lifeless: I've been sorting out the whole copier mess this week. [22:08] lifeless: The code is pretty shit. And the tests are worse. [22:08] I do have a slight performance improvement, though. [22:10] \o/ [22:11] And cutting another few hundred queries of it is easy once I detangle a few things. [22:11] But I keep running into more bugs :/ [22:11] And then finding more broken data caused by them :/ [22:11] \o/ [22:15] wgrant: at some point we need to refactor the whole copy checking thing with the upload processor [22:16] yay, merge devel, and rebuild fixed testing errors [22:18] bigjools: Yes, I was whinging to bigjools about bits of that last night. [22:18] Er. [22:18] You are bigjools. [22:18] I am asleep. [22:19] do I need to throw coffee at you? [22:19] bigjools: hi [22:19] thumper! [22:19] bigjools: FYI, went with +buildjob and redirects [22:19] bigjools: all done now [22:19] thumper: fantastic. sorry I had to piss on your bonfire and all that [22:19] Haha [22:19] bigjools: ah well [22:20] you can buy me lotsa alcohol next week to make up for it :) [22:20] thumper: I know what it's like to have a branch ready to land and then someone points out a problem :) [22:20] thumper: I am always up for alcohol [22:46] bigjools: bac and I where wondering if these people really should have primary archives: http://pastebin.ubuntu.com/552994/ [22:46] sinzui: !!!! [22:46] ^ bigjools, these people are the missing people from team.participants. a logic bug excludes them because they have primary arhives [22:46] how the ... [22:47] I think we need to find out how they got like that [22:47] sinzui: that's a serious bug [22:47] look at the ids, these are super old [22:48] maybe [22:48] well the first half are and I was looking for them in a list of members [22:48] sinzui: well indeed, the last 2 are recent [22:49] I suspect the others are badly migrated data [22:49] And they moonlight as Launchpad gods [22:50] feel free to fix those [22:50] wgrant can give you an eyeball [22:53] It's not *that* insane. [22:53] bigjools: Do you know how much a distro likes being without a primary archive? [22:54] I don't think much will care. [22:54] It's not at all surprising that they're there, though. [22:54] Creating a distribution creates a primary archive. [22:55] That explains only three people in the list [22:55] select archive.id, archive.purpose, archive.name, person.name from archive join person on archive.owner = person.id where purpose = 1 and person.teamowner is null; [22:55] sinzui: Why? [22:55] sinzui: The owner can be customised at creation-time. [22:55] hmmm had not thought about the distros [22:56] Only kiko + losas could create distros [22:56] easy to double check if they're attached ti one [22:56] bigjools: They are. [22:56] I do not think kiko can do it anymore [22:56] I actually was looking at old archives last night, as it happens. [22:56] Chex made a distro a few weeks ago. That accounts for his archive [22:56] makes sense [22:57] sinzui: The owner has to be specified when creating a distro. [22:57] sinzui: So anyone can own the archive. [22:57] And I recognise a few other names there. [22:57] Like joejaxx. [22:58] Even though the distro cannot use the archive, and most registered are not debian based [22:58] we suck [22:58] sinzui: Sure. We should nuke all primary archives except 1 and 3. [22:58] Once I check that the code is OK with it. [22:58] And we should also fix the code to stop creating them. [22:58] Because that's pointless... [22:59] sinzui: Oh, that is a nice bug. [23:00] I guess it works properly if you move the PPA restriction into the subselect? [23:00] oh hey [23:00] I think so [23:00] we were talking about distro roles today [23:01] and I was reminded that bug nomination has a duplicated-but-different set of logic for checking if someone can upload a package. [23:01] Yeah. [23:01] I looked at refactoring that, but it is not as trivial as your method makes it look. [23:02] I got a vague sense of difficult-ness when looking at it today [23:02] wgrant: what are the issues? [23:02] jml: It has been a year. I don't quite recall, sorry. [23:02] fair enough :) [23:02] Let me look again. [23:03] But twice now I've gone to try to refactor it, then remembered the problem I encountered the previous time. [23:04] heh [23:05] It doesn't really jump out to me at the moment. But the BugNomination code will still have to work out the component and stuff itself. [23:05] And it's not obvious what to do about pockets. [23:08] sinzui: It looks like there are two places it might crash if we remove the primary archives: the queue view (which shouldn't be used anyway, and isn't linked), and the bug nomination stuff might as well. [23:08] * wgrant tests on DF. [23:08] bugger [23:09] bug nomination code is so damn crifty [23:09] crufty [23:09] You clearly haven't seen Soyuz. [23:10] I have. But I was trying to write a bug nomination test last month and discovered that factory setups do not work because the code ignored the env. It uses launchbag [23:11] is there any good reason (other than amount of work) that the launchbag can't be killed? [23:11] Yup. [23:11] wgrant: I think it might be OK to change the behaviour of the bug nomination code [23:11] mwhudson: It's pretty hard. [23:11] not sure though [23:11] mwhudson: Since vocabs use it. [23:11] wgrant: but my suspicion is that even if it doesn't do the same check now, it ought to be. [23:11] wgrant: what for? [23:12] current user should be got from the interaction [23:12] mwhudson: Bug nominations, for one thing! [23:12] wgrant: hee [23:13] mwhudson: The nominatable series vocab checks launchbag for the distribution or product to look at. [23:14] I am all for removing launchbag. I favour completing the apocalypse first [23:14] +1 [23:14] sinzui: But the apocalypse is being reversed... [23:14] It took 4 years to remove general view [23:14] wgrant how so [23:15] sinzui: We split the codebase by app 18 months ago. [23:15] But a month ago we merged the app-split bugs. [23:15] different things [23:15] it's still one code base [23:15] wgrant: not the same [23:15] the apocalypse is about making it easier to navigate in the best way we could think of at the time [23:15] still makes sense to complete [23:16] the issue is about defining contracts and responsibilities in the code [23:17] btw [23:17] I also had a bit of a chat w/ cjwatson today about NewReleaseCycleProcess [23:18] remind me to talk about that next week [23:18] also, some people here might be interested in https://wiki.ubuntu.com/LaunchpadPermissions [23:20] jml: I sent a revised brain dump of my understanding to mrevell recently. I advised that each team lead look at the list because every time I think I have a definitive list, someone cites some obscure location in the code that provides another permission [23:21] sinzui: that's the advantage of having a shared, editable document :) [23:22] I also advised we ask reviewers to ask developers to update documentation when a permission is changed [23:22] sinzui: that's pretty hard to do [23:22] eg. bug nomination rules changed a few moths ago, and now we are getting Ubuntu questions about it [23:24] The document cited in this question cannot be changed by me: https://answers.launchpad.net/launchpad/+question/140509 [23:26] sinzui: that's unfortunate, but it's no reason not to keep *a* document up to date [23:27] I agree. Collective code in the case requires a collective document [23:31] sinzui: also, the Ubuntu guys need to be able to figure out how to run their project. :) [23:36] * spm asks jml how much he's prepared to pay to not get widely quoted on that one ;-) [23:39] spm: I will not be beholden to blackmailers. [23:49] Yippie, build fixed! [23:49] Project devel build (349): FIXED in 4 hr 48 min: https://hudson.wedontsleep.org/job/devel/349/