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