/srv/irclogs.ubuntu.com/2009/12/24/#launchpad-reviews.txt

=== jelmer_ is now known as jelmer
jmlhello!07:10
jmlfun & short patch here: https://code.edge.launchpad.net/~jml/launchpad/import-fascist-tweaks/+merge/1656007:10
al-maisanhello jtv, bugging you re. https://code.edge.launchpad.net/~al-maisan/launchpad/pending-jobs-499861/+merge/16550 as requuested :)07:13
al-maisanhello jml, could we trade reviews please?07:22
al-maisanjml: I am looking at your import fascist branch right now :)07:23
jmlal-maisan, thanks.07:24
jmlal-maisan, which branch do you want me to review?07:24
al-maisanjml: https://code.edge.launchpad.net/~al-maisan/launchpad/pending-jobs-499861/+merge/1655007:24
jmlal-maisan, will do.07:24
al-maisanjml: thanking you.07:24
wgrantDoes anybody know what happened about bug #500018?07:26
al-maisanwgrant: I guess nothing so far07:27
wgrantal-maisan: OK, there was some discussion about finding somebody to cowboy it.07:29
al-maisanwgrant: I'll need to touch base with jelmer and/or get the hole plugged myself07:29
al-maisanwgrant: I will start on it in 20 minutes or so.07:30
al-maisanjml: the imports code you removed from lib/lp/soyuz/model/archive.py : were they just superfluous?07:36
* jml looks07:36
jmlal-maisan, they were, after I deleted the two lines like:07:37
jml-        source_package_name = getUtility(ISourcePackageNameSet)[source_name]07:37
jmlal-maisan, those lines assigned to an unused local variable07:37
jmlal-maisan, and have no obvious side-effects07:37
al-maisanjml: I see, thanks!07:37
al-maisanjml: the changes in lib/lp/scripts/utilities/importfascist.py look reasonable, did you test them in any way?07:42
jmlal-maisan, the fascist itself doesn't have tests that I can find.07:43
jmlal-maisan, I've been running the fascist locally.07:43
al-maisanjml: but I guess running anything will exercise it07:43
jmlal-maisan, correct.07:43
jmlal-maisan, I've hammered & sent out an email reply to your review07:58
jmlal-maisan, to your patch, rather.07:58
jmlal-maisan, I'm going to get some food now, but I'll be back in a bit to handle round #207:59
al-maisanjml: thanks, I am just running "bin/test -vv -t mail -t archive" in your branch to be on the safe side07:59
jmlal-maisan, heh. thanks. though I was certainly going to submit it via ec2 test in any case.08:02
al-maisanjml: FYI, the test on line 2407 in doc/archive.txt is failing08:06
al-maisanhttp://pastebin.ubuntu.com/345778/08:07
jmlal-maisan, I guess those lines do have side effects!08:08
al-maisanjml: yeah .. either deliberate or inadvertent ones :P08:09
jmlal-maisan, I see what's going on....08:13
jmlal-maisan, getting the sourcepackagename object there gives a good error for those functions if it doesn't exist08:13
jmlbut that's all it does08:14
jmlI'll remove the local assignment to keep pyflakes happy and add a comment saying why we do something that appears useless at first glance.08:14
al-maisanjml: ah, OK, it's a deliberate point of failure.08:14
jmlal-maisan, http://pastebin.ubuntu.com/345781/08:15
* jml really dining now.08:16
al-maisanjml: with the change in the pastebin above: r=me08:18
al-maisanhmm .. clicking on "Claim review" on https://code.edge.launchpad.net/~jml/launchpad/import-fascist-tweaks/+merge/16560 results in an OOPS08:19
al-maisan.. a reproducible one08:20
al-maisanhttp://pastebin.ubuntu.com/345785/08:20
jmlal-maisan, I've heard mention of a similar bug...09:03
al-maisanjml: after refreshing the page, the review would appear to be claimed by me and I was able to finish the review approval workflow.09:04
jmlal-maisan, hmm. I can't find a record of that in the bug tracker.09:06
al-maisanjml: would you like me to add a bug?09:06
jmlal-maisan, yes please. assign it to thumper, I reckon.09:06
al-maisanjml: will do.09:06
jmlal-maisan, I'm just about to sign off for the year. Do you want to go one more round on the buildJobQuery branch first?09:08
al-maisanjml: ideally yes, I am about to reply to your review email. It will take another 5 minutes or so.09:10
jmlal-maisan, no worries.09:12
al-maisanjml: reply sent.09:16
jmlal-maisan, thanks. 09:17
adiroibanal-maisan: hi. Do you have time for landing this branch https://code.edge.launchpad.net/~adiroiban/launchpad/bug-492375/+merge/16279 ? Thanks! I have done a full test and everthing was ok.09:19
al-maisanadiroiban: yes, I'll do it in the course of the next hour or so..09:20
al-maisanjml: fixes to the branch under review so far: http://pastebin.ubuntu.com/345813/09:22
jmlal-maisan, replied.09:37
jmlal-maisan, if the classProvides / interface thing is too much, I guess adding a XXX would be OK, but I think that for this particular area of work, we should be trying very hard to avoid tech debt.09:37
jmlal-maisan, (he says by way of a postfix)09:37
jmlal-maisan, good night. I'll see you in the new year.09:38
al-maisanjml: thanks for looking at this, have a great break!09:39
=== jtv1 is now known as jtv
jtvhenninge: I'm working on an MP for our buildfarm work... you up for a review?12:00
jtval-maisan: which reminds me... did you find a reviewer for yours?12:00
henningejtv: sorry no, my year is almost done.12:01
al-maisanhello jtv, yes, jml reviewed the branch but it would be good if you could rubber-stamp it once I have the changes he requested in place.12:01
al-maisanjtv: how long will you be available today?12:01
jtval-maisan: ok, I'll be around for a few more hours12:01
al-maisanjtv: I should have something in the next hour or so..12:02
jtvI'm just putting up my MP, though if you land an extension to IBuildFarmJob first, it will break my test.  :-)12:02
al-maisanhenninge: how about you? Are you working normal hours today?12:02
al-maisanjtv: that's a concern .. why would it break the tests though ?12:03
al-maisanthere is a minimal implementation of the 3 methods added to the interface12:04
jtval-maisan: because my test verifies that my IBuildFarmJob implementation really does provide all of the interface's API12:04
jtvoh, if there is a minimal implementation in BuildFarmJobBase then it won't break things12:04
henningeal-maisan: no, got the afternoon off.12:04
al-maisanOK12:05
jtval-maisan: my mp is up12:55
jtval-maisan: want to review each other mutually?12:55
al-maisanjtv: I can review your branch but mine is not ready yet13:04
jtval-maisan: then you can't review mine either, because you've got other things to do.  :-)13:04
al-maisanjtv: if you give me 30 minutes it may work out for both of us.. 13:05
jtv\o/13:05
al-maisanjtv: OK .. ready now .. please note that jml already approved of the branch (https://code.edge.launchpad.net/~al-maisan/launchpad/pending-jobs-499861/+merge/16550) ..13:45
jtval-maisan: I was just reading up on the preceding review thread13:45
al-maisan.. provided I fix a few things13:45
al-maisanthe fixes are here: http://pastebin.ubuntu.com/345918/13:46
al-maisan.. and I am just pushing the branch13:46
jtval-maisan: btw what exactly does virtualization mean here?  That the slave must be in a vm?13:47
al-maisanyes13:47
jtval-maisan: that'll become relevant when I update the branch I just put up for review to match the one you're having reviewed.  :-)13:48
al-maisanjtv: as I said before: if your branch lands first I will add a perfunctory getPendingJobsQuery() to your class in my branch to avoid breakage13:49
jtvoh, I read that differently earlier... thanks.13:50
jtval-maisan: "get" as a bit generic and over-used as an opening verb for method names...  how about composePendingJobsQuery to reflect that it puts together a textual query?13:59
jtv(This is a verb I use a lot in these situations)13:59
al-maisanjtv: OK .. that's fine.13:59
jtvthanks14:00
jtval-maisan: and in its docstring, the docs for min_score and processor end without punctuation.14:05
al-maisanjtv: will fix that.14:05
jtvthx14:05
jtval-maisan: in the test you use processor='386'...  not 'i386'?14:07
al-maisanyes, you can see it in the psql excerpt I have in the test as well14:07
jtvoh well, not our problem14:08
al-maisanjtv: line 232 for example14:08
jtval-maisan: here's my mp btw: https://code.edge.launchpad.net/~jtv/launchpad/db-bug-499404/+merge/1656414:11
al-maisanjtv: thanks -- I am free to look at it now .. sorry for the delays14:11
jtvstop apologizing!14:12
* al-maisan apologizes for apologizing ;P14:12
* jtv glares back14:13
al-maisanjtv: the changes you suggested: http://pastebin.ubuntu.com/345928/14:13
jtvlooks fine14:14
al-maisanjtv: thanks!14:15
jtvThe comment you added in TestBuildPackageJob.setUp chains two "so that"s14:15
al-maisanOh!14:15
jtvAnd I see that elsewhere you use x86 instead of 386 (or i386 or IA32 or 80x86...)14:16
jtvBut not worth changing that last bit.14:17
al-maisanhmm .. ok14:17
jtvI didn't know about classProvides btw; it's a bit meta but it does look useful14:18
jtvWonder how we test for it.14:18
al-maisanjtv: the tests in the branch exercise the method specified in the interface mentioned in classProvides()14:20
jtval-maisan: I was thinking of "make a test verify that the class really provides the complete interface"14:21
al-maisanjtv: it's only one method in this case14:22
jtvTrue...  sometimes though I come across methods whose interface definitions and model-class definitions have grown apart14:23
=== jelmer_ is now known as jelmer
jtvImagine that you add a parameter to that one method: it'd be nice if all classes had tests verifying that they support the new parameter.14:23
al-maisanjtv: hmm ... I see what you mean .. /me starts grep'ing for classProvides in tests14:24
* al-maisan finds from canonical.launchpad.webapp.testing import verifyObject14:29
jtvWho knows, it might work on classes and classProvides as well as objects and implements14:30
al-maisanhmm..14:30
al-maisan    def test_providesInterface(self):14:30
al-maisan        """Ensure that BranchDiffJob implements IBranchDiffJob."""14:30
al-maisan        verifyObject(14:30
al-maisan            IBranchDiffJob, BranchDiffJob.create(1, '0', '1'))14:30
jtvYes, you normally pass it an interface and an object14:30
jtvI've been looking for mentions of interfaces that this is used for in tests, but zip so far14:31
jtvah! lib/lp/code/model/tests/test_diff.py14:32
jtvverifyObject(IMyInterface, MyClass)14:32
al-maisanyep14:32
al-maisanjtv: the changes discussed: http://pastebin.ubuntu.com/345943/14:38
jtval-maisan: perfect, thanks14:39
al-maisanjtv: thank *you*14:39
jtvI'm about ready to give that rubber stamp now.  :-)14:39
al-maisanjtv: you are one picky reviewer ;)14:39
jtvyup14:39
* al-maisan feels compelled to type "meine Rache wird bitter sein" for some reason :-)14:40
jtvHmm... nicht süß?14:40
al-maisanjtv: na ja, das auch :)14:41
jtvI've gone through enough horrible crap code to be really, really grateful and environmentally conscious about this stuff...14:41
jtvone of my favourites:14:41
al-maisanjtv: fully agree :)14:41
jtvfor (i=0; i < result.size(); ++i) {14:41
jtvswitch (i % 3) {14:42
jtvcase 0:14:42
jtvblablah();14:42
jtvbreak;14:42
jtvcase 1:14:42
jtvfoofoo();14:42
jtvbreak;14:42
jtvcase 2:14:42
al-maisanall specimen of finest code :)14:42
jtvbarbar();14:42
jtvbreak;14:42
jtvcase 3:14:42
jtvfoofoo();14:42
jtvbarbar();14:42
jtvbreak;14:42
jtv}14:42
jtvreturn;14:42
jtv}14:42
jtvah, there was an "if" as well14:43
al-maisanjtv: no goto?14:43
* al-maisan is slightly disappointed :)14:43
jtvah! no goto, but I forget the "default:" case14:43
al-maisan:-)14:43
jtvNote how the "case 3:" won't be exercised except in cases where you have much, much worse things to worry about14:43
al-maisanlike broken CPUs?14:44
jtvor broken compilers14:44
jtvand this one was broken... oh God was it broken14:44
al-maisanjtv: if you continue like this your branch will never be reviewed ..14:44
al-maisan:)14:45
* jtv swallows some great anecdotes about Microsoft's compiler14:45
al-maisanwe can chat next year :-)14:45
jtvok :)14:45
al-maisanin NZ14:45
jtvok14:45
jtval-maisan: I added my approval14:48
al-maisanjtv: thank you!14:50
jtvnp14:50
EdwinGrubbssinzui: ping15:04
sinzuiHi EdwinGrubbs15:04
EdwinGrubbssinzui: are you working today?15:04
sinzuiyes and no15:04
sinzuiEdwinGrubbs: I am hacking on some critical items, but I am also om my day of15:05
sinzuioff15:05
sinzuiEdwinGrubbs: How can I help you?15:05
EdwinGrubbssinzui: just wondering if you wanted to review a 2810 line branch that only has 731 lines which are not formulaic changes, but that is not a good way to spend your day off.15:06
EdwinGrubbssinzui: bye now. Have a good holiday.15:07
=== salgado is now known as salgado-lunch
jtval-maisan: any remarks from the review so far?15:44
al-maisanjtv: none so far .. 15:46
al-maisanjtv: thanks for cleaning up the doc strings for some of the IBuildFarmJob methods!15:47
jtvnearly removed them for fear of causing conflicts with your work :-)15:48
al-maisanjtv: why the "pylint: disable-msg=E0211,E0213" on line 119?15:49
jtval-maisan: IIRC that's the warnings about "hey this method doesn't take a 'self' argument"15:49
jtvlemme check15:49
al-maisanthanks15:49
jtval-maisan: actually, it seems I only need to suppress 21315:51
jtvso I'll remove the other one15:51
al-maisanthanks again15:51
al-maisanmy first thought re. `IBuildFarmJobBehavior`: do we really have to impose an implementation of this interface upon each job class? It seems pretty generic.15:53
jtvYes, I was wondering about that too... but then again the best way to find out is to duplicate and then unify16:01
al-maisanjtv: yeah .. I guess there's no way around it.16:10
jtvI think it won't be too hard to factor most of it away, but first we'll have to find out what differences we need...16:11
al-maisanhmm..16:12
al-maisanjtv: I like your '4010' job score :)16:17
jtval-maisan: we may want to improve on it later, but right now I just statically computed what seemed the closest equivalent for package build jobs16:18
al-maisanas you said in the comment: if the duration is short it may not matter much ..16:18
al-maisan..except if you flood the build farm with gazillions of these jobs 16:19
jtv...at which point we'll probably just want to tweak the score statically to keep them down a bit.  :-)16:19
al-maisanjtv: what would happen if we dropped one of these on the build farm as it stands? Would TranslationTemplatesBuildBehavior.dispatchBuildToSlave() work?16:22
jtval-maisan: my impression was that it wouldn't, because BuildQueue isn't really ready for that16:22
jtv(at least until your branch lands...)16:23
al-maisanWell, there's a much more fundamental build farm piece that needs adjustment: candidate job selection16:24
jtvthat, too—though I guess that would not affect this particular method16:25
al-maisanthe branch you approved previously is just a part of the work that needs to get done in order to have job dispatch time estimation working across different job types16:25
al-maisanright.16:25
jtvone problem is that I don't really know what affects what there; it's actually not unthinkable that the method might work as-is16:28
al-maisanjtv: OK .. so, I did not look at the db part .. the code part looks reasonable .. but if I approve it what have we gained .. not quite sure where we stand..?16:29
jtv[Nice: D'Addario colour-codes its guitar strings... no individually labeled packaging needed]16:29
jtval-maisan: we'll have the BuildFarmJob part for our type of job basically ready.  Next I add testing for the dispatch method; implement the method you just defined; and register the new job type in specific_job_types.16:31
jtv(Of course I'll also get a db review)16:31
al-maisanjtv: OK .. makes sense .. do you want me to approve the branch in that context?16:32
jtval-maisan: not sure I understand the question16:32
al-maisanjtv: re. "register the new job type in specific_job_types": this part is in doubt, there are some other ideas floating around how this can be implemented in a cleaner way in BuildQueue16:33
jtval-maisan: I understand... all the more reason why I didn't implement those in-flux parts yet16:34
jtvmy impression though was that we have some pretty stable interfaces already, and those parts it seems to make sense to land16:34
al-maisanjtv: I have no qualms about the ITranslationTemplatesBuildJob* part16:35
al-maisanthe build behaviour part though is more obscure and untested16:36
al-maisanjust a minute please16:36
* jtv strings up another string16:36
=== salgado-lunch is now known as salgado
* al-maisan looks for any tests for dispatchBuildToSlave()16:38
al-maisanjtv: this is still very much work in progress and as such looks good, r=me (code)16:39
jtval-maisan: wonderful, thanks16:40
al-maisanjtv: thank you!16:40
jtvI don't like going in with code that's not complete enough to be operational, but it's better than letting it bit-rot unmerged16:40
al-maisanjtv: yeah .. I understand16:40
jtv[Some things I do miss in this guitar: the monkey grip and having the tuning knobs all on one side of the head]16:41
al-maisanjtv: enjoy your break!16:42
jtvthanks, same to you too!  I believe there's some custom-made egg-nog waiting for me16:42
al-maisan..and thanks for bearing with me for such a protracted period of time ;)16:42
jtvno worries... kinda peaceful here tonight.  Good night, happy holidays, & see you in 2553 BE!16:43
* al-maisan is being called to the dinner table16:43
* al-maisan will google "2553 BE" later :P16:43
bacjelmer: you can submit the *Publishing fix with rs=bac if you want, assuming there is nothing else in it.16:48
jelmerbac: Thanks!16:54
bacjelmer: please reply to the email on the launchpad list about the buildbot failure stating you've submitted a fix.  otherwise someone else may waste time investigating.17:39
jelmerbac: ok17:49
bacjelmer: do you know anything about the new flood of import warnings spewed by bin/test?17:50
jelmerbac: No, sorry17:56
bacjelmer: jml's branch 10090 changed the importfascist and caused all of the new warnings.18:30
al-maisanbac: yep, http://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/revision/1009018:46
bacal-maisan: i haven't looked into the warnings to see if they are accurate or not...18:47
al-maisansame here, 18:49
al-maisanbut jml's branch looked good.18:50
* al-maisan needs to go18:50
al-maisanhave a nice vacation!18:50

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