/srv/irclogs.ubuntu.com/2011/01/11/#launchpad-dev.txt

timrcI'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 anything00:06
timrcOh, and one important detail, I'm using django and the django-openid-auth library00:06
lifelesstimrc: I think you need to be whitelisted to query that via openid00:11
lifelessto prevent harvesting; IMBW00:11
timrclifeless: thanks! do you know who I would talk too?00:11
lifelesstimrc: anyhow, separately, don't use login.launchpad.net - login.ubuntu.com *is* login.launchpad.net00:11
lifelesshttps://forms.canonical.com/lp-login-support/00:12
timrclifeless: right, thanks and thanks again00:12
lifelessfrom the bottom of https://login.launchpad.net/00:12
lifelessbach00:12
lifelesshttps://login.ubuntu.com/00:12
lifelesshttps://forms.canonical.com/sso-support/ <- that one00:12
timrclifeless: great, thank you00:14
lifelessjml: around?00:14
pcjc2lifeless - that SQL query00:40
pcjc2I wrote it out indented, was slightly perturbed to see lack of brackets between OR and AND clauses in the bug status selection portion00:41
pcjc2might be correct, but the operator ordering isn't totally clear00:41
pcjc2actually, on second reading, probably OK - I must avoid adding too many () for the sake of not having to remember operator ordering!00:42
pcjc2I trust the postgreql engine is smart enough not to execute the Auth lookup part of the query in the case where Bug.private = FALSE00:44
pcjc2         EXISTS (SELECT BugSubscription.bug FROM BugSubscription, TeamParticipation00:44
pcjc2                        WHERE TeamParticipation.person = 882987 AND00:44
pcjc2                              BugSubscription.person = TeamParticipation.team AND00:44
pcjc2                              BugSubscription.bug = Bug.id)00:44
pcjc2could take a while if executed for every bug it has to consider in the list00:44
lifelessthats a correlated subquery yes00:46
pcjc2I used to speak SQL at one point (A-Level computing) ;)00:48
pcjc2but not so much any more - its mostly read-only00:48
pcjc2I'm trying to run it on my local instance (although doesn't have such a big DB ;))00:49
lifelesshey if you've reformattted it to work00:49
lifelesspaste that to me in pastebin or something00:49
pcjc2not reformatted, just entered in psql00:50
pcjc2reindented it so I could read it00:50
pcjc2doesn't get any hits on my DB - so I suspect I didn't munge the product IDs properly to reflect my local instance00:50
pcjc2BugTask.bug NOT IN (SELECT bug FROM BugTag) AND00:55
pcjc2what about having NOT EXISTS (SELECT bug from BugTag where bug = Bug.id)00:56
pcjc2so you don't search the entire tag list for every bug in the DB for every bug we query?00:56
pcjc2or perhaps "BugTask.bug NOT IN (SELECT bug FROM BugTag WHERE bug = Bug.id)"00:57
lifelesspcjc2: there were \\n in the thing I pasted00:57
lifelessif you can paste me something ready to run00:57
lifelessthen I can do something interesting00:57
pcjc2ok - will try00:57
pcjc2I deleted the \\n and indented differenly, but never mind00:57
pcjc2LP ought to grow a "no wrap" mode for some comments IMO00:58
pcjc2http://ubuntu.pastebin.com/DVg1NzYm01:00
pcjc2try that01:00
pcjc2Just adds a "WHERE bug = Bug.id" to the tag sub-query01:00
pcjc2I'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 efficient01: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
thumperlifeless: hi01:03
thumperlifeless: do we have regex string matchers yet?01:03
thumperlifeless: just wondering if someone else has written them yet01:03
lifelessthumper: in testtools trunk I think01:04
thumper:(01:04
pcjc2lifeless: 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
pcjc2Since the query is ~instant on my machine it probably needs testing on a large DB to reproduce the huge exec time01:06
pcjc2if 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 136901:14
pcjc2Sorry, line 142201:15
pcjc2            exclude_clause = "SELECT bug FROM BugTag"01:15
lifelessok, 0.3 seconds01:15
lifelesshmm01:15
lifelesswe don't have your data in prod yet01:15
lifelesshang on01:15
pcjc2and 17 when executed before?01:16
spmlifeless: https://pastebin.canonical.com/41738/01:18
spm2nd run https://pastebin.canonical.com/41739/01:19
pcjc2s[is this related to what I'm looking at?01:19
lifelessspm: thanks; what does it return without the explain analyse - whats the found count ?01:19
pcjc2spm: ... (^___)01:20
lifelesspcjc2: yes, its your query analyzed01:20
pcjc2don't have privs to look at that01:20
spmo rows01:20
lifelessok, thats very interesting01:20
spmthat'd be 0. not o.01:20
lifelesspcjc2: did you add  braces perhaps ?01:20
pcjc2That comes from the fact it was a stupid query for our bug-set01:20
pcjc2ALL the bugs are tagged with something to determine which sourceforge tracker they came from01:21
lifelesspcjc2: does it still oops if you try via the web UI ?01:21
pcjc2I only realised this when I tried to run it locally01:21
* pcjc2 checks01:21
pcjc2Yes, it does01:22
pcjc2(Error ID: OOPS-1837O107)01:22
pcjc2Any chance I can see those pastebin postings?01:22
lifelessah yes01:23
lifelesshttp://pastebin.com/732mWULr01:23
pcjc2most of the parts look like they were never executed01:26
pcjc2Is that on the production database?01:26
lifelessyes01:28
pcjc2so the same thing the OOPs said took 17 seconds, executed in 0.369ms ??01:28
lifelessunless there was a transcription error01:28
pcjc2doesn't show me in the dump what product IDs were used01:29
lifelessflacoste: I've removed the 'edge' series to avoid confusing folk01:29
lifelessspm: again please - http://pastebin.com/raw.php?i=3S3RKCSY01:33
lifelessspm: two by explain analyze and one for the result itself01:34
lifelesspcjc2: that will be an hour or so01:36
pcjc2execution time, or just fitting the job in?01:36
lifelessgetting an spm timeslice01:36
pcjc2spm is a LOSA ?01:37
lifelessyes01:39
pcjc2just for scale - what sort of size data-centre is all this running on?01:39
lifelessdata centres01:40
wgrantThe DB servers are amusing.01:40
lifelesspcjc2: primary db server is 16 cores, 128GB of ram, db is ~250GB on disk01:40
lifelesspcjc2: we have 2 active replicas with 8 cores eachm same ram, same db size on disk01:41
pcjc2I assumed some kind of DB cluster01:41
pcjc2so queries are load-balanced between all 3?01:41
lifelessappservers direct read only queries to replicas when possible01:41
lifelesswrites go to the primary01:41
pcjc2was just about to ask that01:42
pcjc2does it gaurantee in-order processing?01:42
lifelessno01:43
pcjc2so 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
lifelesswe so, uhm 4million page hits a day01:43
lifelessif we serialised we'd be dead in the water01:43
wgrantpcjc2: The DB is determined largely by the request type.01:43
lifelessa write to the primary and then a read from a slave may read the old data01:43
wgrantpcjc2: POSTs go to the master, most GETs to the slave.01:43
wgrantpcjc2: So within a request it should be consistent.01:43
wgrantAcross requests, possibly not.01:44
pcjc2cool - this is computing on a scale larger than I ever knew before (writing MS Access databases ;))01:44
pcjc2lifeless: that first analyze execute you posted the results for..01:44
pcjc2was that the SQL query which LP executed, the one from the OOPS, or the modified one?01:45
lifelessall the one you gave me01:45
* pcjc2 checks i didn't screw it up01:45
lifelessI've regenerated - its the new one I'm asking spm to run01:46
pcjc2I screwed it up...01:46
pcjc2The one I pasted you had product IDs replaced as I was running it on my local DB01:46
lifelessI suspected it might01:47
pcjc2I saw the IDs ok in the new one you asked to execute01:47
pcjc2how 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
pcjc2And presumably they scan the SQL and keep an eye for any nasty side-effects possible?01:48
lifelessits because a) they know who I am and b) they will read the sql01:48
lifelessI'm authed to freenode, etc.01:48
pcjc2I recall hearing the LOSAs don't like executing SQL much01:49
pcjc2(Or certainly - not tested and approved SQL)01:49
lifelessthats nuanced01:49
lifelessmutating sql we require a bug describing how we can avoid ever running the sql again01:49
lifelessread only sql we only do as part of diagnosing faults01:50
lifelessand every such request is an interrupt which reduces project work01:50
lifelessso its moderately important to us not to interrupt them casually01:50
pcjc2so 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
lifelesspcjc2: yes01:51
lifelesspcjc2: and we'd have an incident report01:51
lifelessour schema is extremely complexx01:51
pcjc2noted ;)01:51
lifelessthe chance of screwing something up on even simple sql is nontrivial01:51
pcjc2I've been reading bits of it for amusements sake01:51
pcjc2When 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 lookup01:53
lifelessthat will be affected by the stats which affect th eplanner01:53
lifelessalso01:53
lifelessI wouldn't obsess on the tag component01:53
lifelesswe need data01:54
pcjc2trye01:54
pcjc2But without the SELECT, there is rows=33445 loops=101:54
pcjc2So I'm guessing that it will show a difference in the query you analyse too01:54
pcjc2Is spm going to run ANALYSE EXECUTE  on the original SQL LP emitted?01:55
pcjc2I'm going to have to call it a night - 2AM here - will read the bug report tomorrow to see if there was any development01:57
pcjc2(Please leave a comment if there is marked difference in analysis results with the tag part changed)01:57
pcjc2Btw.. in case you didn't hear it enough - Launchpad is AWESOME01:57
lifelessthanks :)01:57
pcjc2Moving from Sourceforge to LP with our bugs has TOTALLY reinvigorated our two projects01:58
pcjc2Contributors are coming out of the woodwork with patches, participating in review, reworking their patches01:58
pcjc2On SF, patches went to die01:58
lifelessthats awesome01:58
pcjc2We had to shut our -dev email list down to open membership due to Signal to noise ratio problems01:58
pcjc2LP bug comments have proved to be the -dev list we never had. Active, constructive discussion of the item in hand - far less OT01:59
pcjc2(And this is still only a couple of days into  our migration and triage effort!)01:59
pcjc2I 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 it02:00
lifelessI wonder if we have a page for quotes ;)02:01
thumperlifeless: I've got a question if you've got a minute02:08
pcjc2Feel free to quote me if you  want02:10
pcjc2Really -> bed now, night!02:10
LPCIBotProject devel build (348): STILL FAILING in 3 hr 26 min: https://hudson.wedontsleep.org/job/devel/348/02:10
lifelessthumper: sure02:11
thumperlifeless: it is about the +build urls02:11
thumperlifeless: that bigjools replied to on launchpad-dev02:11
thumperlifeless: he mentions three points, but only one (IMO) is valid02:12
thumperlifeless: is it worth fighting or just add redirects?02:12
lifelesswhats the thread subject?02:12
thumperUrl change for binary package builds02:13
LPCIBotProject db-devel build (262): STILL FAILING in 3 hr 28 min: https://hudson.wedontsleep.org/job/db-devel/262/02:13
thumperlifeless: are you reading or busy?02:20
lifelessthumper: its dinner/drinks time, so multiplexing02:21
thumper:)02:21
lifelesswhich one is valid ?02:25
thumperthat people may keep ids around02:27
thumpermy change altered ALL binary builds02:28
thumpernot just ppa ones02:28
thumperso that is one of the three out02:28
thumperthe second point I disagree with02:28
lifelessthe api stability argument may matter if the build objects were exported in '1.002:28
lifeless'02:28
thumperI talked with flacoste about it and he doesn't think it is an issue02:28
thumperhe seemed to think that the url wasn't a big issue...02:29
lifelessI think we need to decide if our apis are stable or not02:29
lifelesschanging the url space for existing 1.0 exported things is a big deal IMO02:29
thumperlifeless: in order to get this fixed probably best to just add redirects yes?02:29
thumperthis is an oops issue for us02:30
lifelessI think it probably is best overall, yes.02:30
thumperok02:30
lifelessit is more work02:30
* thumper gets on it02:30
thumperit is02:30
thumperthe work is complete as is02:30
thumperso yes, more work02:30
lifelessOTOH the work makes the transition smoother during the deploy02:30
* thumper shrugs02:30
thumperI'll get it done02:30
lifelesscool02:31
lifelessthumper: hey, do you think you could land mkanat's loggerhead version bump?02:45
thumperlifeless: where is it?02:45
lifelessthumper: https://code.launchpad.net/~mkanat/launchpad/lp-loggerhead-update/+merge/4578702:46
thumperlifeless: yep02:47
lifelessawesome, thanks!02:47
thumpergah02:50
thumpercan't lp-land it02:50
thumperas I don't have that branch02:50
thumperisn't there a setting to say "land that one"02:50
lifelessif there isn't, there should be a bug asking for that02:51
lifelessI'd be happy for such a bug to be triaged 'high'02:51
thumperlifeless: which plugin?02:54
lifelesslp-submit I think02:55
lifelessperhaps pqm-submit02:55
thumperlifeless: it is in the pqm plugin02:58
thumperlifeless: is devel open?03:00
thumperlifeless: topic says no03:00
lifelessoh03:03
lifelesshmm03:03
lifelesswe should be able to open again as soon as we're qa'd up past the db merge.03:04
lifelessI guess that isn't in the process docs yet or something, or perhaps we aren't qa'd to that point yet.03:04
lifelessspm: hi03:38
spmlifeless: ho!03:38
lifelessspm: did you see my analyze request ?03:39
spmoh no. sorry. doing now.03:40
lifelessspm: new post - http://pastebin.com/raw.php?i=5HBhT6R403:42
spmugh. 15+ seconds on getting the explain analyse03:43
lifelessyes, thats why we're asking for it ;)03:43
lifelessdata isn't in staging yet03:43
spmew. https://pastebin.canonical.com/41741/ 1 minute just for the analyse.03:45
lifelessspm: 2 plox, + the actual result03:45
spmyah. 2nd runing now.03:46
lifeless. wireless . at . hotels .. sucks03:50
spm count03:50
spm-------03:50
spm     903:50
spm(1 row)03:50
spmlifeless: ^^03:50
lifeless???????03:50
lifelesswhat was the second analyze?03:51
spmI didn't paste that? oops. one sec.03:54
lifelessnote that I can see03:54
spmhttps://pastebin.canonical.com/41742/03:54
spmno I didn't meant to add it to the results above03:54
spmdidn't <comma> meant to...03:54
lifelessaround for a little?03:58
lifelessspm: can you try04:02
lifelesshttp://pastebin.com/LcA17msn04:02
spmlifeless: https://pastebin.canonical.com/41743/ I like that version better04:04
lifelessthanks spm04:07
lifelessme too04:07
wgrantWow, KDE is stupid.04:29
lifeless...04:29
wgrantI installed python-kde4 last night to try to debug the SIGCHLD thing.04:29
wgrantI 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
StevenKClearly, KDE is for people who want a broken Launchpad.04:31
wgrantIt's probably not Launchpad's fault that there's a segfault.04:31
wgrantThat is entirely down to KDE :)04:31
wgrantspm: Hi.04:35
spmwgrant: yo!04:37
lifelessyoyo04:38
wgrantspm: Could you please run http://paste.ubuntu.com/552687/ on prod?04:38
spm architecturetag | count04:40
spm-----------------+-------04:40
spm ia64            |  198204:40
spm sparc           |  198304:40
spm(2 rows)04:40
spmwgrant: ^^04:40
wgrantDamn.04:40
wgrantOK, thanks :(04:40
StevenKwgrant: pitti is having lots of fun with your VGA cable04:41
wgrantStevenK: Oh?04:42
wgrantspm: http://paste.ubuntu.com/552689/, if you could.04:42
StevenKwgrant: Martin's laptop with Natty, 52" TV in the hotel room, do you need a calculator?04:43
wgrantStevenK: Ah, of course, making Unity crash even more spectacularly than usual!04:43
StevenKwgrant: Sadly, it didn't crash once.04:45
spmwgrant: https://pastebin.canonical.com/41744/04:45
wgrantStevenK: It doesn't do anything *but* crash on my desktop.04:45
wgrantspm: aaaaaaaaaaaaaaaaa04:46
spmheh04:46
StevenKwgrant: Can has bug with a backtrace?04:47
lifelesswgrant: 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
wgrantStevenK: Possibly.04:48
wgrantStevenK: It's a bit hard.04:48
wgrantBecause fglrx is awful.04:48
wgrantAnd likes to hang once Unity crashes.04:48
StevenKOh, ye gods.04:48
lifelesswell there is your bug04:48
wgrantAlthough even vanilla Compiz crashes sometimes now.04:48
wgrantIt was stable in maverick :(04:48
wgrantlifeless: I don't think that's ever been true.04:48
wgrantAnd it's even less true now that security uploads don't go through the queue.04:49
StevenKI suspect you're on your own, masochist04:50
wgrantspm: https://pastebin.canonical.com/41745 :(04:52
spmwgrant: https://pastebin.canonical.com/41746/04:52
* spm is an SQL bot04:53
StevenKToday, you are.04:53
wgrantspm: Thanks.04:53
* wgrant goes off to cry in the Soyuz corner.04:53
* StevenK cries at test_hasbuildrecords.py04:53
StevenKYes, 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
wgrantOh, they're not actually in the primary archive.04:57
wgrantPhew.04:57
* StevenK grumbles at sourcepackage.py05:01
StevenK# End of duplication (see XXX cprov 2006-09-25 above).05:01
StevenKWhat XXX by cprov?!05:01
wgrantStevenK: IIRC the original XXX is in one of the duplicates.05:02
wgrantBut not the other.05:02
StevenKMust. Resist. Throwing. Laptop.05:02
wgrantIt's a ThinkPad, it'll survive.05:03
StevenKIf it's closed.05:03
wgrantTrue.05:03
spmso close it, throw, then re-open?05:06
StevenKHah05:07
* StevenK rings Chubb first ...05:07
StevenK(Pdb) print self.builds[0].build_farm_job.date_finished05:27
StevenKNone05:27
StevenKAh ha. Hello, smoking gun.05:27
* wgrant pushes delayed copies off a cliff.05:29
wgrantspm: http://paste.ubuntu.com/552703/ <- last one, but there'll be about 4000 rows returned.05:36
spmdo you need all 4k?05:36
wgrantIdeally.05:37
wgrantWe have at least three variations of the bad data... I'm not sure how many more there are.05:37
StevenKspm: Only give him 3,999. He'll never know ...05:39
spmStevenK: you are kidding right? this is *wgrant* we're talking about.05:39
StevenKBwahaha05:40
spmamusingly, it's 3969 rows05:40
spmwell, lines of output.05:40
wgrantI was expected 3965 rows of data.05:41
wgrantWhich is one off.05:41
wgrantOdd.05:41
spmwgrant: https://devpad.canonical.com/~spm/wgrant.out05:43
spm(3965 rows)05:43
wgrantspm: Thanks.05:44
wgrantSounds like it's a good time to visit Brisbane.06:09
wgrantbrb06:09
wgrantIs 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
adeuringgood morning08:44
al-maisanGood morning adeuring !09:00
adeuringHi al-maisan!09:00
al-maisanhow are things!09:01
adeuringsad to see you leaving09:01
al-maisans/!/?/09:01
al-maisanadeuring: das ist der Lauf der Dinge :)09:01
adeuringalthings are fine here. Looking forward to the epic09:02
al-maisannice :) 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
bigjoolsmorning09: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
jcsackettleonardr: 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
leonardrjcsackett: yeah, it's qaed, let me just make sure the new version made it into launchpad14:14
jcsackettleonardr: ok. thanks.14:14
leonardrjcsackett: yeah, looks good14:16
jcsackettleonardr: excellent. that's the last bug blocking the deploy-stable queue.14:17
jcsackettthanks, leonardr.14:17
leonardrnp14:18
=== matsubara is now known as matsubara-lunch
flacostejcsackett: do we have revision number?15:00
jcsackettflacoste: unless someone contacts me with something that needs RC and landing by midday today, r12177.15:00
flacostejcsackett: how about doing a nodowntime today of 12176?15:00
jcsackettflacoste: i'm comfortable with that.15:01
flacostejcsackett: can you make it happen?15:01
mwhudsonwe can't do nodowntime to codehosting yet can we?15:02
jcsackettmwhudson: i don't know. flacoste? ^^15:02
jcsacketti thought we could nodowntime anything that didn't require db changes, but i could be quite wrong.15:03
flacostemwhudson: we can't no15:03
mwhudsonah well15:04
flacostemwhudson: codehosting isn't part of nodowntime yet, we have a RT in progress to fix that though15:04
mwhudsoncool15:04
flacostejcsackett: soyuz FTP services, librarian and codehosting are not part of the nodowntime set15:04
flacostebecause deploying there actually causes downtime to the services15:04
bigjoolsI had an idea about ftp services15:04
flacostewe have RTs to fix codehosting and librarian15:04
bigjoolsand ftp :)15:05
flacostesoyuz FTP services will require some engineering15:05
flacostebigjools: i thought ftp was more than a RT?15:05
bigjoolsflacoste: 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 else15:05
jcsackettflacoste: 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
bigjoolsthen we can roll out to germanium's "everything else" tree as part of the nodowntime set15:06
lifelessjcsackett: most things15:06
flacostebigjools: that would be a nice incremental improvement!15:06
lifelessbigjools: we can do an active-passive mode for ftp / sftp15:06
bigjoolsflacoste: rt 43238 if you want to poke15:07
lifelessbigjools: wgrant seems to think its harder than that though, and was going to speak to you about it15:07
bigjoolslifeless: I think it will be hard too15:07
bigjoolssince we can't interrupt in-progress uploads15:07
lifelesssure15:07
lifelesssame constraint we have on appservers15:07
bigjoolsso needs a bit of engineering - my 2-tree solution is much nicer I think15:08
lifelessI think its a good short term fix, I don't think its a good long term fix because we want to eliminate skew15:08
bigjoolsthe only problem after that is worrying about a SPOF15:08
bigjoolsskew?15:08
jcsackettlifeless: most things?15:08
bigjoolsthere is no skew15:08
bigjoolsthe ftp code never ever changes15:08
lifelessthe losas monitor deployed versions15:10
lifelessif we have two deploys on a machine15:10
lifelessthey will get warnings if one is not running the current deployed version15:10
sinzuiI didn't see an announcement of a rollout last week or this week, but I see we did one15:10
bigjoolslifeless: Tom was happy to do this when I asked him15:10
bigjoolsI am sure they can cope15:10
lifelessbigjools: I'm happy for it too, short term.15:10
lifelessI don't think its a sensible long term arrangement15:10
mthaddonlifeless: not exactly - that holds true for groups of servers (lpnet servers, for instance) but not across all services15:10
bigjoolswhy?15:10
bigjoolsI'm not wedded to the idea if there's something better, but you need to explain :)15:11
lifelessbecause it adds a nonobvious surprise waiting to be a pain in the future - especially if we very rarely change it15:12
lifeless(its the rarely changed things which hurt most, because the knowledge gets lost)15:12
mthaddonbigjools: 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 customers15:12
bigjoolscan you expand on what the nonobvious surprise is?15:12
mthaddonthe amount of code that changes during a monthly rollout15:12
bigjoolsmthaddon: yes, but that will need extensive code changes to make it work15:12
lifelessthe nonobvious surprise would be having a lp tree that isn't deployed to15:12
bigjoolslifeless: not true, it would be deployed once a month15:13
mthaddonbigjools: actually, I think it needs as much infrastructure changes (haproxy, etc.)15:13
bigjoolsmthaddon: not quite, see above about not interrupting in-progress sessions15:13
lifelessbigjools: thats a constraint we have on the web appservers too15:13
mthaddonbigjools: 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
bigjoolsyes, so we'd need to change some code, like I said :)15:14
lifelessthats fine15:14
lifelessshort term vs long term15:14
mthaddonbigjools: 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
bigjoolsmthaddon: ah, if you can do it all in the haproxy then that's a different matter15:14
lifelessbigjools: the ftp thing is zope's ftp service right ?15:15
bigjoolsyes, but I want it to die horribly15:15
bigjoolsand replace it with twisted15:15
lifelessbigjools: all it needs is a <small> http site that starts giving 500's after SIGUSR2 is received15:15
mthaddonbigjools: 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
bigjoolswe have sftp in twisted, adding ftp will be easy15:15
lifelesssure15:15
lifelesseither way15:15
bigjoolsthen the zope shit can die15:15
lifelessmy point is - doing what you've proposed is a great short term hack15:15
lifelessbut longer term - the goal is one rev of lp everywhere, on every deploy15:16
bigjoolsif that's the goal, cool15:16
bigjoolsbear in mind though that you'll struggle to do any of this on cocoplum15:17
lifelessand yeah we have to write code and elinminate SPOF's and so forth15:17
lifelessone step at a time :)15:17
bigjoolssince we can't interrupt the current publishing cycle easily15:17
bigjoolswell, we can, but it's nasty15:17
bigjoolswe need cocoplum and germanium *2 to eliminate SPOFs :)15:18
lifelessor to put their storage on the SAN15:18
bigjoolsthat's part of it15:18
lifelessthen we can have a cluster of boxes to do the processing logic15:18
* lifeless handwaves furiously15:19
bigjoolsha15:19
lifelessseriously: I know this is a fiendish scale problem15:19
bigjoolswe'd need to re-engineer a load of soyuz stuff to make in multi-processable15:19
bigjoolss/in/it/15:19
lifelessand there are model issues where we can wedge stuff if something is uploaded twice15:19
lifelessand so forth15:19
bigjoolsyeah, not impossible, just hard15:19
lifelessI'm advocating a calm one step at a time, interleaved with feature work and bug fixes15:19
lifelessthe benefits of getting this all done are substantial15:20
bigjoolsI certainly won't argue with that15:20
lifelessat the moment we're in a sort of phase 1: get to the point where we can upgrade all our code without user visible impact15:20
lifelessthat gets rid of a bunch of software level spofs15:21
lifelessdoesn't do scaling15:21
lifelessdoesn't do hardware spofs15:21
lifelessdoesn't do datacentre-redundancy etc15:21
bigjoolsI'm very concerned about the scaling when we need to host derived distros15:21
lifelessI'd be delighted to talk about current bottlenecks and see if we can come up with a minimal way to add pluggable capacity15:22
bigjoolswe can chop probably 90% of the database load the b-m generates if we use MQs15:22
bigjoolsI'll run you through it next week if you like15:24
lifelesscool15:24
sinzuiGoogles 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 matches15:25
=== matsubara-lunch is now known as matsubara
jmllifeless: yo15:33
jmllifeless: I wish to speak with you.15:33
=== Ursinha-lunch is now known as Ursinha
danilosanyone 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
danilosoh, how stupid of me, SQL log tells me all I need to know15:54
lifelessjcsackett: looks like we can unfreeze trunk16:04
lifelessjcsackett: given that we're qa'd up through 1217716:04
jcsackettlifeless: 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
sinzuidanilos: jcsackett, you coordinate your work. you may be doing duplicate work or bugs16:30
sinzuionly one of you should use do_not_snapshot on the specifications attr for product and distribution16:30
=== beuno is now known as beuno-lunch
jcsackettdanilos: what bug are you looking at? i'm looking at bug 69691316: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
danilosjcsackett, oh, I just filed a new one because I've seen it in translations16:33
danilosjcsackett, I am only fixing valid_specifications, I haven't hit the milestones yet, but I am sure I would when I tried this fix out16:34
sinzuidanilos: and lifeless filed one for blueprints. I think there may only be one bug.16:34
danilossinzui, right, it looks like it is, it's a simple doNotSnapshot missing, or a more complex "do-not-snapshot-by-default" bug16:34
jcsackettsinzui, 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
danilossinzui, jcsackett: I am marking bug 701529 as duplicate of that16:35
_mup_Bug #701529: OOPS on Distribution:+configure-translations <oops> <Launchpad itself:In Progress by danilo> < https://launchpad.net/bugs/701529 >16:35
danilosjcsackett, 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
sinzuijcsackett: sprint maybe16:36
danilosjcsackett, https://code.launchpad.net/~danilo/launchpad/bug-70152916:36
jcsackettsinzui: you mean leave this to the sprint to discuss solution?16:36
sinzuijcsackett: also projectgroup. We can test that by trying to edit the description of launchpad-project16:37
jcsackettsinzui: oh, sprint, the model.16:37
* jcsackett is all out of whack today.16:37
sinzuijcsackett: I think the problem interface is mixed into ISprint16:37
jcsackettsinzui: yeah. IHasSpecifications is used in several places.16:37
danilosjcsackett, 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 bit16:37
sinzuidanilos: thanks.16:38
=== yofel_ is now known as yofel
jcsackettdanilos: sure, get it landed and i'll deal with any conflict in my branch when it hits.16:38
danilosjcsackett, I guess it's not going to fix the problem even for translations, so I might just leave it to you :)16:42
jcsackettdanilos: sounds fine. i think i'll have mine ready to land by my EOD.16:42
jcsacketti 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
bachi benji16:51
benjihey bac16:51
bacbenji: i created an egg for lplib 1.9.3 but am now getting other errors using ec216:51
bacbenji: http://pastebin.ubuntu.com/552890/16:51
benjibac: hmm, that surprises me; looking into it more16:53
benjibac: I bet you're running this over an SSH session.16:54
bacbenji: i am.  as i always do.  :)16:54
bacbenji: i can try on the machine to see if i can get past the auth step16:55
StevenKbac: 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
benjibac: I bet it'll work.  I'm looking for a better fix while you try that.16:56
bacbenji: it did16:58
danilosjcsackett, so, the branch I have does fix the problem for IDistribution:+configure-translations page (tried it out by cowboying to staging)17:08
jcsackettdanilos: 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
benjibac: you should be able to get GNOME keyring to work over ssh by running export `dbus-launch`17:10
danilosjcsackett, 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/4588617:13
danilosjcsackett, 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 it17:14
jcsackettdanilos: 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
jcsackettdanilos: if you would rather abandon it though and enjoy Dallas, i don't think you have to land it.17:16
danilosjcsackett, it's more of a "localization issue": you break non-blueprint tests by changing blueprints, which is something I hate17:16
danilosjcsackett, so, I'll scrap it (it'd still be hard to enjoy Dallas :)17:16
jcsackettdanilos: heheh. dig.17:16
=== benji is now known as benji-lunch
timrcbigjools: Is there a proposed Round 2 of testing for https://dev.launchpad.net/LEP/DerivativeDistributions -- I'd be interested in participating17:34
=== Ursinha-afk is now known as Ursinha
bigjoolstimrc: nothing planned, but if you have any comments I'll gladly take them17:36
timrcbigjools: is there something demoable regarding this feature?17:40
bigjoolstimrc: no, we're a long way off17:40
timrcbigjools: I'm generally interested as an OEM stakeholder17:40
=== jtv is now known as jtv-afk
bacbenji-lunch: that worked, thanks17:41
=== beuno-lunch is now known as beuno
=== gary_poster is now known as gary-lunch
jmlsinzui: ping18:03
sinzuihi jml18:03
jmlsinzui: hi18:03
jmlsinzui: I'm just looking at https://lpstats.canonical.com/graphs/People/18:04
jmlsinzui: it looks broken.18:04
sinzuiLook like someone switching Lp to use Ubuntu's SSO18:05
jmlsinzui: ahh, ok.18:05
jmlsinzui: so I should pretty much ignore the "invalid" bit?18:05
jmlsinzui: I'm trying to get a sense of number of users.18:05
sinzuiI do not know really.18:05
sinzuibut I think we need to broaded the range to ensure shipit nonsense is not mixed in too18:06
sinzuiokay shipit is not a factor18:06
sinzuiI wonder if this is looking a password. Lp does not use them, so I expect them to be null18:07
jmlsinzui: also, do you know how https://lpstats.canonical.com/graphs/ProductsFlaggedOfficial/ is calculated? is it up to date wrt your recent changes?18:07
sinzuiYes, it is correct18:08
sinzuinote the dips as we transitioned to the new rules18:08
sinzuijml: I looked at the people when I saw it hit a million. I think the number is legitimate!18:09
jmlsinzui: that's pretty exciting :)18:09
sinzuiI 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 task18:11
sinzuijml: have you ever looked at how many users get karma every week18:11
jmlsinzui: requently18:11
jmlfrequently, rather.18:11
jmlsinzui: https://lpstats.canonical.com/graphs/KarmaBreakdownGlobalWeek/18:11
sinzuiI have this nagging feeling we have a large silent failure in Lp18:11
jmlsinzui: https://lpstats.canonical.com/graphs/KarmaBreakdownGlobalWeek/20070701/20110112/18:12
jmlsinzui: how do you mean?18:12
sinzuiless than 1% of registered users are active18:12
jmlsinzui: yeah.18:13
jmlsinzui: I think the number goes up a fair bit if you consider activity over a span longer than a week18:13
sinzuithat is a bogus number because some people work on monthly and yearly scales18:13
jmlsinzui: *nod*. it's about 20k per month18:14
sinzuisorry, message interpolated badly. My 1% remark is bogus18:14
jmlsinzui: tell me more about your hypothesized large silent failure18:14
sinzuijml I can never find the graph branch. I am suspect we need to remove password from or account from the report to fix the numbers18:15
jmlsinzui: bzr+ssh://bazaar.launchpad.net/~canonical-losas/tuolumne-lp-configs/trunk/18:16
sinzuithanks18:16
jmlsinzui: it would also be nice to graph the number of projects that use *any* component officially18:16
sinzuijml: I suspect many users try Lp, then silently leave. Some maybe to report a bug, some to report a project.18:16
jmlsinzui: yeah. I believe that.18:17
lifelessoh yeah18:18
lifelessdid you guys see pcjc2's comments about launchpad last night?18:18
mwhudsonabout how it had suddenly made his project awesome?18:18
sinzuijml: 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 users18:19
mwhudsonor something18:19
lifelessmwhudson: yes18:19
jmllifeless: I didn't.18:19
lifeless14:57 < pcjc2> Btw.. in case you didn't hear it enough - Launchpad is AWESOME18:19
lifeless14:57 < lifeless> thanks :)18:20
lifeless14:58 < pcjc2> Moving from Sourceforge to LP with our bugs has TOTALLY reinvigorated our two projects18:20
jmlrockin'18:20
lifeless14:58 < pcjc2> Contributors are coming out of the woodwork with patches, participating in review, reworking their patches18:20
lifeless14:58 < pcjc2> On SF, patches went to die18:20
lifeless14:58 < lifeless> thats awesome18:20
lifeless14:58 < pcjc2> We had to shut our -dev email list down to open membership due to Signal to noise ratio problems18:20
lifeless14: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 OT18:20
lifeless14:59 < pcjc2> (And this is still only a couple of days into  our migration and triage effort!)18:20
poolieexcellent18:20
lifeless15: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 it18:20
lifeless15:01 < lifeless> I wonder if we have a page for quotes ;)18:20
poolieyou should post it to the blog18:20
lifeless15:08 < thumper> lifeless: I've got a question if you've got a minute18:20
lifeless15:10 < pcjc2> Feel free to quote me if you  want18:20
jmlthat's awesome18:20
poolietagged 'feedback'18:20
jmlI will quotethat18:20
jmllifeless: and yes we do have a page for that sort of thing.18:20
pooliehttp://www.google.com.au/search?q=launchpad+testimonials none are us18:21
jmlyes.18:22
jmlI'll get my SEO team on to that18:22
StevenKShould we put that on help.lp.net ?18:22
StevenKSince, er, dev doesn't seem the right place18:22
pooliemm, i really think the blog is better18:22
poolieit's not user help information18:23
poolieor only for developers18:23
poolieor perhaps somewhere like +tour, but less dusty18:23
StevenKTBH, I personally feel blogs aren't static, but ...18:23
StevenKThe bikeshed should be purple, clearly. :-P18:23
poolie"on this day, pcjc2 said..."18:23
poolieit's a moment in time18:23
poolieyou can tag them to find what was said18:23
jmlinternally, https://wiki.canonical.com/Launchpad/Testimonials18:24
lifeless'in the past, our users have said...'18:24
pooliebut yeah, it's a bit bikesheddy18:24
lifelessit's a story about how we are perceived :P18:24
StevenKI don't think testimonials are a moment in time ... they should be current18:24
* lifeless doesn't care18:24
sinzuilifeless: about Lp admins should not have nomination rights, is this because they own a team?18:24
lifelesssinzui: I was going off the data in the bug18:25
lifelesssinzui: owning a team would speak to the owner/operator split we were discussing the other month18:25
poolieoh, this is the person filing all these bugs recently18:25
lifelesssinzui: but I don't know if thats the case here18:25
sinzuilifeless: exactly my thinking. I have noted that it is challenging in Lp to learn what team I own since I am not always a member18:26
pooliereally, wow18:27
lifelesssinzui: 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
lifelesssinzui: or I can if you like, but I have about 60 bug tabs open and that one closed already18:28
lifelessStevenK: yo18:30
lifelessbug 26197118:30
_mup_Bug #261971: Add debconf preseed for architecture tag <Launchpad Auto Build System:Triaged> < https://launchpad.net/bugs/261971 >18:30
sinzuilifeless: I will look into it.18:30
lifelesssweet, thanks18:30
StevenKlifeless: Uh?18:32
lifelessStevenK: is that still needed? crack? done?18:32
StevenKIt's crack cut with arsenic, and lpia is dead, please kill it.18:32
StevenKlamont may disagree18:33
StevenKlifeless: I've pinged lamont, lesse ...18:33
lifelessso have I18:34
StevenKHaha. We pinged in different channels, for hilarity18:35
lifelesswhere did you ping?18:36
lifelessStevenK: 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
StevenKWe do support alternative dependencis18:45
StevenKIt's a bug in the model18:45
lifelessI don't follow18:46
lifelessdo we have duplicate code?18:46
StevenKlifeless: I'm trying to fix something, so I'm trying hard to not context switch18:46
lifelessok18:46
StevenKlifeless: wgrant would be the best person to ask about that bug18:47
lifelessthnaks18:47
=== gary-lunch is now known as gary_poster
jmllifeless: a while ago you asked me for a public graph of the number of bugs tagged oops & timeout18:59
jmllifeless: I haven't done that yet.18:59
jmllifeless: do you still want it?18:59
lifelesswould be nice. regression too19:00
jmlok.19:01
jmlI'll try, but I won't be hurt if someone else does it before I do.19:01
timrcoffhand, launchpad supports arbitrary length tags?19:01
timrcthe limit would just be a hard limit (e.g. db space)19:01
jmlflacoste: hi19:02
jmlflacoste: actually, off to lunch, emailed instead.19:06
lifelessmwhudson: bug 61380619: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
lifelessmwhudson: IIRC another identical to that was filed recently;19:54
lifelessis that right?19:55
lifelesssinzui: there are now no untriaged bugs20:02
sinzui\o/20:02
lifelesswell20:02
lifelessnone triaged + importance unknown20:02
lifelessyou may find it entertaining that some bloke 'Curtis' made a lot of them triaged (from confirmed) without setting an importance20:03
sinzuiI investigated one oh your bugs in November, I need to find the related bugs to explain what has to change to close the bug20:03
sinzuiI suck20:03
lifeless:P20:03
sinzuiajax takes too long to wait for a response20:03
lifelesssinzui: whats the sso bug tracker ?20:16
sinzuilifeless: do you mean project? canonical-identity-provider20:17
lifelessthanks20:17
lifelesswe still have 176 'new / incomplete' bugs20:17
sinzuiWe cannot set bug expiration until we fix the snapshot/shortlist bug20:18
lifelessI suspect many shouldn't expire20:18
lifelesskindof20:18
lifelesse.g. bug 48471220: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
lifelessis just gmb being slack on answering :)20:18
sinzuioh good. I thought he just had a junk filter on my bug comment20:20
lifelesshe may, but I'm sure its not personal :)20:20
sinzuiI mark all bug mail from ~/sinzui as junk. It would not surprise me if everyone did20:21
sinzuilifeless: 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 afo20:23
=== matsubara is now known as matsubara-afk
=== Ursinha is now known as Ursinha-afk
lifelessflacoste: is deryck around atm ?20:43
flacostelifeless: he's out today20:43
flacostelifeless: we'll be back with us tomorrow20:43
lifelesswgrant: hey21:03
jmlis there an automated way of finding out, say, what the owner of a distribution can do?21:29
lifelessother than try it?21:29
jmlthat's not automatic.21:29
mwhudsonjml: i think roughly speaking no21:29
jmlI think I've figured out how I could write something that would be close.21:30
mwhudsonyou can look zcml that has launchpad.Edit on distribution contexts21:30
mwhudsoni think that's fairly close21:30
jmlI was thinking of going through security.py class by class21:33
thumpersinzui: ping?21:33
sinzuihi thumper21:34
thumpersinzui: I have a branch that needs a quick UI review21:34
thumpersinzui: I have a pic even21:34
jmlfilling out https://wiki.ubuntu.com/LaunchpadPermissions fwiw21:35
thumpersinzui: https://code.launchpad.net/~thumper/launchpad/show-recipe-upload-issue/+merge/4580421:35
sinzuiI saw. I asked my two mentees to look21:35
sinzuisalgado was not about. mrevell did not reply.21:35
sinzuithumper: r=me, I will update the MP21:36
thumpersinzui: ta21:36
jmlof course, there's stacks of code that has 'check_permission(obj, "launchpad.Edit")' manually21:39
jmlhuwshimi: hi21:39
huwshimijml: Hello21:39
jmlhuwshimi: how's things?21:39
leonardrjames_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
huwshimijml: Good thanks. I'm all set up and managed to work on a couple of bugs yesterday21:40
james_wleonardr, would Monday work?21:40
jmlhuwshimi: sweet.21:40
jmlhuwshimi: so you're able to run up a local instance and what not?21:40
leonardrjames_w: i'll be at a sprint on monday, so it would have to be after hours21:40
huwshimijml: Yeah, all good.21:40
james_wleonardr, as will I :-)21:41
leonardrjames_w: we won't be at the same sprint, will we??21:41
james_wleonardr, I'm attending 2.5 days of the megathunderdome21:41
leonardrall right, we'll talk then21:41
thumperwgrant: you there?21:53
thumperI cleaned out my eggs directory to get buildout to regenerate them (and clean out old versions)21:56
thumpernow the test runner complains about a lot of missing modules21:56
thumperImportError: No module named conch.interfaces21:56
thumperImportError: No module named conch.checkers21:56
thumperImportError: cannot import name BadRequest (from lazr.restfulclient.errors)21:57
thumperImportError: cannot import name ClientError (from lazr.restfulclient.errors)21:57
thumperhmm...21:57
thumperI've not merged devel21:58
thumperlets try that21:58
lifelessbigjools: hi22:01
lifelessbigjools: or is that a false image of you?22:01
* bigjools is not really here22:01
lifelessbigjools: ah.22:01
lifelessbigjools: I was considering suggesting wgrant look at bug 641338 today22:02
_mup_Bug #641338: Archive:EntryResource:syncSource timeouts <lp-soyuz> <pg83> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/641338 >22:02
bigjoolshe's busy with other stuff22:02
lifelessI think it can be improved fairly easily22:02
lifelessok22:02
lifelessthanks22:02
bigjoolsbut when he's done those, sure22:02
bigjoolsit's the same underlying problem as the copy package page22:02
bigjoolsaka the copy checker22:03
wgrantlifeless: I've been sorting out the whole copier mess this week.22:08
wgrantlifeless: The code is pretty shit. And the tests are worse.22:08
wgrantI do have a slight performance improvement, though.22:08
lifeless\o/22:10
wgrantAnd cutting another few hundred queries of it is easy once I detangle a few things.22:11
wgrantBut I keep running into more bugs :/22:11
wgrantAnd then finding more broken data caused by them :/22:11
lifeless\o/22:11
bigjoolswgrant: at some point we need to refactor the whole copy checking thing with the upload processor22:15
thumperyay, merge devel, and rebuild fixed testing errors22:16
wgrantbigjools: Yes, I was whinging to bigjools about bits of that last night.22:18
wgrantEr.22:18
wgrantYou are bigjools.22:18
wgrantI am asleep.22:18
bigjoolsdo I need to throw coffee at you?22:19
thumperbigjools: hi22:19
bigjoolsthumper!22:19
thumperbigjools: FYI, went with +buildjob and redirects22:19
thumperbigjools: all done now22:19
bigjoolsthumper: fantastic.  sorry I had to piss on your bonfire and all that22:19
StevenKHaha22:19
thumperbigjools: ah well22:19
thumperyou can buy me lotsa alcohol next week to make up for it :)22:20
bigjoolsthumper: I know what it's like to have a branch ready to land and then someone points out a problem :)22:20
bigjoolsthumper: I am always up for alcohol22:20
sinzuibigjools: bac and I where wondering if these people really should have primary archives: http://pastebin.ubuntu.com/552994/22:46
bigjoolssinzui: !!!!22:46
sinzui^ bigjools, these people are the missing people from team.participants. a logic bug excludes them because they have primary arhives22:46
bigjoolshow the ...22:46
bigjoolsI think we need to find out how they got like that22:47
bigjoolssinzui: that's a serious bug22:47
sinzuilook at the ids, these are super old22:47
bigjoolsmaybe22:48
sinzuiwell the first half are and I was looking for them in a list of members22:48
bigjoolssinzui: well indeed, the last 2 are recent22:48
bigjoolsI suspect the others are badly migrated data22:49
sinzuiAnd they moonlight as Launchpad gods22:49
bigjoolsfeel free to fix those22:50
bigjoolswgrant can give you an eyeball22:50
wgrantIt's not *that* insane.22:53
wgrantbigjools: Do you know how much a distro likes being without a primary archive?22:53
wgrantI don't think much will care.22:54
wgrantIt's not at all surprising that they're there, though.22:54
wgrantCreating a distribution creates a primary archive.22:54
sinzuiThat explains only three people in the list22:55
sinzuiselect 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
wgrantsinzui: Why?22:55
wgrantsinzui: The owner can be customised at creation-time.22:55
bigjoolshmmm had not thought about the distros22:55
sinzuiOnly kiko + losas could create distros22:56
bigjoolseasy to double check if they're attached ti one22:56
wgrantbigjools: They are.22:56
sinzuiI do not think kiko can do it anymore22:56
wgrantI actually was looking at old archives last night, as it happens.22:56
sinzuiChex made a distro a few weeks ago. That accounts for his archive22:56
bigjoolsmakes sense22:56
wgrantsinzui: The owner has to be specified when creating a distro.22:57
wgrantsinzui: So anyone can own the archive.22:57
wgrantAnd I recognise a few other names there.22:57
wgrantLike joejaxx.22:57
sinzuiEven though the distro cannot use the archive, and most registered are not debian based22:58
sinzuiwe suck22:58
wgrantsinzui: Sure. We should nuke all primary archives except 1 and 3.22:58
wgrantOnce I check that the code is OK with it.22:58
wgrantAnd we should also fix the code to stop creating them.22:58
wgrantBecause that's pointless...22:58
wgrantsinzui: Oh, that is a nice bug.22:59
wgrantI guess it works properly if you move the PPA restriction into the subselect?23:00
jmloh hey23:00
sinzuiI think so23:00
jmlwe were talking about distro roles today23:00
jmland I was reminded that bug nomination has a duplicated-but-different set of logic for checking if someone can upload a package.23:01
wgrantYeah.23:01
wgrantI looked at refactoring that, but it is not as trivial as your method makes it look.23:01
jmlI got a vague sense of difficult-ness when looking at it today23:02
jmlwgrant: what are the issues?23:02
wgrantjml: It has been a year. I don't quite recall, sorry.23:02
jmlfair enough :)23:02
wgrantLet me look again.23:02
wgrantBut twice now I've gone to try to refactor it, then remembered the problem I encountered the previous time.23:03
jmlheh23:04
wgrantIt 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
wgrantAnd it's not obvious what to do about pockets.23:05
wgrantsinzui: 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
sinzuibugger23:08
sinzuibug nomination code is so damn crifty23:09
sinzuicrufty23:09
wgrantYou clearly haven't seen Soyuz.23:09
sinzuiI 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 launchbag23:10
mwhudsonis there any good reason (other than amount of work) that the launchbag can't be killed?23:11
wgrantYup.23:11
jmlwgrant: I think it might be OK to change the behaviour of the bug nomination code23:11
wgrantmwhudson: It's pretty hard.23:11
jmlnot sure though23:11
wgrantmwhudson: Since vocabs use it.23:11
jmlwgrant: but my suspicion is that even if it doesn't do the same check now, it ought to be.23:11
mwhudsonwgrant: what for?23:11
mwhudsoncurrent user should be got from the interaction23:12
wgrantmwhudson: Bug nominations, for one thing!23:12
mwhudsonwgrant: hee23:12
wgrantmwhudson: The nominatable series vocab checks launchbag for the distribution or product to look at.23:13
sinzuiI am all for removing launchbag. I favour completing the apocalypse first23:14
thumper+123:14
wgrantsinzui: But the apocalypse is being reversed...23:14
sinzuiIt took 4 years to remove general view23:14
sinzuiwgrant how so23:14
wgrantsinzui: We split the codebase by app 18 months ago.23:15
wgrantBut a month ago we merged the app-split bugs.23:15
jmldifferent things23:15
jmlit's still one code base23:15
sinzuiwgrant: not the same23:15
jmlthe apocalypse is about making it easier to navigate in the best way we could think of at the time23:15
jmlstill makes sense to complete23:15
sinzuithe issue is about defining contracts and responsibilities in the code23:16
jmlbtw23:17
jmlI also had a bit of a chat w/ cjwatson today about NewReleaseCycleProcess23:17
jmlremind me to talk about that next week23:18
jmlalso, some people here might be interested in https://wiki.ubuntu.com/LaunchpadPermissions23:18
sinzuijml: 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 permission23:20
jmlsinzui: that's the advantage of having a shared, editable document :)23:21
sinzuiI also advised we ask reviewers to ask developers to update documentation when a permission is changed23:22
jmlsinzui: that's pretty hard to do23:22
sinzuieg. bug nomination rules changed a few moths ago, and now we are getting Ubuntu questions about it23:22
sinzuiThe document cited in this question cannot be changed by me: https://answers.launchpad.net/launchpad/+question/14050923:24
jmlsinzui: that's unfortunate, but it's no reason not to keep *a* document up to date23:26
sinzuiI agree. Collective code in the case requires a collective document23:27
jmlsinzui: 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
jmlspm: I will not be beholden to blackmailers.23:39
LPCIBotYippie, build fixed!23:49
LPCIBotProject 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!