/srv/irclogs.ubuntu.com/2010/09/13/#launchpad-reviews.txt

=== lifeless changed the topic of #launchpad-reviews to: On call: - || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
lifelessthumper: got 2 minutes?06:09
thumperyeah06:10
lifelessincremental eyeballs on a  branch of mine06:10
lifelessjust need to know if one commit is sane06:10
lifelesshttp://bazaar.launchpad.net/~lifeless/launchpad/oops/revision/1152906:10
* thumper looks06:10
lifelesswell, I know its sane, but maybe I'm wrong :P06:10
thumperfcking loggerhead06:11
lifelessbasically I missed some stuff and ec2 found it for me06:12
thumperlifeless: I'm pretty sure you don't need the ... on a line between Traceback (most recent call last): and the exception itself06:14
thumperlifeless: it is handled by the doctest06:15
thumperlifeless: but up to you if you feel like removing it06:15
lifelessoh, ok, I was following suite06:15
thumperyeah06:16
thumperI don't think many people know about that06:16
thumperand I don't think we have a standardised practice06:16
lifelessshrug06:16
lifelessdoctest spec says it ignores it or something06:16
lifelessI don't think standardising that is going to be helpful06:17
lifelessthumper: so its ok?06:29
lifelessmwhudson: ping06:35
lifelessmwhudson: https://code.edge.launchpad.net/~lifeless/launchpad/memcache/+merge/35220 you approved but you didn't comment, ec2land hates that06:35
lifeless(probably suffered in the timeout mess we had)06:35
lifelessjtv: I'm guessing mwhudson has EOD'd, perhaps you could be a proxy for him ?06:36
jtvlifeless: what's it about?  I'm stuck in the rain using batteries and a GSM, so hard to load entire LP pages.06:37
lifelessmaking memcache controlled by feature flags06:37
lifelessits been reviewed by mwhudson06:38
jtvbut not landed?06:38
lifelessbut he forgot the vote bit :P06:38
jtvI can land that when the rain stops and I get home.06:38
lifelessso its marked approved, has a comment from him saying approved, but no -vote-06:38
StevenKNo one has claimed the review06:38
lifelessStevenK: you don't need to claim06:39
lifelessjust do a review, and if you're in the team you effectively claim it06:39
jtvStevenK: we had a bug for a while where you had to claim the review before you could do it, but that's been fixed.06:39
jtvStevenK: can you take this one then?06:40
StevenKthumper: Are you around to rubber-stamp too?06:40
StevenKlifeless: That should be good now?06:42
lifelessthanks06:42
StevenKlifeless: Now read my PM, damn it :-P06:42
lifelessdid you have a question in there?06:42
lifelessI thought it was just commentary ;P06:42
StevenKI was expecting at least a comment on the commentary :-)06:43
lifelesssorry, magic 8 ball says ask again later06:43
henningejtv: good morning!08:17
jtvhi henninge!08:17
henningejtv: you are not on irc.c.c08:17
henninge;-)08:17
jtv:(08:17
jtvI guess it's something this provider blocks… _sometimes_08:17
jtvOr at least, it used not to.08:17
=== henninge changed the topic of #launchpad-reviews to: On call: henninge || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
henningestrange08:18
jtvno, it's technically illegal for me to connect to the internal IRC server (and due to contradictory laws, there's no legal way for the provider to let me connect to any chat at all)08:19
jtvI'll set up an illegal proxy.  Hang on.08:20
henninge:-D08:21
henningejtv: I'll come visit you in jail ...08:21
jtvNot sure that's allowed.08:21
henninge... good reason for a sprint in Bangkok.08:21
jtvThey make you pay extra for the right to sleep on the floor—not sure sprint facilities are in the cards without serious bribery.08:22
henningeWe'll expense it.08:23
henningeSo, jtv, how is life in Mordor?08:28
jtvhenninge: well the first thing you notice is this enormous black cloud hanging over it08:29
jtvI don't care much for the constant nazgûl patrols either.08:29
henningeyes, that does get your spirits down.08:29
henningeI hear the black gate is about to open!08:30
henningebut you should not leave that way, there's a huge human army waiting on the other side.08:30
noodles775stub or lifeless: time to look at a schema MP? https://code.edge.launchpad.net/~michael.nelson/launchpad/627957-differences-schema-update/+merge/3507308:33
stubnoodles775: versien isn't spelled that way08:43
noodles775hrm... "base version to derived versien." I'll update it.08:44
stubnoodles775: So source_version and parent_source_version are debian version strings? If so we might want a CHECK constraint to ensure that.08:45
stubALTER TABLE DistroSeriesDifference ADD CONSTRAINT valid_source_version CHECK (valid_debian_version(source_version));08:46
noodles775stub: yes they are. Thanks.08:47
stubnoodles775: With the new UNIQUE constraint, you can drop the distroseriesdifference__derived_series__idx index.08:49
stubnoodles775: The name of the new UNIQUE constraint should be distroseriesdifference__derived_series__source_package_name__key08:50
noodles775stub: Great - I didn't realised the two-column index makes the single-column foreign-key index redundant. And yep, I'll rename the constraint.08:51
stubSo a NULL diff means it hasn't been calculated yet I assume. What do NULL versions mean? Probaly worth clarifying this in comments.sql08:51
noodles775stub: yes, different types of differences... (unique to the derived series, missing from the derived series etc.). Should there be a constraint to ensure that both are not null together?08:51
noodles775stub: er, ignore that (I was thinking about the versions fields).08:52
stubIf that is what our code expects, then yes. ALTER TABLE DistroSeriesDifference ADD CONSTRAINT valid...08:52
stubok08:52
stubnoodles775: patch-2208-12-0.sql08:53
noodles775*sigh*. I need a tea. So yes, you had asked about NULL versions, so we should have a constraint to ensure both versions are not null.08:54
noodles775Thanks.08:54
stubIf only one or the other can be NULL: ALTER TABLE DistroSeriesDifference ADD CONSTRAINT valid_versions CHECK (source_version IS NULL != parent_source_version IS NULL)08:55
noodles775Great, thanks.08:55
stubIf we just want to check at most one is NULL: ALTER TABLE DistroSeriesDifference ADD CONSTRAINT valid_versions CHECK (coalesce(source_version, parent_source_version) IS NOT NULL)08:56
stubor just 'source_version IS NOT NULL OR parent_source_version IS NOT NULL' is better08:58
noodles775Yep.08:58
stubI'm not sure which of those two rules is appropriate08:58
stubCan they both be NULL? Can they both be NOT NULL?09:00
noodles775They cannot both be null, but they can both be NOT NULL.09:00
stubok... so CHECK (source_version IS NOT NULL OR parent_source_version IS NOT NULL)09:02
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
jcsackettsalgado, ping.13:59
salgadojcsackett, hi there.  let me guess, it's about that UI review? :)14:00
jcsackettyup. :-) just making sure you knew about it.14:00
salgadojcsackett, I do, yes.  haven't done it yet because I was off last Thursday and Friday, but will do it shortly14:01
jcsackettsalgado. very cool. thanks!14:01
adeuringhenninge: could you review this mp: https://code.edge.launchpad.net/~adeuring/launchpad/bug-581626/+merge/35281 (short, simple, boring)14:27
=== Ursinha-afk is now known as Ursinha
henningeadeuring: looking14:30
adeuringthanks!14:30
=== henninge changed the topic of #launchpad-reviews to: On call: henninge || Reviewing: adeuring || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
henningeadeuring: "The text for each bigs ..." is meant to be "bugs", I guess.14:45
adeuringhenninge: ouch... yes, or course14:45
henningeadeuring: also, the for loop cound be a function that you can use twice, e.g. "print_bug_links"14:47
henninges/cound/could/14:47
adeuringhenninge: make sense, I'll add this function14:47
henningeadeuring: with that: r=me ;-)14:47
adeuringhenninge: thanks!14:48
=== henninge changed the topic of #launchpad-reviews to: On call: henninge || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
salgadojcsackett, did you see that your branch has a few conflicts?14:50
salgadonm, I reloaded the page and see that they're now fixed14:50
jcsackettsalgado: phew. i was confused for a sec--was sure i had done an update this morning. :-)14:51
bacjml: can you review https://code.edge.launchpad.net/~bac/launchpad/cherrypick-633926/+merge/35286  for a cherry pick?14:52
jmlbac, sure. after this call.14:52
bacjml: thanks14:52
=== abentley changed the topic of #launchpad-reviews to: On call: henninge, abentley || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== henninge changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
jtvabentley: got time for one just under the review limit?  It's this one: https://code.launchpad.net/~jtv/launchpad/templates-listing/+merge/3518516:19
abentleyjtv, sure.16:19
jtvcool, thanks16:19
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: jtv || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
abentleyjtv, did you end up testing this with chameleon?16:29
jtvabentley: no, just compared to devel16:30
abentleyjtv, do you think it's likely that chameleon will soon become our template engine and invalidate this work?16:33
jtvabentley: I don't know about "invalidate"—if chameleon would be faster than this, then maybe.  But would we be enthusiastic about moving conditionals into the TAL?16:34
abentleyjtv, you said "If the new template engine turns out to be faster than straight-through python code, then we should probably scuttle this branch."16:35
jtvYes.  Do you think it will be?16:35
jtvBecause the speedup I'm seeing is not to be sneezed at.16:35
jtvI think it can go one of two ways:16:36
abentleyjtv, I don't know.  You suggested that was possible, and it seems like a risk to me.  AIUI, chameleon is compiled to pyc, so its performance is equivalent to python.16:36
jtv(a) We hold this branch back and wait, and continue to suffer performance problems and continue to hate the logic and model access we put into the TAL, and _maybe_ chameleon will solve the performance part.16:37
abentleyjtv, I am not sneezing.  I am looking at the issues that have been raised about this code and trying to determine their status.16:37
jtvabentley: I hope I don't sound contrary.  You're raising valid points and I'm trying to give you a useful answer.16:38
abentleyjtv, I don't have any idea yet of whether we should merge this.16:39
jtv(b) We land this branch, and then later maybe find that chamelon is super-fast in which case we move stuff back into TAL, but I think keeping some things in the view to keep the TAL nice and readable.16:39
abentleyjtv, I don't know how feasible it is to try it out in chameleon, even if it is in tree.16:40
jtvI have no idea either…  one thing though: adi and danilo did say that a lot of the overhead was seemed to be in link formatters rather than in TAL per se.16:40
jtvScratch the "was."16:41
jtvBut they identified the worst time sinks at the time, and addressed those.  After that I suppose the picture become more diverse, as it goes.16:41
abentleyjtv: in the b) case, I always worry about whether there will be follow-up.  If there isn't we get tech debt.16:42
jtvTrue.  And in this case I think we have it either way: browser code that could be in TAL, or TAL code that could be in the view.16:42
jtvBut I think the tech debt only happens if either chameleon turns out to be blazingly fast (since tonight I think it's not going to match the kind of speedup I got) or we want some change that matches very poorly with my browser code.16:44
jtvI'm using "since" in the purely temporal sense here.16:45
abentleyOkay, I'm comfortable with that.16:46
jtvNote that the main loop is still TAL, so we may still get _some_ speedup from a faster templating engine.  ;-)16:47
jtvI'm being flippant.16:48
jtvNote to self: don't do that in reviews.16:48
abentleyjtv, since the purpose of constructTemplateURL(self, template) is to allow optimization, would it help to take a list of templates and return a list of URLs?  That way you could do it in one database hit.16:49
jtvabentley: cool idea!  But the templates are already fetched at that point.  Adi & Danilo took care of that.  Only 11 queries for the entire page!16:50
abentleyjtv, Ah.  So it's not generating lots of links?  Or it's generating lots of links but without lots of DB cost?16:52
jtvabentley: the latter.16:52
jtvFetches all that information in one go.  There'll be a bit of Storm work to patch up the references, but that's it.16:52
=== matsubara is now known as matsubara-lunch
abentleyjtv, Do you know why canonical_url is slow?  Would you lose your performance gains if you used the ObjectFormatter directly?16:59
jtvabentley: permissions checks seem to be the main culprit.16:59
jtvThat's why I also wanted the "context/required:launchpad.AnyUser" out of there.  I don't know whether that will "walk the tree."17:00
jtv(from the current object up to the site root, that is)17:00
jtvcanonical_url is recursive, and could possibly do with some caching for this sort of repetitive work.17:01
jtvI say "possibly" because I think it'd have to be one of those ultra-small, catch-one-common-case caches.17:01
jtvWhich is easy for me to say, but who knows if it actually works out (and faster than not doing it)17:02
=== salgado is now known as salgado-afk
abentleyjtv, what's the purpose of getUserAndEmail?17:15
abentleyjtv, I mean, _makeUserAndEmail17:15
jtvabentley: to create a user that I can log in as17:15
abentleyjtv, You can log in as anyone you create with factory.makePerson().17:15
jtvSo small that it's not worth moving to a factory, but it saves just enough that it's useful for the test17:15
jtvCan I just do login(person.email)?17:16
abentleyjtv, You know about login_person and "with person_logged_in"?17:16
jtvNo17:16
* jtv greps17:16
abentleyjtv, lp.testing, I believe.17:17
jtvyup, found it.  I'll use that fortwith.17:17
jtvforthwith.17:17
jtvI'll also pull the login out of _makeView17:21
abentleyjtv, cool.17:25
jtvabentley: change pushed.17:25
abentleyjtv, r=me17:29
jtvabentley: \o/ thanks!17:30
=== Ursinha is now known as Ursinha-lunch
=== deryck is now known as deryck[lunch]
=== Ursinha-lunch is now known as Ursinha
=== matsubara-lunch is now known as matsubara
=== deryck[lunch] is now known as deryck
=== jcsackett changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: jtv || queue: [jcsackett] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
jcsackettjtv: https://code.edge.launchpad.net/~jcsackett/launchpad/no-canonical-urls-628247/+merge/3530119:43
jcsackettjtv, ignore me, i misread the header. :-P19:45
jcsackettabentley, instead i must bother you with the above. :-)19:45
abentleyjcsackett, no bother.19:45
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: jcsackett || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
abentleyjcsackett, Could you explain the conditional in lib/canonical/launchpad/interfaces/validation.py, please?19:49
jcsackettabentley: sure, that's sort of the crux of the fix. previously in that file it just fetched an email address and then the email address's Person and constructed the error message in the last clause (the else block). the bug this is fixing would then be introduced if you had an account in some state of inactive/unfinished, which would claim the email but had no person.19:51
=== Ursinha is now known as Ursinha-brb
jcsackettthe if block there now fetches the best association the email address has, and then determines what sort of entity it's working with to create as informative a message as possible.19:51
abentleyjcsackett, I'm not sure that getEmailAssociation is generally-useful.  Have you considered formatting it as "checkAddressAvailable" which would raise an exception with the relevant text?19:56
jcsackettabentley: i did; i think i was influenced by the other validators in the file--something about a validator just repackaging an exception bothered me, but not in a way that i can articulate well enough to argue the point. :-P19:59
jcsacketti'll make that change.20:00
abentleyjcsackett, cool.  My main reason is it looks unnecessary to have the same three-way conditional in two spots.20:00
abentleyjcsackett, it looks like you have unnecessary wrapping on 182 and 282 in the patch.20:01
abentleySorry, 182 and *202*20:02
abentleyjcsackett, why the blank line at 76?20:03
jcsacketton 202 lint complained before; i didn't check if it was right, just wrapped it. could be lint or i got confused. 182 you're right, i had to wrap an earlier version and didn't unwrap it.20:04
jcsackettabentley line 76 looks like my editor's import reflow macro errorred. fixing that as well.20:04
abentleyjcsackett, at 187, can you pass in an email address so you don't need to remove the security proxy later?20:06
jcsackettabentley: i can.20:06
abentleyjcsackett, please do, then.20:06
jcsackettabentley: just did. :-P20:07
abentleyjcsackett, I think that's all the changes I can see.20:08
jcsackettabentley: going back to your thoughts on "getEmailAssociation" how do you feel about it returning an error_msg or none, and checking that? the flow of calling a function expecting nothing to happen at all and then reraising an exception feels sort of off.20:09
abentleyjcsackett, you could just raise LaunchpadValidationError.20:10
jcsackettabentley: ah yes. that's obvious. i must need more coffee.20:11
jcsackettthanks.20:11
abentleyjcsackett, np.20:12
abentleyjcsackett, oh, your spelling of "associaiton" should probably be tweaked if that text makes it into the final version.20:13
jcsackettabentley: agreed, but i don't think the comment will survive the refactor. :-)20:13
derycksinzui, hi.  Can you do a CSS/UI review for me?20:24
sinzuideryck, I can, but I hope salgado-afk can have a turn first so that he can become a UI reviewer20:25
deryckAh, ok.  I can request him as a reviewer and wait.  I'm not in a hurry.20:25
abentleyjcsackett, you'll ping me when you've pushed your changes?20:33
jcsackettabentley: i was just about to ping you, as a matter of fact. changes pushed and an incremental diff added as a comment.20:33
abentleyjcsackett, thanks.20:33
jcsackettabentley: np.20:34
abentleyjcsackett, if you attach it, rather than pasting it inline, it'll be rendered as a diff.  But I'm actually working on implementing automatic incremental diffs.20:35
jcsackettabentey: that's good to know, thanks.20:35
jcsackett(both the attach, and the incrementals being automatic)20:35
abentleyjcsackett, r=me.20:37
jcsackettabentley: thanks. and thanks for helping me rethink that--in retrospect that was some truly ugly code. :-)20:37
abentleyjcsackett, np.20:37
=== sinzui changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: jcsackett || queue: [sinzui, sinzui, sinzui] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
sinzuiabentley, I have a few branches from the weekend that can be reviewed (they are low priority)20:48
abentleysinzui, okay, OTP.20:48
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: sinzui || queue: [sinzui, sinzui] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== matsubara is now known as matsubara-afk
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: sinzui || queue: [sinzui] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: sinzui || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
=== abentley changed the topic of #launchpad-reviews to: On call: abentley || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
mwhudsonlifeless: i'm pretty sure i voted on everything, but maybe stuff got eaten by the issues yesterday :(21:52
lifelessyes21:54
lifelessyou can check if you want :P21:54
=== abentley changed the topic of #launchpad-reviews to: On call: - || Reviewing: - || queue: [] || This channel is logged: http://irclogs.ubuntu.com/ || https://code.launchpad.net/launchpad/+activereviews
mwhudsoni thought i did check everything22:30
mwhudsonoh well22:30
lifelessmwhudson: you commented 'seems fine', approved the rview, but your comment wasn't marked 'approve'22:38
mwhudsonah22:38

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