/srv/irclogs.ubuntu.com/2010/09/08/#launchpad-meeting.txt

=== Edwin is now known as Guest66225
bac#startmeeting15:00
MootBotMeeting started at 09:00. The chair is bac.15:00
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]15:00
jelmerme15:01
EdwinGrubbsme15:01
gary_posterme15:01
bachi who is here?15:01
sinzuime15:01
adeuringme15:01
leonardrme15:01
henningeme15:01
noodles775me15:01
bigjoolsme15:01
abentleyme15:02
deryckme15:02
bac[topic] agenda15:03
MootBotNew Topic:  agenda15:03
bac* Roll call15:03
bac * Agenda15:03
bac * Outstanding actions15:03
bac * New topics15:03
bac  * Mentat update.15:03
bac  * Some of the UI reviewers have graduated, but ReviewerSchedule indicates that no one has graduated. Same for UI/Reviews, which still lists people who've left the team.15:03
bac  * https://dev.launchpad.net/ArchitectureGuide as per the epic - will reviewers please start discussing the values and metrics during reviews?15:03
bac  * Assertion errors and the webservice (gary)15:03
bac * Peanut gallery15:03
bac[topic] outstanding actions15:04
MootBotNew Topic:  outstanding actions15:04
bacbac and lifeless to chat about branch size.15:04
baclast week in the AsiaPac meeting rockstar brought up the suggestion that we lower the limit on the diff size for reviews.15:04
bacthat led to a really good discussion.15:04
sinzuiU1 is 500 lines15:05
gmbme15:05
baclifeless made the point that diff size is a bad proxy for amount of work and suggested we think about it differently15:05
abentleybac, isn't there already a diff size of 800?15:05
bac<lifeless> I would rather say 'Have no more than N changes in your thing to be reviewed'15:05
bac[01:28] <lifeless> where we might say N is - 4.15:05
gary_posterhard to count15:06
bacabentley: the current soft limit is 800 lines of diff15:06
gary_posterabstract15:06
gary_posterdifficult to communicate and agree on15:06
gary_posterprefer soft 800 with negotiation, myself15:06
bigjools+115:06
bigjoolslet's not go over this again15:06
bacgary_poster: his point was if in writing up a good cover letter <cough> you would notice your branch is unfocused if you have a bunch of things to mention15:06
adeuringi think too we should keep a "soft 800 lines" limit15:07
henningeme too15:07
sinzuibac: is the proposal about something where I rename a class (1 action) and do a find and replace creating a 3000 line diff? This is 1 change and is good. But adding a schema, mode, vocab, view, template is 5 changes and bad?15:07
bacpoint being, he wants to discuss it with me to come up with a solid proposal.  so let's not dive into it now.15:07
gary_posterI'm happy to include that as general advice, bac.  ...ok, fair enough15:08
bigjoolsI think we should use common sense and if the reviewer rejects it, so be it15:08
bacjust think about the idea of how to measure the *focus* of a branch rather than just the size, although the latter is much easier to determine15:08
gary_posterme too with bigjools, but if this is just an alert of a conversation that bac and lifeless will have then...I guess we can move on?15:08
bacgary_poster: yes, lets15:08
gary_postercool15:09
bac[topic] mentat update15:09
MootBotNew Topic:  mentat update15:09
abentley800 max is okay, but I find that smaller diffs are much, much easier to review.  I'd rather read 5 200 line diffs than 1 800 line diff.15:09
bacstevenk and thumper say the mentoring is going very slowly.  i'm not sure how we can improve that, given the time zone differences.  perhaps if you have a non-time critical MP you can assign it to stevenk to help him get more reviews15:10
bac[topic] * Some of the UI reviewers have graduated, but ReviewerSchedule indicates that no one has graduated. Same for UI/Reviews, which still lists people who've left the team.15:10
MootBotNew Topic:  * Some of the UI reviewers have graduated, but ReviewerSchedule indicates that no one has graduated. Same for UI/Reviews, which still lists people who've left the team.15:10
baci'm unsure who put this on the agenda last week (please put your name on items) but rockstar has updated the wiki15:11
EdwinGrubbsit looks like lifeless updated the page. Are there any other graduated UI reviewers besides noodles775, sinzui, and rockstar?15:11
sinzuino.15:11
sinzuihenninge, is in the mentat15:11
henningeI am15:12
sinzuidoes anyone else want to become a UI reviewer15:12
bacsalgado asked about becoming a ui reviewer so i referred him to rockstar15:12
noodles775It would be great to get another ... :)15:12
salgadonoodles775, would you like to be my mentor? ;)15:12
bigjoolswe need more, since one of them is leaving :(15:12
henningewho is leaving?15:12
noodles775salgado: yeah, I'll be moving to ISd sometime...15:12
* noodles775 needs to send email out.15:12
gary_poster:-(15:13
salgadooh, :(15:13
gary_posterglad you are still around-ish though :-)15:13
bacnoodles775: :(15:13
noodles775Yep, still around :)15:13
henningenoodles775: :(15:13
bacwho is mentoring henninge?15:14
bacperhaps the other can help salgado15:14
sinzuiI can mentor salgado15:15
bacthanks sinzui15:15
bacmoving on...15:15
salgadoyay!15:15
salgadothanks sinzui15:15
bac[topic] * https://dev.launchpad.net/ArchitectureGuide as per the epic - will reviewers please start discussing the values and metrics during reviews?15:15
MootBotNew Topic:  * https://dev.launchpad.net/ArchitectureGuide as per the epic - will reviewers please start discussing the values and metrics during reviews?15:15
baclifeless wants us to read that page and the attached presentation.15:15
henningebac: rockstar is mentoring me15:15
bachenninge:  thanks15:15
bacand for reviewers to try to think more about architectural issues when reviewing.15:16
baci'll ask him tonight to put his thoughts into an email wrt reviewing.15:17
bac[topic] Assertion errors and the webservice (gary)15:17
MootBotNew Topic:  Assertion errors and the webservice (gary)15:17
gary_posterpreparing paste 1 sec15:17
gary_posterWe are currently using assertions to communicate errors that have more appropriate specific exceptions.15:18
gary_posterlib/lp/registry/model/product.py:720-ish15:18
gary_poster            if license not in License:15:18
gary_poster                raise AssertionError("%s is not a License" % license)15:18
gary_posterLookupError?15:18
gary_posterlib/lp/answers/model/faq.py:184, and below15:18
gary_poster        if search_text is not None:15:18
gary_poster            assert isinstance(search_text, basestring), (15:18
gary_poster                'search_text should be a string, not %s' % type(search_text))15:18
gary_posterValueError/TypeError?15:18
gary_posterThose are from benji, after a conversation he and I had in regards to bug 413174. He has others.15:18
gary_posterIf it's not already the case, I'd like to suggest that we only use assertions for communicating exceptions that should never happen, within the current code structure.15:18
gary_posterThis is particularly important for the webservice.  For the bug I mentioned, benji and I decided that it would be better to have a whitelist approach for exposing errors to webservice users.  He has a branch that will land with this soon, and we'll describe it later.15:18
ubot5Launchpad bug 413174 in Launchpad Foundations "API AssertionError could be adapted to a http code (affected: 1, heat: 7)" [High,Triaged] https://launchpad.net/bugs/41317415:18
gary_posterBut for now...that's my assertion suggestion.15:18
gary_poster"within the current code structure": like, method, or function.15:18
bacthanks gary_poster15:19
sinzuigary_poster, the case I use assertion errors is when the passed object is in the wrong state15:19
sinzuiIs that a valid use?15:19
gary_posterI think that's a ValueError myself.  valid is in the eye of the beholder, but I'd like for us to agree for the LP code base15:20
sinzuigary_poster, okay15:20
benjisomething to remember about assertions is that when the interpreter is run with -O, they will be no-ops; so don't use an assertion for any check that shouldn't be optimized away15:20
bigjoolswe should always return a decent error to the webservice caller, surely?  an exception without a webservice_error  files an OOPS.15:21
bacbenji: +1, as that's easy to forget.15:21
sinzuibenji, that is why we strive to use raise AssertError. I never accept the other form in a review15:21
gary_poster(although I don't think "raise AssertionError()" is optimized away, right?)15:21
sinzuisometime the engineer drops the assertion because of that15:21
gary_posterright, sinzui15:21
benjiright, raise AssertionError() is not removed15:21
sinzuigary_poster, In the example of deleting a milestone. If the state is bad, the method could return (false, message)15:22
gary_posterbigjools: yes, we want to do that.  benji's branch is a way to do that.  some exceptions are not OK to pass back to the webservice user.  It's a security audit question.  I like whitelists for that.15:22
sinzuiso instead of a ValueError, a success state could be returned15:22
gary_postersinzui, the ValueError, in benji's branch, has the REST/webservice advantage that it returns a 400, plus whatever content is in the exception instantiation.15:23
sinzuiokay15:23
bacgary_poster: thanks for bringing it up.  i look forward  to seeing benji's work15:24
gary_postercool, thanks bac.15:24
bac[topic] other stuff?15:24
MootBotNew Topic:  other stuff?15:24
henningejust a little thin15:24
henningeg15:24
henningeI think15:25
henningeWho should set an MP to "approved"?15:25
gary_posterheh, good workflow question for MP design generally, I think.15:25
bachenninge: ideally, the last required reviewer15:25
henningeI have been asked as a reviewer to do it but I think it is the responsibilty of the branch owner to determine when the branch has had enough reviews.15:25
bachenninge: but it is so easy to forget15:26
gary_postertarmac will make it easier, IIUC15:26
gary_posterbecause that will be the cue to try and land (again, IIUC)15:26
abentleygary_poster, that's not something I've heard.15:26
bachenninge: if the dev already knows he needs more reviews he should add them to the MP15:26
gary_posterabentley: you know more than I about it, I'm sure15:26
abentleygary_poster, oh, you mean it will become necessary with tarmac.15:26
gary_posteryes15:27
henningebac: does not happen very often AFICR15:27
gary_posterand it will have a more obvious meaning15:27
henningeA15:27
gary_posterright now it's almost pointless from a practical perspective15:27
abentleygary_poster, yes, in the current iteration.  There is ongoing work to split the review state from the merge state.15:27
henningeI mean, people add  a UI or r-c review after the code review15:27
gary_posterah, ok, cool15:27
abentleyIf we want, we can write a script that will approve things when the criteria are met.  Then we'd have to decide the criteria.15:28
bachenninge: if i think it needs a UI or text review, i suggest that in the code review i do or on irc.15:28
gary_posterI'd almost prefer for the MP to do this for me.  If I say I need a release-critical review, a code review, and a ui review, then I can make that gesture in the MP15:28
gary_posters/almost//15:28
gary_poster(where abentley's script would be one implementation of what I'm talking about, yeah)15:29
bacgary_poster: i think MPs purposely didn't include a bunch of specific behavior b/c other projects have different policies15:29
bacgary_poster: yeah, that could be overcome by a script15:30
henningebac: sure but it is still the responsibilty of the one seeking approval to make sure the branch gets all required reviews.15:30
abentleygary_poster, variations in approval criteria are a significant obstacle to that.15:30
henningeso, setting an MP to "approved" just docuemnts that he followed through on that.15:30
abentleygary_poster, which is why doing it on a per-project basis is recommended.15:30
gary_posterbac, abentley, gotcha.15:30
abentleygary_poster, i.e. with a script.15:30
gary_posterright15:30
gary_posterhenninge, but it can be the approval-seekers responsibility still with automation, yes?15:31
gary_posterBy requesting more reviews15:31
henningegary_poster: I am not opposed to automation at all! ;)15:31
gary_posterok :-)15:31
henningegary_poster: oh, misread that.15:32
henningegary_poster: you mean, by requesting more reviews an mp would go back to "needs review"?15:33
gary_posterI was just about to propose that we had consensus, darn :-)15:33
gary_posteryes15:33
henningefine, we do have a consensus ... ;)15:33
gary_posterheh, ok15:33
bachenninge: so i don't think we need a strict policy here.  the review is a conversation.  please communicate to the dev if you have concerns15:33
bachenninge: ok, to move on?15:33
gary_posterconsensus:15:34
gary_poster- approval seeker is of ultimately responsible for the review15:34
henningebac: I was not asking for a policy, just a reminder that you should not wait for the reviewer to change that state - just do it yourself. ;-)15:34
gary_posteroh15:34
gary_posterthat's even easier I think15:34
bachenninge: ok15:34
gary_posterok, /me is quiet :-)15:34
bacany other topic?15:35
bac315:35
bac215:35
henningegary_poster: that does not contradict what you were just saying ... ;)15:35
bac1.515:35
henningebac: continue ;)15:35
bac115:35
gary_posteraggred henninge :-)15:35
gary_posterree15:35
bac#endmeeting15:35
MootBotMeeting finished at 09:35.15:35
bacthanks y'all15:36
* bac practices for dallas15:36
bigjoolsbac: you need to practise?15:36
bacbigjools: yeah, not really15:36
bigjools:)15:36
gary_poster:-) thanks bac15:36
bigjoolsthanks bac15:36
henningethanks bac15:37
henningethanks gary_poster ;)15:37
gary_poster:-) thank you15:37
=== Ursinha is now known as Ursinha-lunch
=== salgado is now known as salgado-lunch
=== EdwinGrubbs is now known as Edwin-lunch
=== Ursinha-lunch is now known as Ursinha
=== benji is now known as benji-lunch
=== benji-lunch is now known as benji
=== salgado-lunch is now known as salgado
=== Edwin-lunch is now known as EdwinGrubbs
=== salgado is now known as salgado-afk
=== Edwin is now known as Guest38361
=== Ursinha is now known as Ursinha-afk

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