/srv/irclogs.ubuntu.com/2010/09/02/#launchpad-dev.txt

lifelessatm00:04
lifelesslosa pin00:04
spmlifeless: heya00:04
lifeless^00:04
lifelessthumper: is it on staging ?00:04
thumperlifeless: staging is down00:04
lifelessthumper: well, spmdo works miracles00:05
lifelessanyhow00:05
lifelessthe answer is:00:05
lifeless - to profile00:05
lifeless a) get it on staging00:05
lifeless b) losa ping and ask them to enable profiling. hit the page. ask them to disable00:05
lifelessand the profile ends up on devpad 3 minutes later00:05
lifelessthumper: if its on edge, do you have a user-oops to look at perhaps ?00:05
thumperno, but I can create one with ++oops++00:06
thumper:)00:06
lifelessright, I'd do that - until we have a staging-daily environment its the best you can do until it has percolated to staging00:07
* thumper nods00:08
=== Ursinha is now known as Ursinha-afk
thumperwgrant: ping00:21
wgrantthumper: Hi.00:39
thumperwgrant: hi00:39
thumperwgrant: IBuildFarmBuildJob says that build can't be None00:39
thumperdoes that fit with your understanding?00:39
thumperbecause the database doesn't have that constraint00:39
wgrantthumper: Indeed it doesn't. That's a bug.00:40
wgrantBut those tables are scheduled for removal as soon as Translations gets their job fixed.00:40
thumperah...00:41
thumperwhat?00:41
wgrantHm?00:41
thumperI know there was a migration from some tables to some other tables00:41
thumperbut I thought that this is the one we migrated to not from00:41
thumperbecause the recipe stuff is using it00:41
wgrantThe migration is half done.00:42
thumper(at least on production)00:42
thumperwas the recipe stuff landed this cycle?00:42
wgrantThe remainder cannot be done until Translations does the first half.00:42
thumperwhich might be on db-devel only00:42
wgrantLast cycle.00:42
wgrantProduction has the current build farm schema.00:42
thumperif this is a table that needs to go, and recipe stuff should not be using it, and it should have landed last cycle00:43
thumperwhy are we getting oops 1705EB240100:43
wgrantRecipe stuff is using it.00:43
thumperbut it shouldn't be?00:44
wgrantIt is part of the old queueing model.00:44
wgrantSPRBs and BPBs have been ported to the new one.00:44
wgrantBut they still use the old one too.00:44
wgrantSince TTBJs use the old one.00:45
lifelessrockstar: btw, I'd really like us to keep the approval means 'human says ok' and use Queued for tarmac.00:45
wgrantOnce TTBJs use the new one, we can quickly stop using and remove the old one.00:45
lifelessrockstar: really really really like us to do that.00:45
wgrantthumper: So, the table is still in use, but is redundant.00:47
thumperwgrant: do you know if the TTBJs have been moved?00:49
wgrantThey haven't.00:50
wgrantI was hoping it would happen this cycle.00:50
wgrantBut apparently not.00:50
* thumper adds reminder to poke danilos00:50
lifelesswgrant: whats DistroSeries:+templates all about ?01:07
lifelessreminder to self; nag stub about PPR reliability, staging.01:07
wgrantlifeless: Isn't that Translations?01:09
lifelessah, that would make sense01:09
lifeless29.25 - 99% completion time01:09
wgrantHow is that possible?01:10
wgrantHow can the 99% be above the timeout?01:10
lifelessthe magic of science01:10
lifelesseasily01:10
=== Ursinha-afk is now known as Ursinha
mwhudsonhm01:28
mwhudsondoes someone remember where that dead easy graph generator was?01:28
mwhudsonwhere you could graph any number on any website?01:29
pooliewebnumbr?01:29
mwhudsonpoolie: yes, thanks01:29
lifelesswgrant: around ?01:50
lifelesswgrant: were you going to poke at https://bugs.edge.launchpad.net/soyuz/+bug/618372 or is it my imagination ?01:52
_mup_Bug #618372: Distribution:+search slow 50% of requests <timeout> <Soyuz:Triaged> <https://launchpad.net/bugs/618372>01:52
wgrantlifeless: I don't think I was doing anything about that.01:54
wgrantI did look and cringe at the code and views a few weeks ago, but that was for other reasons.01:55
lifelesswgrant: care to be enticed ?01:55
wgrantI have four projects due tomorrow... so no, sorry.01:58
lifelesswgrant: meep. get on them :)01:58
wgrantHeh, maybe.01:58
lifelesswgrant: Did you see this one - 19997.01launchpad-main-masterSELECT COUNT(*) FROM Bug WHERE Bug.private = FALSE01:58
lifelessbah01:58
lifelessthats 1 999701:58
lifelesson https://api.staging.launchpad.net/1.0/bugs?assignee=xxx01:58
wgrantHah.01:59
wgrantAwesome.01:59
wgrantAny idea what's causing that?01:59
lifelessnot yet.01:59
lifelessbut I LoLed02:00
lifelesswgrant: also, https://dev.launchpad.net/ArchitectureGuide may be interesting for you; as always I seek feedback on these things.02:00
wgrantHmm.02:05
lifelesswgrant: as I say in the presentation, the metrics are noddy02:06
lifelessbut until we try, we won't have any02:06
wgrantLaunchpad's never really done the whole metric thing.02:07
wgrantSo it's a good start.02:07
lifelesswgrant: so, distro:+search02:16
lifelessit was the top timeout yesterday02:16
wgrantHm, that's good, considering how many other timeouts there used to be.02:16
lifeless57 /   13  Distribution:+search02:16
lifeless44 /  114  CodeImportSchedulerApplication:CodeImportSchedulerAPI02:17
lifelessanyhow02:17
lifelessyou said it was terrible and should use <<>>>02:17
lifelessdid you have some advice for what it should use ?02:17
lifelesswgrant: yes, we're getting the first rung of omg out of the way02:18
lifelesswgrant: I'm nearly ready to lower the timeout again02:18
lifelessin fact, I'll throw that up now02:19
wgrantWhat are they sitting at now?02:20
lifelesslpnet is 1702:20
lifelessI'll leave edge for now02:21
lifelesshmm edge had 29 timeouts02:21
lifelessdrop both02:21
wgrantYup.02:21
wgrantIt would be nice to see how much the two cache tables actually win us.02:22
wgrantBecause the query there isn't really using them.02:23
wgrantI can't see what's generating that query.02:25
lifelessI'll poke some02:25
lifelessperhaps do-from-scratch02:25
wgrantOh, right, there.02:25
wgrantDistribution.searchBinaryPackages, with exact_match=True.02:26
wgrantAt that point it's really not using the only beneficial part of the cache.02:26
wgrant(binpkgnames)02:26
wgrantIIRC that search is just about the only user of the tables... so if you can make it work without them we can delete lots.02:27
lifelessthumper: ping02:33
lifelessspm: ping02:34
spmlifeless: heyo02:34
lifelesshey02:34
lifelessthat config change didn't merge02:35
lifelessor something02:35
lifelessand I have more now02:35
lifelessalso the diff updater is slow?02:35
lifelessby which I mean, please check it doth not need shooting.02:35
spmyeah. :-) started looking then got an alert that calamansi has gone awol - just chsing that down atm. I've decied I'm going to relearn forth. the stack based thing is more in tune with my reality/02:35
lifelessyou could go the musical route02:36
lifelesslearn fifth02:36
* lifeless boom tishes02:36
* spm stares blankly at the screen and conceeds the point to lifeless02:36
lifelessspm: I'm pretty sure the MP daemon is ded02:37
spm10 mins and 5 deep in interrupts. le sigh :-)02:37
lifeless:<02:37
lifelessare they all LP ?02:37
spmalas no02:38
=== Ursinha is now known as Ursinha-afk
spmyeah. looks wedged. about 30 mins. killing...02:39
spm20 mins. not 30.02:40
wgrantlifeless: What are your performance targets?02:40
wgrantFor timeout and 99%.02:40
lifelesswgrant: the same, and both were in the vision document ;)02:40
lifelesswgrant: the immediate target is 5 seconds for 99% of requests02:41
lifelessthe long term one is 1 second, with hard timeout still at 5 seconds02:41
lifeless(so right now they are the same, once we get below 5 seconds across the board it will be different)02:41
wgrantlifeless: I didn't read the presentation.02:41
lifelesswgrant: :P02:42
wgrantRight, I was wanting the long term one.02:42
lifelesswgrant: not even 2 months back ?02:42
wgrant(I read the presentation just after the Epic)02:42
wgrantYeah.02:42
lifelessyeah02:42
spmlifeless: well you'll be pleased to know that it was either you or maxb that caused this problem <== science-less accusation02:42
lifelessspm: ^^02:42
spmbut those mp's should now be processed :-)02:42
lifelessthanks02:43
lifelessspm: ok, https://code.edge.launchpad.net/~lifeless/lp-production-configs/timeouts/+merge/34042 is updated; can you please (I know you're busy) eyeball the updated diff, so i can start the 1 hour lead-in to make the change happen ?02:44
spmsure sure02:44
spmlifeless: +1'd02:45
spmlifeless: actually - I assumed that we have already dropped to equivalent values on staging as a trial?02:46
lifelessstaging is set to 10 seconds02:46
lifelessthe data I am going off is the last few days of oops reports for lpnet and edge02:46
spmsweet; re-confirming the +1. ta.02:46
lifelessbecause not enough people hammer staging for it to mean anything02:46
spm:-)02:47
spmI have a selection of hammers here I'm happy to lend?02:47
spmsmall sledge, ball pein, couple of reular claws; japanese chisel (my personal fave); few others....02:47
lifelessrubber ducky, you're the one02:48
=== Ursinha-afk is now known as Ursinha
thumperlifeless: pong02:51
lifelessthumper: I want your +1 on lowering the timeouts02:52
lifelessthumper: since the new policy seems to say noone can JFDI even with sysadmin agreement02:52
lifelessthumper: the branch which will need to be deployed is running through now (its not an LP branch)02:53
thumperlifeless: lowering which timeouts to what?02:53
lifelesslpnet and edge hard timeouts, by 1 second each02:53
thumperdo it02:53
thumper+102:53
lifelessthank you02:54
lifelessspm: that is in pqm now, all going well in ~ 60 minutes I'll be asking for a deployment to all appservers.02:54
lifelessspm: if that is convenient02:54
* spm consults the diary02:55
lifelessspm: I can use the magic words if you want02:55
spm"NOW"?02:55
lifelessspm: NOW, Knave!02:56
spmKnave. I like it.02:56
lifelessbut actually, NOW+60 :P02:56
spm${NOW}+60?02:56
lifeless:>02:56
lifelesswhat happened between 1500 and 1600 graph time yesterday ?03:07
lifelesshttps://lpstats.canonical.com/graphs/OopsEdgeHourly/03:07
lifelessspm: help03:58
lifelesszope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/pqm/pqm-workdir/home/---trunk/launchpad/script.zcml", line 7.4-7.3503:58
lifeless   ZopeXMLConfigurationError: File "/home/pqm/pqm-workdir/home/---trunk/launchpad/lib/canonical/configure.zcml", line 80.4-86.1003:58
lifeless   ImportError: No module named debian03:59
lifelessI got that merging the config change03:59
lifelessmake: *** [lib/canonical/launchpad/apidoc/index.html] Error 103:59
spmblink03:59
lifelessIt means the pqm chroot's packages are out of date03:59
* spm holds head in hands and cries a little. on the inside at any rate.03:59
lifelessspm: can you smack or arrange a smack, of apt-get update; apt-get-upgrade in it ?03:59
spmyah, one sec04:00
=== Ursinha is now known as Ursinha-zzz
lifelessspm: hi05:05
lifelessspm: https://bugs.edge.launchpad.net/soyuz/+bug/618372/comments/605:05
_mup_Bug #618372: Distribution:+search slow 50% of requests <timeout> <Soyuz:Triaged> <https://launchpad.net/bugs/618372>05:05
lifelesscan you please rnu the query in that link on a prod slave05:05
lifelessI've checked staging already, its 10x slower than stub found05:05
lifelessI just need the \timing for it05:06
lifelessdb tuning: funrollloops for adults05:09
lifelesswgrant: whould would searchBinaryPackages use the dspc ?05:11
lifelesswgrant: also Distribution.searchBinaryPackages interface docstring lies!05:16
wgrantlifeless: Why wouldn't it?05:30
wgrantAh.05:31
wgrantIt returns DSPCs, rather than DSPs?05:31
lifelessyes05:31
lifelessso its not as simple as 'make a DSP returning function'05:31
spmlifeless: ew. fun.05:31
lifelessspm: pweese05:32
lifelesswgrant: distroarchseries searchBinaryPackages doesn't, it does something different05:32
lifelesswgrant: I don't understand why they have or need different code05:33
lifelesswgrant: though you may hate das - it uses BPPH, or is that ok ?05:33
wgrantlifeless: Well, it might be that simple if you change the callsites to not be insane.05:34
wgrant"may hate das"?05:34
wgrantOh.05:34
wgrantDAS05:34
wgrantRight.05:34
wgrantlifeless: If DAS's implementation is fast, it's fine.05:35
lifelessits not on the top candidates page05:35
lifelessI'll shove it into D05:35
wgrantDSPC is basically just a precalculated version of that join.05:36
spmlifeless: prod1. Time: 173.932 ms05:36
lifelessspm: grahfuck05:36
spmrepeats are 50ms...05:36
lifelessspm: what pg version is staging running ?05:36
spm8.305:36
lifelessok05:36
lifelessso there is something really quite different there ><05:37
lifelessspm: that was the one in my comment, comment 6 ?05:37
spmyup05:38
lifelessthanks, appreciated.05:39
* lifeless subscribes stub again05:39
lifelesswgrant: also, DAS has no code reuse at all. sob.05:44
mwhudsonlifeless: is it worse that foo.specifications ?05:45
mwhudson*than05:45
lifelessyes05:46
lifelessspecs at least has a mix in I could pull code into05:46
mwhudsonimpressive05:46
wgrantDAS was stuck between Soyuz and Registry for a while.05:46
wgrantIt's not well-loved.05:46
lifelessit appears positively hated05:46
lifelessbut fast (or unused)05:46
lifelesshttps://edge.launchpad.net/ubuntu/+search?text=mplayer is still boom on prod05:47
lifelessoh and thats interesting05:48
lifelessdistroseries search is totally differnet05:48
lifeless\o/05:48
* lifeless needs a drink05:48
lifelesswgrant: is that a bug?05:51
lifelessanyhow, there would be a different if I drop DSPC - rather than one row per source package it would be N rows - one per binary05:52
lifelessso, I'm going to assume thats actually the desired win for now05:52
lifelessand try and ask bigjools about this later05:52
wgrantlifeless: Can't you just get distinct DSPs?05:53
lifelesswgrant: *think*05:54
wgrantlifeless: Hm?05:54
lifelesswgrant: oh, hmm.05:55
lifelessyes, should be doable05:55
lifelessDAS.sBP returns BinaryPackageRelease,05:55
lifelesswgrant: you asked about 99% stuff and timeouts before05:56
lifelesswgrant: I forgot to answer05:56
lifelessthe time at which 99% of requests complete can be over the timeout if either:05:56
lifeless - enough requests fail (e.g. 2%)05:56
lifeless - the requests are completing with high durations as soft time outs due to bugs in the timeout trapping code (or no queries happening after the timeout)05:57
lifelessstub: hi!05:57
lifelessstub: got a few minutes?05:57
wgrantlifeless: I don't see how it's possible unless the timeout stuff is buggy.05:57
wgrantSince nothing can finish after the timeout -- it would have timed out.05:57
lifelesswgrant: the timeout code works by checking for a timeout at predefined points.05:58
lifelesscurrently that predefined point is 'sql queries within publication'05:58
stubyo05:58
wgrantlifeless: Ah, so an SQL query won't be terminated?05:58
lifelesswgrant: it will, because we tell the server the remaining time05:58
wgrantAh.05:58
lifelesswgrant: but there are caveats - pg doesn't cancel queries until you get the locks yoiu're waiting on05:58
lifelesswgrant: and if stop querying and go into python, or librarian, or email time, you won't time out.05:59
lifelessthese are bugs. they will be fixed.05:59
wgrantEw.05:59
lifelessstub: so, I have a bug you looked at that puzzles me on staging; https://bugs.edge.launchpad.net/soyuz/+bug/618372 and...06:00
_mup_Bug #618372: Distribution:+search slow 50% of requests <dba> <timeout> <Soyuz:Triaged> <https://launchpad.net/bugs/618372>06:00
lifelessstub: PPR is failing very often - it seems to run sodium into swap, which triggers a meltdown06:00
lifelessand06:00
lifelessstub: staging is failing waiting for a slony timeout, so its now not updated since sunday.06:00
lifelessstub: I have no  idea how these slot into your priorities06:01
stubI got the PPR email. I haven't seen it go that big. We can fix that but it will be slower generating reports (how much? Dunno until it is done)06:01
lifelesswgrant: so its not hugely ew; unless we raise a signal right on the timeout its always going to be a little fuzzy06:02
stubStaging probably means the slon daemons died. Restarting the process should sort things, but I was going to have a look now.06:02
lifelesswgrant: (and doing that has *serious* hair on it)06:02
lifelessstub: its died the same way three times in a row06:02
lifelesswgrant: so if its approximate, even without massive-overruns, all you need is 2% timing out and the 99% point will be outside the timeout.06:03
stubok. no idea what happened then - the email I had wasn't enough to diagnose.06:03
lifelessstub: I say this because I've seen the same pastebin contents +- the list of exact what is attached, on tuesd morn, wed morn & today :)06:04
stubThat is odd, because the only log on the system is from the pastebin I got emailed yesterday.06:08
stubSo the restore has been attempted once and it failed, or the logs are disappearing or this was from manual runs06:08
lifelessis https://pastebin.canonical.com/36551/ what you got yesteday ?06:12
lifelessthat happened overnight from my perspective06:12
stuboic. This is a code only update, and the slon daemons have died for whatever reason so it can't apply new patches to the existing database.06:13
stubSo the code only update needs to bouce the replication daemons to ensure they are running06:14
lifelessjtv: bug 618393 - you say it would be hard to do for individual translators - could you expand why? it might be like the one I did for Bug.userCanView (which grants EDIT)06:14
_mup_Bug #618393: TranslationGroup:+index slow 1-2% of requests timing out <timeout> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/618393>06:14
lifelessbrb06:14
stubspm: /srv/staging.launchpad.net/staging/launchpad/database/replication; LPCONFIG=staging ./slon_ctl.py stop; LPCONFIG=staging ./slon_ctl.py start06:15
stubspm: I've run that so the code update should work now.06:16
spmstub: context? that needs to be in the staging restore script?06:16
spmoh right. ta. I'll rm the lock06:16
stubspm: So we must not have a nagios check on the staging replication lag06:16
spmcat /etc/nagios/nrpe.cfg :-)06:17
spmnope06:17
=== jamesh_ is now known as jamesh
stubspm: Do you know if there is movement on the PG 8.4 on staging request?07:04
spmstub: that's stuck on me atm, and no is the short answer; I plan on going into an irc hole of /ignore * tomorrow to make it happen - get the packages ready as in.07:05
stubTa07:05
spm... not helped by codebounce wanting all the swap it can get it's grubby mitts on07:06
stubspm, lifeless: One of the things that is improved every PG release is the query planner. Some of the issues we are looking at the moment might just evaporate.07:06
spm^^^ boundless optimism on display from the DBA07:06
spm(Oooo! it rhymes!)07:06
stubIf I can keep 'that should be fixed in the next release' up until retirement, I'll be sweet.07:07
spmstub + sweet. the mind rebels.07:07
=== henninge_ is now known as henninge
adeuringgood morning08:52
lifelessspm: have you EOD'd ?09:03
lifelessI'm still getting    ZopeXMLConfigurationError: File "/home/pqm/pqm-workdir/home/---trunk/launchpad/lib/canonical/configure.zcml", line 80.4-86.1009:03
lifeless   ImportError: No module named debian09:03
lifelesslanding the config change09:03
lifelesslosa ping ^09:03
wgrant'/home/---trunk/'09:05
wgrant---?09:05
lifelesspqm glue09:05
wgrantYay.09:05
lifelesswgrant: do you recall the cause of that error ?09:06
lifelesswgrant: its stale package versions right ?09:06
lifelessmthaddon: ping09:06
mthaddonone sec - in a meeting09:06
lifelessmthaddon: I'll write here, take it up when you get free :)09:06
lifelessthe above error is occuring trying to land a change to launchpad-production-config; AIUI landing those configs does a full buildout, so the remaining cause is a stale apt package for (IIRC) python-apt, or something like that.09:07
lifelessThere should be new packages in CAT; spm had updated this earlier today, we thought.09:08
wgrantlifeless: Or stale sourcedeps.09:08
lifelessI would deeply deeply appreciate it if we can fix this so that the production-configs change can land09:08
wgrantHm, actually, python-debian is a package now.09:08
wgrantSo, yeah, old version of the package.09:09
lifelessso it may be that PQM is pulling in an old sourcedep09:09
lifelesse.g. if for some reason its using a config-manager config rather than buildout09:09
lifeless(I suspect it may be)09:09
lifelessthen, that config may be stale and need to be updated to use the python-debian package rather than the sourcedep.09:09
spmlifeless: sorta - was on the weekly with tom09:09
lifelessI will pop back later to offer what assistance I can09:10
lifelessspm: mthaddon: sorry for interrupting the meeting09:10
mthaddonso what update to launchpad-dependencies do we think will fix this?09:10
spmoh right. so we updated the packages in the chroot for pqm on prasé that should have pulled in the latest hotness of everything09:10
lifelessso, its not the packages09:10
lifelessits probably the manner in which it sets up 'sourcecode' ?09:11
spmmthaddon: https://pastebin.canonical.com/36602/ is the list of what was updated09:11
lifelessI don't see python-debian there09:12
mthaddon(pqm-hardy)pqm@praseodymium:~$ dpkg -l | grep python-apt09:13
mthaddonii  python-apt                        0.7.4ubuntu7.5                                             Python interface to libapt-pkg09:13
mthaddoner...09:13
lifelessno09:13
lifelesspython-debian09:13
mthaddonsorry, wrong package09:13
mthaddonii  python-debian                     0.1.9                                                      python modules to work with Debian-related d09:13
lifelesswhats that launchpad-dependencies package version ?09:13
mthaddon0.72~0.IS.8.0409:14
lifelesscurrent is 0.8109:14
mthaddonthat's not been installed on any of the servers yet09:15
lifelessbut nothing in the changelog looks relevant09:15
lifelessand if this works on the servers its clearly not the issue09:15
lifelessmthaddon: can you pastebin me the pqm stanza for production-configs ?09:15
spmhrm. that bb amis rt I'm working on may be relevant to that version....09:15
mthaddonyeah, just finding it now09:15
spmhrm. no. 72 should be fine.09:16
lifelesswgrant: can you check your sourcecode dir09:18
lifelesstell me, do you have a python-debian subdir ?09:18
=== danilo_ is now known as danilos
wgrantlifeless: I don'09:20
wgrantt09:20
lifelesswgrant: ah, you're on a recent release09:20
lifelesswgrant: look in lib, it has deb822 and debian symlinks09:21
wgrantlifeless: Yeah, I'm not sure they're used any more09:21
lifelessthey are new09:21
lifelessrev 1132409:21
wgrantAh.09:22
lifelessmthaddon: spm: Thanks for the help.09:28
mthaddonsure09:28
lifelessstub: when is pg8.4 realistically happening; I don't want to wait another cycle to fix the batch of issues.09:28
lifelessstub: but I could; I *really* don't want to wait another 2 cycles.09:29
stublifeless: It will take 1 week after we are happy with staging - swap over one box per day.09:30
wgrantstub: Rather than waiting for the query planner to magically be fixed, shouldn't we be reporting problems?09:30
stublifeless: It is on a separate cycle to rollouts09:30
spmlifeless: np09:30
lifelessstub: ok, thats good to know.09:30
stubwgrant: I haven't actually seen problems with the query planner. I have seen issues where it is not smart enough.09:32
lifelesswgrant: if the planner isn't smart enough in 8.4 they would reasonably say 'try 9'09:32
lifelesswgrant: we should look at bringing up a trunk pg box to do such evaluations on09:33
lifelessbut not just yet09:33
wgrantstub: Well, one could argue that a completely dumb planner is just not smart enough.09:33
lifelessok, pqm is now trying that -again-09:34
lifelesswe'll know in ~ an hour09:34
stubwgrant: Yes. But it isn't like upstream is doing nothing - I mentioned PG 8.4 before *because* of the insane speed upstream moves at.09:34
stubwgrant: Its been rare to trip over a PG issue that hasn't already been fixed.09:34
wgrantstub: Ah, I see.09:35
lifeless... twitter: When you click on these links from Twitter.com or a Twitter application, Twitter will log that click. We hope to use this data to provide better and more relevant content to you over time. ...09:35
lifelessnot evil. no, not at all.09:36
stubI think the issue with GIN indexes is one that hasn't been dealt with that will help us09:36
stubAnd there is an open bug on that.09:36
wgrantlifeless: Doesn't just about everybody do that now?09:37
wgrantGoogle, Facebook...09:37
stublifeless: Which is pretty stupid, as every twitter client I have seen goes through a URL shortening service.09:37
wgrantnoodles775: Bug 628427 looks relevant.09:38
_mup_Bug #628427: oops on /builders - LocationError(SourcePackageRecipeBuildJob, 'build') - BuilderSet:+index <oops> <recipe> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/628427>09:38
wgrant(morning)09:38
* noodles775 looks. Hi :)09:39
lifelessstub: they are going to unwrap it09:39
lifelessstub: store it, and rewrap it, AFAICT09:39
noodles775wgrant: Indeed, I've updated 628239.09:42
stublifeless: Assuming URL shortening services play ball.09:45
lifelessstub: indeed, but they just announced this so I assume their ducks are lined up09:45
stubI guess difficult not too09:45
stubI heard some time ago they were planning this?09:46
lifelessyeah09:47
lifelessI mean they've done their 'mail all users' anouncement09:48
stubI recall discussion on using this to bypass character limits, so http://someservice.com/lets/have/our/tweet/in/a/url would... erm... I forget why.09:48
wgrantnoodles775: The expandy bit for PPA source packages lists binaries (without links), then later links to all of the files. Is there any particular reason that it doesn't instead have "(i386) (amd64) (lpia)" links next to each binary package?09:53
wgrantIt would save space and probably be more understandable.09:53
allenapbigjools: Do you know much about lp.archivepublisher, specifically its test suite?10:06
bigjoolsallenap: lots.  But I am OTP, I can talk in 30m10:06
allenapbigjools: Cool, thanks :)10:06
bigjoolsallenap: or you can grab one of my esteemed team10:07
allenapbigjools: Sure, anyone in particular for lp.ap? My questions are about test layers and possible weird interactions with zope.component.10:09
allenapjelmer: Do you have time to help me with a problem in lp.archiveuploader?10:19
jelmerallenap, sure10:19
allenapjelmer: In 4 tests of test_pool.TestPool, I get "Could not adapt" errors for some new cachedproperty code I've done.10:20
allenapjelmer: http://pastebin.ubuntu.com/487147/10:21
wgrantIt's a plain TestCase.10:21
wgrantIt has no layer.10:21
wgrantSo no Zope.10:21
allenapwgrant: Yeah, but the adapters are also registered with the global site manager when propertycache is imported.10:21
wgrantallenap: Is there a global site manager?10:21
allenapwgrant: Always.10:22
allenapwgrant: Well, zope.component.getGlobalSiteManager() will always return something :)10:22
wgrantHmm.10:23
allenapwgrant, jelmer: One oddity is that these tests run fine locally. On EC2 they fail. I think there's something weird going on when the full suite is run.10:23
lifelessallenap: you could consider nuking the zope aspect of this10:24
lifelessallenap: I don't think it would make any difference to the spelling10:24
allenaplifeless: Of propertycache? Yeah, that's on my mind :-/ I'd like to try and understand why it's not working if I can.10:24
allenaplifeless: Yeah, agreed. It's just very frustrating and confusing :)10:25
jelmerallenap: I'm at a loss so far, my thought would also be that it's related to layers but then it shouldn't work locally either...10:25
allenapjelmer: Yeah, bloody odd. Okay, I'll email the list to see if anyone has inspiration, and remove the Zope-ish bits so this can land. Thank you :)10:27
wgrantGraaaaah.10:28
wgrantarchiveuploader, your lack of test coverage and corresponding missed brokenness distress me.10:29
wgrantThe relevant test elides the important bit.10:31
wgrantGah.10:31
allenapwgrant: Gah indeed :)10:32
lifelesswgrant: 'gahk'10:33
lifeless\o/10:35
wgrantlifeless: That too, if it's the sound of choking on doctests.10:35
lifelesshttps://bugs.edge.launchpad.net/ubuntu/+bug/1 didn't time out10:35
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:In Progress by sabdfl> <ubuntu-express (Ubuntu):Invali10:35
lifelessshowing all 1327 pages did10:35
wgrantWhich pages?10:36
lifelesscomments10:37
lifelessblah10:37
lifelessI knew what I meant10:37
wgrantAh.10:37
wgrantThey should be paginated :(10:37
lifelesslets see what the query count is down to10:37
lifelesshmm10:39
lifeless1327 comments in the summary10:39
lifelesscomment 1350 is the end one shown10:39
lifelessmethinks there is a bug10:39
lifelessanyhow, at least that is down to 408 queries :P10:40
lifelesshmm, assignments still is right on the edge10:41
bigjoolsallenap: hi, did someone answer your question?10:41
lifelessAt least 76 queries issued in 13.06 seconds10:41
allenapbigjools: Yeah, jelmer helped out. It baffled him too, so I'm taking lifeless's advice, which is to remove the Zopeish bits for now.10:42
lifelessooh thats nice, bug index in 1.17 seconds now10:42
bigjoolsallenap: I didn't really pay attention to what you were talking about, so that doesn't mean much to me :)10:42
lifelessfor a more regular bug10:42
allenaplifeless: There may be "deleted" comments... I /think/ they're still counted so that urls are stable.10:43
lifelessallenap: ahh10:43
lifelessanyone else feel bug pages are a bit snappier today ?10:43
lifelesson edge, since it deployed10:43
allenapbigjools: I'll explain if you're interested? Part of my plan was also to write to the list so you can wait for that if you want.10:44
bigjoolsallenap: oh ok I'll wait, don't explain twice10:44
allenapbigjools: Cool :)10:45
lifelessall of bug 1's comments can be retrieved in 2.5 seconds10:47
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:In Progress by sabdfl> <ubuntu-express (Ubuntu):Invali10:47
lifelesswgrant: ^10:47
wgrantlifeless: Wow!10:47
lifelesswgrant: theres not reason to paginate, we should be able to spit it out easily10:47
lifelessSQL time: 2550 ms10:47
lifelessNon-sql time: 14016 ms10:47
lifelessTotal time: 16566 ms10:47
lifelessStatement Count: 40810:47
wgrantImpressive.10:47
lifelesswith some more tuning10:48
lifelessI reckon we can take that under 2 seconds sql10:48
lifelessnext step is a profile on staging, which will be tomorrow - need the patch in db-stable10:48
lifelessit also does some daft stuff - grabs all the official bug tags for all related things10:49
lifelessrather than joining and getting the relevant ones10:49
lifelessthats trivial, but still linear vs log10:49
lifelessmthaddon: we run the default threads per appserver right?10:52
lifelessmthaddon: what would be in the impact on you & deployment if I asked for a change to 1 thread per appserver instance and 4 times the appserver instances.10:52
lifelessmthaddon: same hardware.10:52
mthaddonlifeless: it'd be a real maintenance headache (4 times as many initscripts), but it'd be doable10:53
lifelessmthaddon: there is mounting evidence that we're having cross thread interaction10:54
lifelessnot bugs, just python being python10:54
mthaddonyou're saying python can't do threads?10:54
lifelesspython can't do threads10:54
lifelesswell known fact10:54
* mthaddon gets a poster made up10:54
wgrantWell, CPython can't do threads.10:55
lifelessif we were primarily waiting on db, it wouldn't matter10:55
lifelessbut reality is we're getting that sorted fairly well10:55
noodles775wgrant: I'm not sure I'm visualising what you mean (re. the build/package links on the package details expander)10:55
lifelessi expect db load to go down over the next few months10:55
wgrantnoodles775: I want to remove the binaries from the file list, replacing them with links in the 'Built packages' section.10:56
lifelesswgrant: yes, thats true. But its what everyone means when they don't say 'python the specification'10:56
lifelessexcept perhaps 4 or 5 people10:56
wgrantHeh.10:57
elmolifeless: we benched this in montreal as part of the splitit project, and certainly at the time, there was no evidence that we were being hurt by gil contention10:57
wgrantThat will hopefully change soon.10:57
lifelesselmo: I didn't say anything about gil contention10:57
elmowhile, I'm sure a lot's changed since then, this is not the kind of change I want to run in without some evidence not only that it won't hurt but that it'll help10:57
lifelesselmo: I'm talkin about gil serialisation which is the primary gil issue10:57
elmolifeless: then s/contention/problems with python and threads/10:57
lifelesselmo: naturally. I'd want an oops-per-instance report; then try one server with the different config and see if the oops rate changes more than due to the splitting of the instances10:58
lifelessplus PPR stats of the same10:58
elmowhat I mean is, specifically, we messed around with number of app servers, number of threads per app server quite a lot10:58
lifelesselmo: what application10:58
lifelesselmo: because if it was the SSO the results are meaningless for this10:59
elmoit was SSO and bugs10:59
lifelessbugs?10:59
elmobugs are problems in software, but that's not important right now10:59
lifelessok10:59
elmolifeless: no, seriously, I mean malone/bugs.launchpad.net - whatever you want to call it10:59
lifelessso the reason the SSO stuff isn't relevant is that it isn't pushing 15K responses around11:00
lifelesselmo: I didn't know you benched malone11:00
lifelesselmo: do you have the data -raw or massaged- for me to look at?11:00
lifelesselmo: when a request takes 5 seconds to render, most of that time is pure bytecode interpretation11:01
lifelesswhich is primarily serialised11:01
lifelessso a 7 second request with 2 seconds db and 5 seconds render [unloaded]11:01
lifelessmeans, effectively, ~4 seconds during which the other threads can do nothing - but its not in one big block because the GIL gets released11:02
elmolifeless: I'm sorry, i don't have any of the data to hand - what there is may be on the wiki if you search for 'splitit'11:02
elmoright11:02
elmoso wait, how is this not about contention then?11:02
lifelessif the timeout is near the requests actual render time then, two of these at once will time each other out.11:02
elmoi.e. what are you trying to solve by having one app server?11:03
lifelessparallelism11:03
lifelessresponsiveness more precisely11:03
elmoso, the problem with all of this is that app servers are not exactly slim and svelte11:04
elmo 8056 launchpa  20   0  814m 510m 9512 S   19  8.5 729:46.99 /usr/bin/python -S bin/run -i lpnet711:05
lifelesselmo: much of the footprint is per-thread, in theory.11:05
elmowe can't actually have 16 of those11:05
lifelesselmo: of course not.11:05
elmowell we'd want 16?11:05
lifelessif you run up a single thread appserver and put it under load, you can see how big it will be11:05
lifelesswe don't want 16 of *those*, we want N of *those/N* where N is the current threadcount (4 for launchpad)11:06
lifelessthey won't drop quite linearly in size11:06
lifelesselmo: https://wiki.canonical.com/TaskForce/SplitIt/PerformanceSprint doesn't talk about bugs at all, only shipit and sso :(11:08
lifelesselmo: a key finding: but the average response time increase as the number of concurrent users increase.11:08
noodles775wgrant: I don't see how you could move all the "Package files" (ie. 3 per build) next to the one built package? (can you scribble on a screenshot? it might make this easier. I've confidence that what you want will make sense ;) ).11:09
lifelesselmo: thats exactly what I'm worried is strongly affecting LP11:09
wgrantnoodles775: My though was to stick '(i386) (amd64) (lpia)' links next to each package name.11:09
noodles775wgrant: OK, what about when the package files are no longer published (ie. we'd want the builds to still be linked)?11:10
lifelesselmo: ok thanks I read the wrapup11:12
lifelesselmo: what I read correlates with the theory I'm putting forward11:12
lifelesselmo: if I'm right, even halving the thread count and doubling the appserver count would be an improvement11:12
lifelesselmo: there is no suggestion, in the benchmarks, that you tried 1 or 2 threads per appserver.11:13
wgrantnoodles775: http://williamgrant.id.au/f/1/2010/listing-archive-extra.png11:15
wgrantnoodles775: They're not the build links.11:16
noodles775wgrant: Yes, I find that more intuitive (thinking as a user after the binary package).11:18
wgrantnoodles775: Right. I'm looking at this since a friend complained how confusing it was.11:21
noodles775wgrant: as a user, I'd want those links (to the debs) to be available from the main PPA page. There's certainly room for a column with the built debs (when available) at https://edge.launchpad.net/~wgrant/+archive/experimental11:24
wgrantnoodles775: Well, PPA +index needs a bit of a rethink.11:25
noodles775wgrant: indeed... there was some thought put into it about 6 months ago, but never the time to actualise it :/11:26
wgrantCan I change PPA key generation to always use 'Launchpad PPA for <person.displayname>'? At the moment it will be named after the display name of your first PPA and then shared with the rest, which is almost always not what you want.11:34
bigjools+111:34
lifelessbigjools: briefly, before I crash11:34
lifelessbigjools: distro/+search11:34
bigjoolsyarp?11:34
lifelessdistro/series/+search11:34
lifelessdistro/series/arch/+search11:35
lifelessall return different objects11:35
lifelessthe /arch/ one I can understand11:35
lifelessdistro/+search is performing very badly11:35
lifelessnear-top timeout11:35
lifelessby volume, yesterday11:35
lifelessI'm wondering if you want them harmonised, and if so which objet - DSP or DSPCache is appropriate (assuming that the performance is acceptable either way)11:36
bigjoolslifeless: I'd need to think about it.  I don't recall the use cases for /arch and /series and it might be useful to talk to Ubuntu folks first.11:37
wgrantDo we log who uses pages?11:38
lifelessbigjools: so the thing I really care about is DSP/DSPCache, and AFAICT they are meant to be approx equivalent in UI11:38
bigjoolslifeless: I think DSPCache was invented for performance reasons, if we can do without it I'd be ecstatic since the script that generates the cache only runs daily.11:38
lifelesswgrant: effectively, yes.11:38
lifelessbigjools: ok, I will have a fiddle on staging tomorrow11:38
lifelessbigjools: also I have a favour to ask11:38
bigjoolslifeless: can I breathe yet? :)11:41
lifelessbigjools: the favour is this: have a look at11:41
lifelesshttps://lpstats.canonical.com/graphs/OopsEdgeHourly/11:42
lifelessand11:42
lifelesshttps://lpstats.canonical.com/graphs/OopsLpnetHourly11:42
lifelessabout 70 minutes after mthaddon finishes the timeout CP11:42
lifelessI was going to monitor this myself, but an orthogonal issue prevented the CP until now.11:42
bigjoolswhat are you CPing?11:42
lifelessif it has gone ballistic, roll it back11:42
lifelessbigjools: 1 second timeout drop11:42
bigjools /o\11:43
bigjoolsok11:43
bigjoolson soft or hard or both?11:43
lifelesshard11:43
lifelesssoft gets tweaked a little to match other reporting tools11:43
lifelesslpnet and edge11:43
lifelessI don't expect a disaster, or I wouldn't be doing it.11:44
lifelessbut if it is terrible, we have the tools to undo it rapidly.11:44
lifelessmthaddon: can assist rolling back the timeouts *if* needed.11:44
lifelessbigjools: are you up for this ?11:44
bigjoolslifeless: I'll monitor it for an hour or so then I have to go out11:45
bigjoolsI can pass the baton to someone else11:45
lifelessbigjools: oh, and as an expectation - 50 hard oopses an hour is tolerable11:45
lifeless200 hard oopses an hour - rollback11:46
bigjoolsgood data point, thanks11:46
lifelessthank you!11:46
* lifeless crashes11:46
bigjoolssleep well11:46
wgrantNight lifeless.11:46
deryckMorning, all.12:03
allenapMorning deryck :)12:08
=== almaisan-away is now known as al-maisan
jtvgmb: I have a faint recollection that ProductWithLicenses was one of yours.  Is that right?12:40
gmbjtv, No, mot I.12:42
gmb*not12:42
jtvI'll ask bzr then..12:42
* gmb ;unches12:42
* gmb learns to type12:42
jtvah, 'twas EdwinGrubbs12:43
jtvEdwinGrubbs: very minor bug in ProductWithLicenses.12:44
wgrantbigjools: http://bazaar.launchpad.net/~wgrant/launchpad/ppa-key-name/revision/1148612:51
bigjoolsheh ""Not Celso Providelo""12:55
wgrantbigjools: So, does it look reasonable?13:06
bigjoolsI can't think of a reason why it should not land13:06
wgrantOK, I'll propose it then.13:06
wgrantThanks.13:06
bigjoolscheers13:06
* bigjools -> lunch13:07
benjiwgrant: I got your script working in a virtualenv with the new launchpadlib; I did have to make some small changes: http://pastebin.ubuntu.com/487228/14:05
benjiI'm going to see if the changes I made indicate bugs in the latest launchpadlib or if they were intentional changes14:05
wgrantAh, great.14:06
benjispeed-wise, in unscientific testing I got no meaningful difference in total run time14:06
stubIs sourcepackage one word or two? I keep forgetting what we prefer?14:30
wgrantIt's capitalised as two.14:31
wgrantThere have been a few debates around this.14:31
=== Ursinha-zzz is now known as Ursinha
=== kiko` is now known as kiko
deryckadeuring, almost done on your review.  Some questions, just to be clear, though....15:02
deryckadeuring, there is no public api change here, right?15:02
adeuringderyck: yes, the api did not change15:02
deryckadeuring, and concerning the bits of the webservice test you added, the main reason for that test is to verify the app server is serving the librarian file?15:03
adeuringderyck: right15:03
deryckadeuring, so the bits that would fail if this were not true are the X-Powered-By header line?  The rest is just setup?15:04
adeuringderyck: yes; thoguh the X-powered-by header is not really important; the point is that "websevice.get(...)" returns the file data15:06
adeuringderyck: a corresponding test some lines up in that test connect to the Librarian in a completely different way to read a publci file15:06
deryckgotcha15:07
deryckadeuring, so what is the final webservice.patch for in the diff?15:07
adeuringderyck: some other tests later in that file need a public bug15:08
deryckadeuring, ah, because it's sample data based.  So I think we could expand the doc portion of this doctest to make this clear.15:09
adeuringderyck: i'll add a note15:10
deryckI do realize the webservice tests are kind of a weird page/doc test amalgam, but it wasn't obvious to me.15:10
deryckadeuring, so lifeless concern about this was that by serving files from the app server, we will most certainly have timeout issues now with private attachments via the API?15:17
deryckthat was a question, i.e. is that ^^ correct?15:18
adeuringderyck: it could be. But I am not 100% sure: IIRC, the timeout exceptions are raised somewhere "near" the storm layer -- but once we have the LFA ready, the request does not touch DB objects anymore15:18
deryckadeuring, so this wasn't lifeless concern then?15:22
deryckwhat was?15:22
adeuringderyck: no, as i understood him, these timeouts were his concern15:22
adeuring..perhaps aside from additional load for the app servers15:23
deryckadeuring, and you're suggesting that you're not sure you agree that timeouts will be an issue?15:24
adeuringderyck: well, we should test that ;) Should be easy: We just need to upload a sufficiemtly large file to the staging librarian and then to download it again via a sufficiently slow connection15:24
deryckadeuring, at any rate, we really don't have another option, short of the "enable retracers in dc" option that we cannot do, right?15:25
adeuringright. and regarind testing. there is even this linux kernel feature to throttle connections, about which I always forget how to use it15:26
deryckadeuring, ok.  I'm about ready to r=me this.  I asked gary_poster to take a look over my shoulder, just to make sure I'm not missing something.15:32
adeuringderyck: ok, thanks!15:32
derycksorry for paranoia, but I want this to go in without further problems.15:32
deryckadeuring, you could go ahead and ping losa to cowboy the patch to staging and performance test it, since that is a primary concern from lifeless.15:33
adeuringderyck: ok, though I think testing it tomorrow should fine15:33
deryckadeuring, well, ubuntu beta is today and they need the retracers running.  I'd like to end today telling them to point the retracers at edge and go for it, but I want to have confidence this will work.15:35
adeuringderyck: ok15:35
adeuringderyck: could you please add your review to to mp?15:48
deryckadeuring, yes, sorry.15:48
adeuringnpmp ;)15:48
deryckadeuring, you're ready to go now.  See my comments/reminder about the staging test.15:56
adeuringderyck: thanks!15:56
derycknp!15:56
=== matsubara is now known as matsubara-lunch
=== Ursinha is now known as Ursinha-lunch
=== salgado is now known as salgado-lunch
abentleyrockstar, here are the permission changes that are giving me grief: http://pastebin.ubuntu.com/487320/17:03
abentleyrockstar, or lp:~abentley/launchpad/recipe-interfaces17:04
=== benji is now known as benji-lunch
=== Ursinha-lunch is now known as Ursinha
=== matsubara-lunch is now known as matsubara
=== beuno is now known as beuno-lunch
=== salgado-lunch is now known as salgado
=== benji-lunch is now known as benji
=== deryck is now known as deryck[lunch]
=== gary_poster changed the topic of #launchpad-dev to: Code hosting offline 8.00-9.30 UTC on Friday 3rd September for unexpected hardware maintenance. http://is.gd/eRMxF | Launchpad Development Channel | Performance Tuesday | Week 3 of 10.09 | PQM is OPEN | firefighting: - | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews
jcsackettlifeless, you around today yet?18:59
=== al-maisan is now known as almaisan-away
=== beuno-lunch is now known as beuno
=== deryck[lunch] is now known as deryck
lifelessjcsackett: hi19:53
jcsackettlifeless: heya.19:53
jcsackettso, EdwinGrubbs and I have looked into what was plaguing me yesterday. Edwin may have found a fix for the test: http://pastebin.ubuntu.com/487390/19:54
jcsackettso, we may now be good. when i pinged you earlier, still no luck.19:54
jcsacketti do have the one extra query isolated, if you're interested.19:55
lifelesswhat is it19:55
lifelesslooking at your patch19:55
lifelessthe flush+reset would need an explanation at a minimum19:55
jcsacketthttps://pastebin.canonical.com/36645/19:56
jcsackettlifeless ^19:56
jcsackettand yeah, this is without comments; just seeing if it passes in the full suite.19:56
lifelessthat looks like _init to me19:58
lifelesswhat happens is that _init - a storm hook - is called *before* the variables are assigned20:01
lifelessPerson._init checks self.teamownerID20:01
lifelessand storm does an on-demand query to populate the attributes20:02
* jcsackett nods.20:03
jcsackettso this problem is already fix-committed, right?20:03
lifelessthe storm bug is yes20:04
lifelessfixing it though, uncovered a nastier one20:04
lifelesshttps://bugs.edge.launchpad.net/storm/+bug/62061520:04
_mup_Bug #620615: please contact the developers <Storm:In Progress by niemeyer> <https://launchpad.net/bugs/620615>20:04
lifelessbug 62876220:05
_mup_Bug #628762: propertycache adaption failures in test suite <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/628762>20:05
lifelessallenap: jfdi ;)20:05
lifelessoops graphs are looking good20:09
jcsackettlifeless: that does look unpleasant.20:12
lifelessslight increase on prod, edge seems unaffected \o/20:12
lifelessjames_w`: ping20:28
james_w`hi lifeless20:29
lifelesshiya20:29
lifelessjames_w`: so, swallowing eh20:32
james_w`yeah, I don't want to trigger exceptions20:33
lifelessI was starting to reply20:33
lifelessI figured I'd chat20:33
james_w`usually means that something has gone wrong, and so I don't want my tests to pass20:33
lifelesscleanUp is used from two locations20:34
lifelessas a cleanUp20:34
lifelessand from reset20:35
lifelessnow, cleanUp isn't nestable20:35
lifelessI mean TestCase.addCleanUp -20:35
lifelesscleanups are regular work-or-throw functions20:35
lifelessthey can't represent 2 exceptions20:35
lifelesswhat you have to do is to have two cleanups20:36
lifelessso, if TestCase.addCleanUp could in some way handle functions that want to blow up many times20:37
lifelesswe could change the fixture protocol to match20:37
lifelesshmm20:38
james_w`why not mandate that cleanups can be run multiple times?20:38
lifelesslets say we make TestCase.addCleanUpExt20:38
lifelessit takes things that yield exceptions20:38
lifelessand has an adapter that is used by addCleanUp20:38
lifelessto turn a regular function into a yields-exc-info20:38
lifelessjames_w`: because for existing trivial cleanups its undefined whether thats safe or not20:39
lifelessjames_w`: and for many, it won't be, or will raise the same way every time20:39
lifelessjames_w`: its also less general: it only helps with cleanUps that happen to be a loop-on-a-list20:40
lifelessmmm, now what about reset20:40
lifelessit will need to signal exceptions in the same way as cleanup20:41
lifeless(whether thats raise a MultiException with a list of exc_infos, or return an iterable, I dunno yet)20:42
lifelessit also needs to signal 'setUp failed'20:42
lifelessprobably any different exception would be sufficient for that - e.g. user caused exceptions are fine.20:43
lifelesstestresources optimisation should stop I guess if it sees reset fail, and skip all the tests with that fixture20:44
leonardrlifeless, can you tell me if http://pastebin.ubuntu.com/487402/ is ec2 being flaky or a real problem? i can't duplicate it locally and it seems to have nothing to do with my branch20:44
lifelessleonardr: line 18 is that storm bug I was discussing with jcsackett20:45
lifelessPerson._init being called to early20:45
leonardri see20:45
lifelessthe fingerprint is the id=%s  limit 1 call20:45
lifelessjames_w`: what do you think of my sketching ?20:45
sabdflhi folks20:46
james_w`lifeless: sounds reasonable to me20:46
lifelesshi sabdfl20:46
sabdfldoes the bug description deliberately specify a different font-face, or is that an bug?20:46
sabdflfor example, https://bugs.edge.launchpad.net/indicator-network/+bug/62116820:46
_mup_Bug #621168: Connection to encrypted hidden network fails <Connection Manager:Confirmed> <Network Menu:Confirmed> <https://launchpad.net/bugs/621168>20:46
sabdflnew font is looking pretty good generally, mono version on the way20:46
lifelessderyck: this ones for you I think?20:47
deryckah, yes.20:47
derycksabdfl, it's a bug.  It's falling back to the YUI css for some non-obvious reason.20:48
derycksinzui and I worked on this a bit already.20:48
beunoderyck, the YUI CSS is more specific than the one in LP, so it wins20:48
sabdflaha. low importance, i was just curious, but please do file it so it doesn't get lost20:48
derycksabdfl, will do.20:48
lifelessjcsackett: with your query count bug20:49
sabdflthanks deryck20:49
lifelessjcsackett: please use20:49
lifelessEquals(count), Equals(count + 1)20:49
lifelessjcsackett: so that we don't have to simulaneously change the tests when we get storm 0.1820:49
lifelessleonardr: changing the test you're hitting to be similar to the pastebin changes jcsackett pasted before - with a MatchesAny(Equals(n), Equals(n+1)) and a flush + reset should work around it.20:51
lifelessleonardr: I will be very happy when storm 0.18 arrives ;)(20:51
deryckbeuno, thanks for the "more specific" pointer20:51
beunoderyck, also, a different font may break the widget layout. You had worked on making them fluid rather than fixed, may of fixed the font-face problem20:52
beunoderyck, we may want to make lazr-js be less specific about CSS, so it doesn't end up being a battle between the projects' CSS and the widget20:53
deryckbeuno, IIRC, the font had to be specified to make it re-usable.  Changing the font will force changes to the widget, whether it happens in lazr-js on lp's use of the widget.20:56
beunoderyck, right. I was thinking of just specifying the font more generically on the DOM elements20:57
beunovaguely enough that it applies by default, but can still be easily overriden20:57
deryckah, so it does win in the specificity battle.20:58
beunoright20:58
beunootherwise we end up having to slap !important on20:59
beunoor have crazy CSS rules20:59
beunoeither way, LP still needs to catch-up with YUI 3.1.220:59
beunoso you will probably have to hack it in LP first20:59
beunothis was more of a for-the-future thought21:00
deryckright21:01
deryckthanks, I appreciate it.21:01
deryckand now we have bug 62906321:02
_mup_Bug #629063: Description editing widget should use the Ubuntu font <javascript> <ui> <Launchpad Bazaar Integration:New> <LAZR Javascript Library:New> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/629063>21:02
leonardrlifeless: do you want me to make that change in this branch, or is it ok to land my branch as is? ie. are you just telling me how to work around it for now?21:02
lifelessyour branch won't land because you're tickling the storm cache enough that you'll see that extra query. I don't know what your branch changes :)21:03
lifelessso you need to make that change in your branch, so you can land it. I'll happily review the workaround for you21:04
=== dobey_ is now known as dobey
=== abentley_ is now known as abentley
leonardrok21:35
leonardrlifeless: all right, see how http://pastebin.ubuntu.com/487469/ grabs you22:04
lifelessleonardr: that should be enough, yes. give it a sping - with XXX around the flush and reset saying 'bug 619017' please22:08
_mup_Bug #619017: __storm_loaded__ called on empty object <Storm:Fix Committed by therve> <https://launchpad.net/bugs/619017>22:08
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
bdmurrayIs there anyway to change an attribute in a zope macro?23:14
lifelessbdmurray: what do you mean?23:20
bdmurraylifeless: lib/lp/bugs/templates/bug-portlet-dupe-subscribers-content.pt uses subscriber-row from bug-portlet-subscribers-content and I want to chagne the title attribute in subscriber-row23:20
lifelesshmmm23:21
lifelessI don't tihnk so23:21
lifelessit also feels weird to me23:21
lifelesslosa ping23:23
lifelesshttps://staging.launchpad.net/successful-updates.txt  claims 973723:23
lifelessbut the running instance is 971023:23
lifelessspm: when you start, I know you want to crawl into a hole and hide; I have two small things batched up so that they don't interupt.23:44
lifelessspm: one is the staging thing above23:44
lifelessspm: the other is can you please put the canonical losa tag whatever it is onto https://bugs.edge.launchpad.net/launchpad-foundations/+bug/62913923:45
_mup_Bug #629139: cannot make production config changes <Launchpad Foundations:New> <https://launchpad.net/bugs/629139>23:45
Ursinhajcsackett, hello23:45
Ursinhajcsackett, just saw your comment on bug 623428 about the bug status change, I'm investigating23:45
_mup_Bug #623428: Don't get ZODB 3.10 by installing Zope2.13a <Zope 2:Triaged> <https://launchpad.net/bugs/623428>23:45
Ursinhahmmm23:46
Ursinhabug 62340823:46
_mup_Bug #623408: Offiical_* booleans must be deprecated in favor of usage enums <bridging-the-gap> <Launchpad Registry:In Progress by jcsackett> <https://launchpad.net/bugs/623408>23:46
Ursinhathere you go :)23:46
Ursinhait's not supposed to change the bug status, just tag it as untestable23:47
Ursinhabecause of the new merge workflow23:47
UrsinhaI'm taking care of it23:48
jcsackettUrsinha: thanks.23:50
mbarnettlifeless: spm: i have tagged that bug.23:51
lifelessmbarnett: oh awesome, thanks23:51
lifelessmbarnett: I figured you'd EOD when the ping fell into silence :)23:51
mbarnettlifeless: we had an austin meetup this afternoon.. was in transit home23:51
lifelessmeetup?23:52
mbarnetta bunch of canonical employees who live in the area worked from a coffee shop together for a couple hours.23:52
lifelessnice23:52
mbarnettyeah, i hadn't put a face on a couple people yet, so it was great.23:52
lifelessI met the closest canonical staffer to me, in prague :P23:53
lifeless(we both live in NZ)23:54

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!