/srv/irclogs.ubuntu.com/2012/06/11/#launchpad-dev.txt

lifelesslib/lp/app/templates/root-index.pt is hilarious00:17
lifeless            <div id="homepage-featured" class="homepage-portlet"00:17
lifeless                tal:content="cache:anonymous, 1 hour">00:17
lifeless              <tal:cache00:18
lifeless                  tal:content="cache:public, 5 minutes" tal:omit-tag="">00:18
lifelessyes, thats two conflicting cache rules in the same file, adjacent.00:18
mwhudsonis the latter nested in the former?00:18
lifelesswhy yes, funny you should ask that.00:18
mwhudsonawesome00:18
lifelessline 215,216,217,218 there00:18
* james_w waves to NZ00:22
lifelessI thought we had something that injected values into memcache for the home page00:24
lifelessbut I cannae find it00:24
lifelesshi james_w00:24
mwhudsonhi james_w00:25
mwhudsonlifeless: that sounds like something that would be suspiciously well designed for lp memcache00:25
lifelessbitter bitter00:26
* james_w now has tarmac updating sourcedeps.conf for config-manager, so that staging can autorollout changes across any branch involved in a deployment00:27
james_wthe next target should be the latency before deployment-manager sees that00:28
lifelessnice00:28
lifelessI would like to drop update-sourcedeps and put LP back to config-manager00:28
james_wyeah00:28
lifelesssince the functionality is basically identical, except that the sysadmins use config-manager :)00:28
james_wI was pondering about replacing config-manager with bzr-builder the other day00:28
james_wbut I'm not sure there's any benefit00:29
lifeless6/1 1/2 of the other00:29
james_wexcept for having one fewer codebase00:29
lifelesswell, neither is a superset of the other00:29
lifelessso I don't think you'd achieve that in the first instance.00:29
james_wthe reason I was thinking of that is that I thought it would be useful to have the "only do it if something is changed" feature of bzr-builder00:29
lifelessah, so there is something like that in update-sourcedeps00:30
james_wbut talking with web-ops led me to believe that having tarmac update things rather than relying on that is a better way to go00:30
lifelessshould be straight forward enough to give config-manager a similar hinting facility00:30
wgrantlifeless: Those memcache rules you quoted aren't necessarily wrong. They could be quite reasonable.00:30
lifelesswgrant: orly00:30
james_wthe only other small benefit I could see is the "manifest" that bzr-builder writes00:31
wgrantlifeless: And no, nothing injects. That was a proposal to remove HTTP access from the appservers.00:31
lifelesswgrant: you mean if the inner one ends short00:31
james_wthat is valid input, so you could deploy exactly to production what was in staging by linking up the output of one to the input of the other00:31
james_wbut we are close enough to that already I think00:31
lifelesswgrant: and even if it ends short, its wrong00:32
lifelesswgrant: you have to have your *longest* cache times at the innermost context.00:32
wgrantlifeless: It may be *misguided*.00:32
wgrantlifeless: But it's perfectly valid.00:32
wgrantlifeless: Why?00:32
wgrantThe top-level one caches for an hour for anonymous users.00:32
wgrantNon-anonymous users get lower expiration times.00:32
lifelessanyhow, gones now.00:33
lifelessthere are precisely two uses of memcache I'm a little wary of removing, but I'm willing to take the risk.00:33
lifelessI may need to go back and feature flag this change, somehow.00:33
lifelesswill see00:33
wgrantThe frontpage blogpost one can't really be removed.00:34
wgrantThe others can.00:34
lifelessthat is one of them00:35
lifelessand it can be00:35
wgrantlol00:35
wgrantLet's not call into a frequently down Wordpress on every RootObject:+index load,l please.00:35
lifelessthe other one is the global counts on RootObject:index.html00:38
lifelessaieee pageidblindness RootObject:+help-blueprints for /srv/launchpad.net/production/launchpad-rev-15190/lib/lp/blueprints/help00:39
wgrantlifeless: SELECT MAX(id) :)00:39
lifelesswgrant: they are currently cached, I'm assuming there is some insanity lurking.00:39
wgrantThere is.00:40
lifelesswgrant: so, we're meant to be using squid in the DC everywhere00:40
wgrantWhich is why you should SELECT MAX(id)00:40
wgrantlifeless: Ha ha ha00:40
wgrantlifeless: We do.00:40
lifelesswgrant: we get sensible headers from this wordpress:00:40
lifeless  Last-Modified: Wed, 06 Jun 2012 15:15:54 GMT00:40
lifeless  ETag: "3fafd55d87f99a8d01f330c4402a3b75"00:40
wgrantlifeless: Whether it's not broken or actually useful is another quesiton.00:40
wgrantOh00:40
wgrantThat's surprising.00:40
lifelesswgrant: so other than a check with webops that appservers are actually using it00:40
lifelessI'm not concerned.00:40
lifelessit is 37K of html to parse.00:41
wgrantlifeless: We also need to fix it to not crash if it can't retrieve it.00:41
lifelessbut we can move the caching into the model rather than template if we want to00:41
wgrantlifeless: We've used this as fault-tolerance in the past, and everything goes to shit if the cache happens to expire while it's down.00:42
lifelesswgrant: since you are here.00:43
lifelesswgrant: I'd like your opinion on the tal:cache in lib/lp/app/templates/base-layout-macros.pt00:43
lifelessAFAICT the entire block is removable as something insane00:43
lifelessbut, I'm likely misunderstanding it00:44
wgrantYou are completely misunderstanding it00:44
wgrantIt's unrelated to memcache; run away00:44
lifeless  <tal:cache condition="view/user|nothing"00:44
lifeless^ that memcaches its output00:45
wgrantNope00:45
wgranttal:FOO00:45
wgrantThe FOO means nothing.00:45
wgrantOnly the NS is important.00:45
lifelessOh, freaking lies.00:45
lifelesslies lies lies.00:45
lifelessHave I mentioned I loath some parts of tal ?00:45
wgrantIt just implies a no-op element and removes the need for the NS on attribute names.00:45
lifelessgrep caught it00:46
lifelesscause tal:cache was used by folk to setup memcache rules.00:46
lifelessthanks for 'splaining.00:46
lifelessbe nice to give it a clearer name.00:46
wgrantnp00:46
lifelessmy lp:memcache branch will be massive LoC win soon :)00:47
lifelesswell, s/massive/enoughtodosomethinginterestingwith/00:48
lifelessand pushing \o/00:49
lifelessmwhudson: bug 623199 lies00:52
_mup_Bug #623199: scripts do not establish valid zope participations <lp-foundations> <qa-untestable> <Launchpad itself:In Progress by mwhudson> < https://launchpad.net/bugs/623199 >00:52
mwhudsonthe 'in progress' part?00:52
lifelessand the assignee I suspect, part and parcel00:53
lifelessunless you are ...00:53
mwhudsonyes certainly that00:53
mwhudsoni guess it's a classic of not really specifying a condition of when it can be called done00:53
mwhudsonas i pointed out early on the title is also a lie, after all00:53
lifelesswgrant: bug 939055 - its alredy mmmmmmmmmm horrible00:53
_mup_Bug #939055: front page blog feed updates are done in-line with requests <canonical-losa-lp> <Launchpad itself:Triaged> < https://launchpad.net/bugs/939055 >00:53
lifelesssorry, cat got in there00:54
wgrantlifeless: Horrible but working.00:54
lifelesswgrant: yes, and when the blog is down, and memcache times out, the behaviour we see will be the same00:54
wgrantNo.00:54
mwhudsonlifeless: if you want to retitle it as "timelines are not automatically cleared when a new interaction is set up" then it's back to triaged00:54
lifelesswgrant: you'll need to unpack that.00:54
wgrantlifeless: We'll see it when the blog is down.00:55
wgrantNo memcache timed out required.00:55
wgrantCurrently a memcache timeout is required.00:55
lifelesswgrant: which is a mild increase in frequency increase00:55
wgrantlifeless: Before it can be removed we need to prevent it from crashing.00:55
lifelesswgrant: a 10 minute outage today has a 1 in 6 chance of showing the same crash.00:55
mwhudsonlifeless: if you want to retitle it "scripts use interactions which are not suitable for storing interesting things on" then its fix released00:55
lifelesswgrant: so no, we don't 'need' to.00:55
mwhudson(and you should file/find a new bug for that first thing)00:56
wgrantlifeless: This means it's impossible to perform any maintenance on the blog without bringing parts of Launchpad down.00:56
lifelessmwhudson: FR it please.00:56
lifelesswgrant: no, it doesn't, because it will still be cached, and we can trivially make that page a 60 minute cache as well.00:56
lifelesswgrant: via a one-line config change to squid.00:56
wgrantAh good, SPOFing ourselves even more on druzhnaya :)00:57
mwhudsonlifeless: https://bugs.launchpad.net/launchpad/+bug/62319900:57
_mup_Bug #623199: there is no way to store interesting data on the participation scripts set up <lp-foundations> <qa-untestable> <Launchpad itself:Fix Released by mwhudson> < https://launchpad.net/bugs/623199 >00:57
lifelesswgrant: vs memcaches non-resilient cluster, no significant difference.00:57
lifelessmwhudson: thanks00:57
wgrantlifeless: Well, the memcached cluster is not an Antarctic base and we haven't had major problems with it in the past.00:58
lifelesswgrant: so put numbers on this; whats the expect change, in % of our OOPS count per month.00:59
lifelesswgrant: did you remove the webservice entity cache stuf?01:04
wgrantlifeless: It's gone from LP, but not from lazr.restful.01:04
lifelesskk01:05
lifelessdarrens has confirmed, appservers are using druz for it.01:06
lifelessand we're getting -lots- of hits on it01:08
lifelesswgrant: another thing you've missed; you're assuming the front page is staying in memcache01:08
lifelesslast I checked our stats, we have a ridiculously low hit rate, partly due to high evictions.01:09
lifelessallenap: are you really hacking on bug 704585 ?01:09
_mup_Bug #704585: canonical_url performs poorly <timeout> <Launchpad itself:In Progress by allenap> < https://launchpad.net/bugs/704585 >01:09
lifelesswgrant: bug 61801901:14
_mup_Bug #618019: storm processing of result sets can be very very slow <lp-foundations> <Launchpad itself:Triaged> <Storm:Confirmed> < https://launchpad.net/bugs/618019 >01:14
lifelesswgrant: just retitled. Thats the one about cache handling and columns etc.01:14
lifelesswgrant: and/or bug 63214501:15
_mup_Bug #632145: handling of Specification result sets with 3000 rows is slow <Storm:New> < https://launchpad.net/bugs/632145 >01:15
lifelesshmm, can't find the bug about series/milestones having caching01:17
james_wanyone know if there's a standard for publishing structured content in an atom feed?01:25
lifelesshmm, we may have fun :) - 24 /    0  RootObject:index.html01:25
james_wi.e. for PuSH01:25
lifelessjames_w: 'atom'01:26
james_wfor something that isn't author/description/etc.01:26
james_wdescription = json.dumps(whatever) perhaps01:26
lifelessjames_w: its xml01:27
lifelessjames_w: putting json in xml would be fffffugly at best :)01:27
lifelessjames_w: however, atom has no DTD or validator01:28
lifelessjames_w: so, IIRC, you can just add any keys you want01:28
lifelesshttp://tools.ietf.org/html/rfc4287#section-601:29
lifelessjames_w: ^01:30
lifelessjames_w: are you looking at PSHB ?01:30
lifelessmwhudson: https://code.launchpad.net/~lifeless/launchpad/memcache/+merge/109551 if yo ufeel like a treat.01:35
james_wlifeless, yes01:36
lifelessjames_w: I'm very keen on PSHB, FWIW.01:37
james_wlifeless, the next question is how to convince a library to add arbitrary content :-)01:37
james_wlifeless, I know, the two are related :-)01:37
lifelessjames_w: :)01:37
=== lifeless changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: 3.47*10^2
lifelessjames_w: did your oops-tools patch fail ?03:39
lifelessjames_w: or we just haven't deployed.03:39
james_wlifeless, the branding one?03:39
lifelessyes03:40
james_wlifeless, it's waiting on tarmac or something03:40
lifelessjames_w: webops run that, and don't want the MP's, so a ping on -ops is the thing (which I've just done)03:47
james_wok03:48
lifelesscan has revu https://code.launchpad.net/~lifeless/launchpad/bug-1011390/+merge/10955903:54
stubdiff updating seems stuck there04:06
lifelessI see a diff04:08
stubr=stub04:10
stubI saw a diff. I also saw the yellow diff-is-updating blurb. Odd since there is only one unmerged revision?04:10
lifelesshuh, yes04:12
lifelessthat is indeed odd04:12
lifelessI only pushed to it the once04:12
lifelessstub: this may be more interesting https://code.launchpad.net/~lifeless/launchpad/memcache/+merge/10955104:12
lifelessstub: could you ec2-land the former branch? Still on my TODO is fixing my landing environment.04:12
stubhaha... when I move upstairs, yes :)04:13
lifelessstub: no rush04:13
lifelessstub: have a good weekend ?04:13
stubgood enough ;)04:13
lifelessbrb04:14
stubDid sod all besides a movie.04:14
lifelessnice04:16
lifelessI'm finally, as of late sunday, feeling human again04:16
lifelesssmall bit of sniffles is all that remains04:16
lifelessof course, cynthia is now teething again and didn't sleep at all last night ><04:16
* lifeless is spaced out04:16
stubhuh... I also see just 'updating diff' on that memcache mp04:16
adeuringgood morning07:30
allenaplifeless: No, I'm not. I've set it back to triaged.08:17
=== almaisan-away is now known as al-maisan
jmlReview of https://code.launchpad.net/~jml/launchpad/validate-ppa-owner/+merge/109529 sought.08:25
jmlalso, how can I tell when my db patch has been deployed?08:27
cjwatsonWatch http://lpqateam.canonical.com/qa-reports/deployment-db-stable.html; also IME one of the .au cabal will often tell you08:28
cjwatsonYou can also watch https://wiki.canonical.com/InformationInfrastructure/OSA/LaunchpadProductionStatus08:28
jmlcjwatson: thanks.08:29
jmlcjwatson: how did you qa your db patch?08:31
Gwaihirhello all, I have a small problema with a django app that is using launchpad lib to get user info, it gives an HTTPError code 401, saying the the token has expired, does anyone have an idea on how to this could be fixed? bug is #1010455 (repeating question from #launchpad channel)08:33
_mup_Bug #1010455: Patchmetric Login Token Expired <Linaro patch metrics:New> < https://launchpad.net/bugs/1010455 >08:33
cjwatsonjml: ran test suite on corresponding code branch with db patch both unapplied and applied; asked on -ops for somebody to tell me how long the db patch took to apply on (qa)staging so that I could ensure it was within the time limit08:35
jmlcjwatson: ok. thanks.08:36
cjwatson(which looks like /srv/launchpad.net-logs/staging/sourcherry/*-staging_restore.log on carob)08:37
=== jamestunnicliff_ is now known as jamestunnicliffe
jmlLP's permission system :(10:05
jmlI can figure out how to allow a new group of people the ability to *create* private PPAs, but I can't figure out how to let them *set* private.10:21
jmlHmm. Hmm.10:23
=== al-maisan is now known as almaisan-away
czajkowskijml: do you need any branches now made private if you do just shout and I can do it for you.10:25
jmlczajkowski: I think I'm OK thanks.10:26
=== almaisan-away is now known as al-maisan
=== matsubara is now known as matsubara-lunch
rick_hmorning10:38
rick_hivorykr8: howdy, welcome to the squad10:39
=== benji changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: benji | Firefighting: - | Critical bugs: 3.47*10^2
gary_posterivorykr8, welcome.  don't believe allenap, we're bots.12:09
rick_hgary_poster: that's just what a non-bot would say!12:12
gary_posterrick_h, my brother always lies.  I always tell the truth.12:12
=== matsubara-lunch is now known as matsubara
jmloh hey12:23
jmlon call reviewers!12:23
rick_hanyone recall if there's a way to python -m module:function ?12:24
rick_hI can get the module part, but not the function in the module12:24
jmlbenji: https://code.launchpad.net/~jml/launchpad/validate-ppa-owner/+merge/109529 is the first of three patches that needs review.12:24
jmlrick_h: python -c 'import module; module.function()'12:24
benjijml: I'll take a look.12:25
jmlbenji: thanks.12:26
rick_hjml: thanks12:41
=== jam1 is now known as jam
jmlbenji: sinzui has just approved that branch. https://code.launchpad.net/~jml/launchpad/p3a-private-team/+merge/109600 is the next one in the series.13:08
benjijml: ok13:09
=== fjlacoste changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivorykr8 | On call reviewer: benji | Firefighting: - | Critical bugs: 3.47*10^2
fjlacosteivorykr8: welcome!13:38
jelmer'morning fjlacoste13:39
jelmerhi ivorykr813:39
=== fjlacoste is now known as flacoste
flacostehi jelmer13:40
rvbaHi ivorykr8 and welcome to the team!13:41
deryckivorykr8, welcome!  Here's the link for the stand-up: https://plus.google.com/hangouts/_/4b599a50a7ebb329230ced7d9caef1ba95835bfc?authuser=0&hl=en14:02
deryckadeuring, likewise ^^14:02
=== al-maisan is now known as almaisan-away
mterryHello!  If I can see a private bug, I had thought that meant I can edit its privacy.  But I've encountered a crasher where that's not the case.  Is there a way to find out why I can't edit the privacy?14:50
mterry(this is bug 1011293)14:52
mterryNo bug bot?  :(  https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/101129314:53
bacwelcome ivorykr815:05
czajkowskiivorykr8: how are you doing on day 1 anything we can help you with ?15:18
ivorykr8well actually no i just try to get myself into python :)15:21
jmlhttps://code.launchpad.net/~jml/launchpad/remove-top-tests/+merge/109664 up for review15:32
jml(Heals 477 lines of damage)15:32
cjwatsonbenji: Thanks for your review on https://code.launchpad.net/~cjwatson/launchpad/pocket-permissions/+merge/109192; can you "Status: Approved" and I'll land it?15:35
benjicjwatson: sure15:35
james_wjml, delete it in the other branch too and score double!15:36
jmljames_w: well, ISTR objecting when it was first added.15:37
james_wI assume that was before testr slowest was added?15:45
jmljames_w: yeah, but it was after subunit reports were available from bin/test, I think.16:37
lifelessmorning everyone17:50
jmlis there a LoC score board?18:01
lifelessother than ohlo, no.18:01
lifelessand cjwatsons thing18:02
jmlta18:03
* jml has been mucking around with dmg18:04
lifelessbenji: hi18:05
benjihi lifeless18:05
lifelessbenji: if you're still on the review hook, perhaps you can do me a related favour18:05
lifeless05:59 < lifeless> anyone around to run an ec2 test command for me? Will get my environment fixed soon, I swear.18:05
lifeless05:59 < lifeless> https://code.launchpad.net/~lifeless/launchpad/memcache/+merge/10955118:05
lifeless(I asked in the wrong channel initially :P)18:05
benjilifeless: Instance starting.  I'll give you the URL when it presents itself.18:07
lifelessbenji: oh doh18:07
lifelessbenji: I mean 'ec2 land'18:07
lifelessnot ec2 test.18:07
benjiheh18:07
benjiok, restarting18:07
* lifeless stabs his lying fingers.18:07
benjiheh18:08
lifelessbenji: thanks18:08
jmlg'night18:10
=== jcsackett_ is now known as jcsackett
lifelessnight jml18:10
=== matsubara is now known as matsubara-afk
lifelessbenji: could you try again, if you're still around ?21:39
lifelessbenji: I've pushed a fix21:39
jcsackettwallyworld_, StevenK, wgrant: i don't think i'm making standup--i've been feeling progressively iller as the afternoon has worn on and i'm at the point where i just need to crash.21:50
jcsacketts/iller/more ill/21:50
=== salgado is now known as salgado-afk
wallyworld_jcsackett: sorry to hear that, get well soon22:01
benjilifeless: I was AFK.  Running ec2 land for you now.22:22
lifelessbenji: thanks!22:32
StevenKwgrant: Brian's branch also needs QA.22:45
StevenKAnd lifeless' r1538822:45
wgrantStevenK: Yes, but they're rather simple.22:46
* StevenK looks for an open team on qas to abuse22:46
lifelessStevenK: mine doesn't, just qa-ok it; no code changes22:53
lifelessconfig default value change + increased test coverage.22:53
StevenKwgrant: So my change sort of works. If you select/type an open team and hit Subscribe, the form submits and dumps you back to Branch:+index with no feedback, but they are not subscribed.22:56
wgrantStevenK: So the form has no error handling?23:00
StevenKwgrant: My code calls setFieldError(), so I'm not sure why that doesn't fire.23:01
wgrantStevenK: Simply setting a fielderror won't do much if the form isn't rendered.23:07
wgrantStevenK: You probably want to not set next_url in that case23:07
wgrantSo it doesn't redirect away23:07
wgrantNormally the validation is done in a validate method, not the action itself.23:07
StevenKwgrant: So I think the code may need a little more polish -- use a validate method on Branch:+subscribe like you say, and probably change the JS popup if the branch is private and the reviewer is an open team when proposing an MP.23:09
wgrantvalidate may be less appropriate here.23:09
wgrantLBYL is perhaps not a good idea.23:10
StevenKwgrant: Oh? What do you suggest then? A notification that "so-and-so not subscribed, this branch is private and they are an open/delegated team." ?23:11
wgrantPersonally I would alter the JS popup to not change anything, and just tell you that you're doing something stupid. Since it should become rare that people don't have access.23:11
wgrantStevenK: I'd probably have the action catch the exception and display an error.23:11
wgrantLike you do now, except in a way that actually works.23:11
StevenKHaha23:12
StevenKI thought setFieldError() would work :-(23:12
wgrantIt sets a field error.23:12
StevenKCreating an MP with an open team as a reviwer has them pop up as the reviewer, but they don't get subscribed.23:14
StevenKwallyworld_, wgrant: Parramatta got 90mm of rain yesterday.23:17
wallyworld_is that all?23:17
StevenKHah23:19
StevenKwgrant: So I think this is qa-ok for now, but I will come back to it after the DB patch o' doom.23:51
wgrantStevenK: Sounds good.23:53
wgrantSeems like you have a tonne of missing test coverage, thoguh.23:53
StevenKA test for the field error is there, and it passed. :-(23:53

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