[03:06] <wgrant> spm: Code imports are back online, right?
[03:35] <lifeless> ola!
[03:38] <wgrant> lifeless: You have successfully reached $destination?
[03:42] <lifeless> wgrant: yes
[03:42] <lifeless> wgrant: no thanks to air nz who rebooked a flight a day later
[03:42] <wgrant> lifeless: ... nice.
[03:42] <lifeless> *that* I have to sort out still - meant to have an email from the helpdesk supervisor... but no sign.
[03:42] <lifeless> time to up fire skype.
[08:04] <henninge> Hi jtv! ;)
[08:04] <jtv> hi henninge
[08:59] <bigjools> hello
[09:01] <wgrant> Morning bigjools.
[09:01] <bigjools> g'day wgrant
[09:02] <bigjools> how can so much email be sent over one weekend  :'(
[09:02] <wgrant> :(
[09:03] <wgrant> bigjools: I ran into an issue with the new buildd-manager this morning.
[09:04] <wgrant> bigjools: The builder chrootwaited, and then it started dying like this:
[09:04] <wgrant> 2010-11-15 10:26:29+1100 [QueryProtocol,client]   File "/home/wgrant/launchpad/lp-branches/devel/lib/lp/buildmaster/model/buildfarmjobbehavior.py", line 193, in updateBuild_WAITING
[09:04] <wgrant> 2010-11-15 10:26:29+1100 [QueryProtocol,client]     build = queueItem.specific_job.build
[09:04] <wgrant> 2010-11-15 10:26:29+1100 [QueryProtocol,client] exceptions.AttributeError: 'NoneType' object has no attribute 'build'
[09:04] <wgrant> It's possible something was screwy with my system, but I don't think so.
[09:04] <bigjools> new as in the one I just fixed but is not rolled out yet?
[09:05] <wgrant> bigjools: Yes.
[09:05] <wgrant> bigjools: r11926, post-invalidation-fix.
[09:05] <bigjools> what were you doing with it to make it do that?
[09:06] <wgrant> The slave was under considerable strain, but chrootwaited legitimately, and this was picked up by buildd-manager. It's possible that there was a timeout, but there's nothing in the logs.
[09:07] <wgrant> http://paste.ubuntu.com/532214/
[09:08] <bigjools> hmm
[09:09] <wgrant> It looks very relevant to that fix :/
[09:10] <bigjools> can you force a chrootwait and see if it happens again?
[09:11] <wgrant> I was half-studying at the time, so didn't. But I'll try now.
[09:14] <wgrant> Also, buildd-manager seems to put more detailed error messages in the failure notes now, including the URL for failed file retrieval. Does that handle privacy etc. correctly?
[09:14] <bigjools> no that's a leak :/
[09:14] <bigjools> and not an easy thing to fix
[09:14] <wgrant> No.
[09:20] <mrevell> Morning
[09:20] <wgrant> Morning.
[09:23] <wgrant> bigjools: Plain chrootwait worked fine.
[09:23] <wgrant> There must have been a timeout somewhere.
[09:23] <bigjools> wgrant: so it might be a loading issue
[09:24] <wgrant> The slave was having some issues responding earlier (it's a rather slow ARM device).
[10:22] <wgrant> bigjools: Er, it came up on qastaging?
[10:22] <wgrant> That's a little concerning.
[10:23] <bigjools> wgrant: yes, lifeless is trying to get a publisher working on it
[10:23] <wgrant> That still shouldn't happen unless the DB is screwed.
[10:23] <bigjools> quite
[10:24] <bigjools> nobody asked me so I don't know the details
[10:24] <wgrant> Speaking of qastaging, could you time a query on there or staging for me?
[10:24] <wgrant> (it's the source domination one)
[10:24] <bigjools> sure
[10:25] <bigjools> paste me something
[10:25] <wgrant> Do you know natty's ID?
[10:26] <bigjools> 106
[10:28] <wgrant> bigjools: http://paste.ubuntu.com/532246/
[10:28] <wgrant> Will probably return nothing.
[10:28] <wgrant> But I only really care about speed.
[10:29] <bigjools> with cold cache, about 10 seconds
[10:29] <bigjools> with warm cache, 500ms
[10:29] <wgrant> Excellent, thanks.
[10:29] <bigjools> you want the query plan?
[10:30] <wgrant> I guess that's a good idea.
[10:30] <wgrant> But it seems like it should beat the current 3-minuter!
[10:30] <bigjools> wgrant: http://pastebin.ubuntu.com/532247/
[10:31] <bigjools> yes :)
[10:31] <wgrant> And no temp table required, yay.
[10:34] <bigjools> I love performance fixes
[10:35] <wgrant> Even if it is only 10% of the publisher :/
[10:35] <bigjools> it will be attritional
[10:35] <bigjools> think of the PPA gains though
[10:36] <wgrant> It shouldn't be too big there. I think removing the dozens of cache purges per archive might help more.
[10:36] <wgrant> But it's hard to say.
[10:46] <wgrant> There is so much crap on DistroSeries.
[10:46] <wgrant> lazr.restful makes me sad.
[11:32] <lifeless> moin
[11:37] <jml> lifeless: hi
[11:37] <jml> lifeless: where are you?
[11:42] <lifeless> orlando
[11:42] <lifeless> caribe royale
[11:42] <lifeless> by room
[11:42] <lifeless> *my room*
[11:43] <lifeless> I can get more specific than that but its probably a little redundant at that point
[11:45] <jml> lifeless: heh, yeah.
[11:45] <jml> lifeless: I mostly meant what tz
[11:45] <lifeless> flacostes
[11:45] <lifeless> AIUI
[11:45] <jml> lifeless: *nod*
[11:45] <lifeless> 6 hours out from my normal
[12:04] <wgrant> Uh.
[12:04] <wgrant> Where did devel r11926 go?
[12:04] <wgrant> Hmmm. Maybe it was caught in the branchChanged timeouts.
[12:05] <wgrant> LP doesn't seem to know about it, but it's in the branch, and LP sees it in stable.
[12:06] <bigjools> jml: did you get around to updating the derived distros LEP with your thoughts on opening new series early?
[12:06] <deryck> Morning, all.
[12:06] <jml> bigjools: no, I haven't.
[12:06] <wgrant> bigjools: aaaaaaaaaaaaaaaaaa
[12:06] <jml> bigjools: it's on my list though.
[12:07] <bigjools> jml: ok no rush, I'm busy with the b-m changes for now anyway
[12:17] <lifeless> wgrant: it was caught in that I suspect
[12:17] <lifeless> wgrant: we haven't actiond that follwup - someone needs to write ze script.
[12:19] <deryck> I think I'm at windmill + big honkin' js file fail again, but I have no way to really know this.
[12:19] <deryck> Maybe I need more coffee.
[12:31] <wgrant> lifeless: How was the escalation a policy violation?
[12:31] <wgrant> Does it not permit escalation of issues that make us all look awful?
[12:31] <lifeless> wgrant: https://wiki.canonical.com/Launchpad/PolicyandProcess/DefinitionofCriticalPolicy which you can't see
[12:31] <wgrant> Hah.
[12:31] <wgrant> Soon...
[12:32] <lifeless> there is a table
[12:32] <lifeless> I'll paste it, hang on
[12:32] <wgrant> I think that if we want to be a credible project hosting service, we might want to actually be able to keep it properly functional outside the working week :)
[12:33] <lifeless> wiki paste fail
[12:33] <lifeless> but I'm sure you'll figure it out
[12:33] <lifeless> yes
[12:33] <lifeless> thus I'm going to drive a discussion about this with the whole team.
[12:33] <lifeless> I think most of us would agree that this was critical.
[12:33] <lifeless> So the mismatch isn't cultural its technical in the sense that we've written down something that doesn't match our own expectations.
[12:33] <wgrant> Right.
[12:33] <lifeless> -> food
[12:34] <jml> well
[12:34] <wgrant> But then there are other things like the person picker being broken for more than a week.
[12:34] <jml> also, we only have 6x24 coverage from ops.
[12:34] <lifeless> jml: the discussion has to be broader than the canonical lp dev team.
[12:34] <jml> but that's kind of orthogonal to treating probs like these as critical
[12:34] <lifeless> jml: but it needs to happen. In this instance - and *every other instance its mattered* we've had the ops support, via IS escalation.
[12:35] <wgrant> jml: That may be, but it has to be easy enough to get assistance during that other 24 hours.
[12:35] <lifeless> jml: What I'd like is to help get charlieS appropriate resources to not need special escalation.
[12:35] <jml> wgrant: to me, that seems a separate discussion to "what is critical"
[12:35] <jml> lifeless: yeah, that'd be awesome
[12:35] <wgrant> jml: It's not entirely orthogonal, I don't think.
[12:35] <lifeless> jml: at the same time I'd like us to keep reducing incidences of zomg moments
[12:36] <jml> lifeless: I would very much like that too.
[12:36] <bigjools> so it's agreed - let's fix everything
[12:36] <jml> lifeless: although "keep reducing" implies something about the current situation that I'm not sure I agree with :)
[12:37] <jml> wgrant: insofar as if we had infinite resources, we wouldn't have to care about whether a thing is critical or not, I guess.
[12:38] <wgrant> jml: Right, exactly. You're probably not going to invoke a sparse emergency resource for something that isn't critical.
[12:45] <lifeless> jml: I pushed some new stuff to fixtures, testresources, testrepository and mailed you a brain dump for something meeting layers functional behaviours
[12:45] <jml> lifeless: I saw the email
[12:45] <jml> lifeless: but not the recent changes
[12:46] <jml> lifeless: every time I think about testr I get annoyed with myself that my recent changes to it aren't in the binary that my system gives me
[12:46] <lifeless> jml: stay away from the dark side
[12:46] <lifeless> think positive
[12:47] <jml> lifeless: if I did that, I doubt I'd ever write any code at all :)
[12:47] <lifeless> http://ftp-master.debian.org/new.html - python-fixtures
[12:55] <lifeless> jpds: hi
[12:56] <jml> lifeless: what do you mean by "edge node"?
[12:57] <lifeless> jml: layer = Foo
[12:58] <lifeless> jml: Foo will be on the edge of the DAG, at least while the tests using it are running.
[12:58] <jml> lifeless: you mean a leaf node?
[12:59] <lifeless> close enough; sleep deprived ravings :)
[12:59] <jml> lifeless: np. :)
[12:59] <lifeless> jml: root node strictly speaking - the pointers go away from it
[13:00] <jml> lifeless: ahh yes, I see what you mean
[13:00] <jml> lifeless: "there is nothing in the graph that (depends on|points to) Foo yet"
[13:02] <lifeless> yeah
[13:06] <jml> lifeless: "leaf node" is probably the best name for that, despite the directions of the arrows. e.g. a package that nothing depends on is sometimes called a leaf package.
[13:06] <lifeless> sure
[13:10] <lifeless> jml: I ran out of puff somewhere around texas, or I think I would have just got it done
[13:10] <jml> :)
[13:10] <jml> lifeless: I know the feeling.
[13:22] <jml> yay.
[13:22] <jml> email, in tray & IRC back log dealt with. I hardly know what to do next.
[13:22] <jml> I know, lunch and the thirty or so things on my 'launchpad' list.
[13:29] <lifeless> jml: reset - did you read the prose in fixtures/NEWS about it ?
[13:29] <lifeless> jml: under shared dependencies
[14:00] <jml> lifeless: no, haven't. can do.
[14:35] <deryck> mars, ping
[15:10] <rockstar> deryck, yo
[15:10] <deryck> hi rockstar
[15:11] <rockstar> deryck, how goes the lazr-js?
[15:11]  * deryck wants to drive rockstar's lazr-js branch into the ground like nick fairly on a UGA quarterback.
[15:11] <rockstar> deryck, also, war eagle.
[15:11] <rockstar> deryck, :)
[15:11] <deryck> war eagle!
[15:11] <rockstar> deryck, are the tests still failing?
[15:12] <deryck> rockstar, yup.  I'm too the point of creating my own lazr-js branch pre yui 3.2 and back porting the two fixes I need....
[15:12] <deryck> but that's non-trivial too
[15:12] <deryck> rockstar, my guess is that's it's the size of launchpad.js again that's playing poorly with windmill.  1.3 Mb file now.
[15:13] <rockstar> deryck, yeah, that's what I suspected too, but I couldn't get any evidence.
[15:13] <deryck> rockstar, there's lots of thread contention and mars said earlier that this is likely because we're trying to go off-site for resources, but I can't find that happening.
[15:14] <deryck> rockstar, trying another ec2 run now with any yui config option that relates to css or combo loading set to false to see if that helps.
[15:14] <deryck> rockstar, beyond that, I really have no idea what to try next.
[15:14] <rockstar> deryck, I think our configs already block going to the net.
[15:15] <deryck> rockstar, right.  but if yui is trying to go to the net and being blocked a test could hang, right?  Which is some of what seems to be happening.... i.e. windmill test hangs and the test runner kills the run.
[15:16] <rockstar> deryck, it could fail the test, because it wouldn't be able to load js or css.  I can't imagine it would hang a browser indefinitely.
[15:16] <rockstar> Did I tell you that mikael said windmill is dead?  No one is working on it anymore.
[15:17] <deryck> rockstar, well not indefinitely, but at least 600 seconds, which is enough to kill the run.
[15:17] <deryck> rockstar, and yeah, I think you mentioned that.
[15:18] <rockstar> deryck, okay.  I'm rooting for you.
[15:19] <deryck> rockstar, :)  thanks.
[15:20] <rockstar> deryck, also, fwiw, I'm deleting most of lazr-js, and I think it's sane to require that you have a working use case in an app before moving the feature "upstream" into lazr-js.
[15:20] <rockstar> This "trickle down" things causes too many headaches.  The wizard widget would have done well to be Launchpad for a bit first...
[15:20] <deryck> rockstar, really?  Your deleting stuff that is unused?  Is there really that much unused?
[15:21] <rockstar> deryck, unused or unneeded, yes.
[15:21] <deryck> wow, ok.
[15:21] <deryck> rockstar, is landscape using a combo loader?
[15:22] <rockstar> deryck, I replaced the PrettyOverlay with about 10 lines of javascript and some CSS.
[15:22] <deryck> cool
[15:22] <rockstar> deryck, I don't think so.  I'm going to try and convince beuno that we need the combo loader for U1.
[15:22] <deryck> rockstar, we have to figure something out.  1.3 Mb is ridiculous for a single js file, if we keep this 3.2 upgrade.
[15:23] <rockstar> deryck, yeah, and U1 doesn't combine any of its js.
[15:24] <deryck> rockstar, yeah, in devmode FF goes gray with this 3.2 upgrade because of all the files loaded.  ./utilities/yui-deps.py|wc -l == 446 :(
[15:25] <jml> hmm.
[15:25] <jml> sinzui: strongly tempted to fix blacklisting.
[15:25] <beuno> I am convinced.
[15:25] <beuno> he just has to do it
[15:27] <sinzui> jml, The card is in the registry backlog. EdwinGrubbs and I agree to add a column for the team that can override the constraint
[15:27] <jml> sinzui: oh cool.
[15:27] <sinzui> jml: the editing ui landed on Friday. I used it
[15:28] <sinzui> jml: https://launchpad.net/+nameblacklist
[15:29] <lifeless> jpds: sorry, lost your paste
[15:37] <rockstar> deryck, have you brought this specific issue up on the list (in its own thread, not as a mention on another thread).
[15:38] <deryck> rockstar, which issue (of the numerous I ranted about)? :-)  The file size?
[15:43] <rockstar> deryck, at this point, I think we seriously need to think about killing windmill.
[15:43] <rockstar> It's either windmill goes or we stop adding javascript.  That's all there is to it.
[15:43] <rockstar> deryck, because the yui 3.2 may not break it (and we can stay on YUI 3.0 forever...) but eventually we're going to hit this again.
[15:44] <rockstar> And by "we" I mean "you launchpadders" since beuno owns me for the next six months.
[15:45]  * beuno saved his reciept
[15:45] <deryck> rockstar, yeah.  but I'm not hosting that discussion.  I've said my peace about this mess, and no one else seems concerned.
[16:01] <bigjools> hanging windmill tests.... :'(
[16:02] <jml> sinzui: hello
[16:03] <sinzui> hi jml
[16:05] <abentley> jkakar: Remember how I solved my getBuilds problem on Friday by using a subselect?  Now I've got a resultset where count() == 1 but list() produces a 25-element list.
[16:06] <jkakar> abentley: On a call, can't help you just now, will ping in a while.
[16:06] <abentley> jkakar: okay.
[16:08] <bigjools> jml: async uploading for b-m works on DF.  We now have a fully async b-m.  \o/
[16:08] <jml> bigjools: sweet :)
[16:08] <abentley> bigjools: Yay!
[16:08] <jml> bigjools: may I see the branch?
[16:09] <bigjools> jml: it's 1k lines of diff - but please be my guest. https://code.launchpad.net/~julian-edwards/launchpad/async-file-uploads-bug-662631
[16:09] <bigjools> abentley: indeed.  I got you a login on dogfood BTW.  when you're ready we can have a chat.
[16:10] <jml> bigjools: ta, I won't do a review but I'd like to glance at least.
[16:10] <bigjools> I just made a WIP MP
[16:10] <abentley> bigjools: Anytime today is good.
[16:10] <bigjools> jml: I added a new method to fetch all the files from the builder in one go
[16:11] <jml> sinzui: http://mumak.net/lp-bugjam-2010/ btw
[17:01] <lifeless> sinzui: bigjools: we still have a [smaller] issue with Archive:+packages https://bugs.launchpad.net/soyuz/+bug/675621
[17:01] <_mup_> Bug #675621: Archive:+packages timeouts <timeout> <Soyuz:Triaged> <https://launchpad.net/bugs/675621>
[17:09] <bigjools> lifeless: grar, that page is a PITA
[17:10] <bigjools> I wonder if we can make our model speed-friendly sometimes
[17:12] <lifeless> bigjools: I made the source only version happy
[17:12] <lifeless> bigjools: we just need to fix the binary package version
[17:12] <bigjools> it's a start
[17:12] <bigjools> we have the exact same problem on the queue page
[17:13] <bigjools> I optimised the hell out of it a couple of years ago but the custom uploads need sorting out still
[17:13] <lifeless> the high python time is a red flag to me
[17:13] <lifeless> but I want to get the sql time sane first
[17:13] <bigjools> yarp
[17:19] <lifeless> flacoste: fyi rt 42472
[17:21] <jkakar> abentley: Here now, sorry for the delay.
[17:21] <abentley> jkakar: No worries.
[17:21] <sinzui> deryck[lunch], I would like your +1 for my data fix for https://bugs.launchpad.net/launchpad-registry/+bug/660475. The last three comment show the sql, the run time, and examples of what is fixed between production and staging.
[17:21] <_mup_> Bug #660475: Merged profile listed in the Top contributors <404> <trivial> <Launchpad Registry:In Progress by sinzui> <https://launchpad.net/bugs/660475>
[17:21] <abentley> jkakar: I've tracked down the bug to specifying order_by on a column of a table that's not in the resultset.
[17:22] <jkakar> abentley: Cool.
[17:23] <abentley> jkakar: http://pastebin.ubuntu.com/532464/
[17:23] <abentley> jkakar: The ResultSet used to refer to BuildFarmJob before I introduced the subselect.
[17:24] <jkakar> abentley: Ah, interesting.
[17:24] <abentley> jkakar: I guess this is valid, if crazy, SQL?
[17:25] <jkakar> abentley: It sounds suspicious... do you know exactly what query is being generated?  It'd help to see it.
[17:25] <abentley> jkakar: I don't.  If I drop to a debugger, can I see it?
[17:29] <jkakar> abentley: If you do a from storm.tracer import debug; debug(True) it'll get printed to the screen when the code path is executed.
[17:33] <abentley> jkakar: http://pastebin.ubuntu.com/532473/
[17:35] <jkakar> abentley: Yeah, so the table is being included, which makes the query valid, but there are no BuildFarmJob columns so the order by is effectively useless.
[17:37] <abentley> jkakar: Hmm, why is BuildFarmJob in the FROM?
[17:38] <jkakar> abentley: Because it was specified in the order by.
[17:39] <jkakar> abentley: When you don't explicitly define tables (with store.using) Storm does some automatic inspection to make sure all the tables you need in your query are included in the FROM clause.
[17:39] <abentley> jkakar: I see.  And in this case, it found the BuildFarmJob in the order_by clause.
[17:40] <abentley> jkakar: But I don't know if that is actually desirable behaviour.  Because if a table is only mentioned in the order_by clause, the order_by clause won't be effective.
[17:42] <jkakar> abentley: Yeah, in this particular case it is undesirable, but in others, like an implicit join, you want the behaviour.
[17:42] <jkakar> abentley: Perhaps we could special-case the logic to check for order by's that don't match any columns and blow up, though.
[17:42] <abentley> jkakar: But if there's an implicit join, the table will be mentioned in the WHERE clause, no?
[17:42] <jkakar> abentley: Yes.
[17:43] <abentley> jkakar: So getting the table from the order_by seems like it doesn't help implicit joins.
[17:44] <jkakar> abentley: True.
[17:45] <jkakar> abentley: It would be good to file a bug about it.
[17:52]  * jml gone
[17:59] <sinzui> jcsackett, I cannot locate the bug that lead me to question why we were querying official_*. I am certain though that we should question the intent of any SQL operation that wants to know the answer. Talk to me if you see something that is not 100% needed.
[18:00] <jcsackett> sinzui: dig.
[18:01] <abentley> jkakar: https://bugs.edge.launchpad.net/storm/+bug/675667
[18:01] <jkakar> abentley: Thanks.
[18:01] <_mup_> Bug #675667: Storm accepts order_by clauses that mention columns not present in the output <Storm:New> <https://launchpad.net/bugs/675667>
[18:42] <deryck> sinzui, you have my +1.  That's well put together and easy to follow in the comments.  I appreciate the before and after shots from lpnet and staging, too.
[18:42] <sinzui> thanks
[18:46] <deryck> np
[18:52] <joey> bac: around?
[19:33] <jcsackett> when working with the sqlbase cursor, what's the easiest way to get a look at the actual sql being thrown at the database?
[19:51] <lifeless> a storm tracer
[19:51] <lifeless> what are you trying to determine/debug/fix/?
[19:51] <lifeless> we have some precanned ones
[19:54] <jcsackett> lifeless: sorry, didn't see the reply. i actually just finished checking it out (with a storm tracer). i just needed to confirm some values being passed in were what i thought they were.
[19:58] <lifeless> jcsackett: alternatives
[19:59] <lifeless> LP_SQL_DEBUG=1 bin/test or whatever
[19:59] <lifeless> OOPS's gather whats being sent [but elide the parameters at the moment]
[19:59] <lifeless> QueryCollector (grep for it) gathers it
[20:00] <jcsackett> lifeless: thanks. the LP_SQL_DEBUG one in particular sounds useful for situations i've hit. the tracer in this instance was perfect since i could flip it on around the one spot i cared about and then turn it back off.
[20:09] <leonardr> joey: calling project.lp_refresh() after "project = lp.projects[project_name]" will solve the problem
[20:09] <leonardr> in your version of launchpadlib, lp.projects[project_name] is a shim object. it doesn't go over the network until you access one of its properties
[20:09] <joey> leonardr: ok will try now
[20:09] <leonardr> so you won't get a KeyError if it doesn't exist
[20:09] <leonardr> that also explains why httplib2 debug wasn't printing anything
[20:10] <leonardr> there was no network call
[20:10] <joey> leonardr: same with team?
[20:10] <leonardr> joey: yes, wherever you do lp.object[name]
[20:11] <joey> lazr.restfulclient.errors.HTTPError: HTTP Error 404: Not Found
[20:12] <joey> leonardr: so it works for instantiated projects now
[20:12] <joey> leonardr: but gives me that 404 for non-existent objects that I try to refresh
[20:12] <joey> leonardr: and that's IN a try
[20:13] <leonardr> joey: can you give me an example command line?
[20:13] <leonardr> oh, i see what you mean
[20:13] <joey> leonardr: https://pastebin.canonical.com/39779/
[20:13] <leonardr> try catching NotFound instead of KeyError. KeyError is dictionary semantics
[20:13] <leonardr> and in this version of launchpadlib, lp.object[] doesn't have dictionary semantics
[20:16] <joey> leonardr: NameError: global name 'NotFound' is not defined
[20:16] <joey> sorry my python skills are showing
[20:16]  * joey reaches for his python book.
[20:17] <leonardr> joey, it's lazr.restfulclient.errors.HTTPError
[20:17] <leonardr> the one you had in that paste
[20:18] <leonardr> in later versions there is a specific NotFound error, but not in this version
[20:18] <leonardr> so try catching HTTPError and checking its .status
[20:18] <joey> leonardr: yeap that did it
[20:19] <joey> leonardr: strangly team is now a keyerror
[20:19] <joey> leonardr: thanks a heap. It's working on staging now
[20:19] <joey> leonardr: I didn't want to bypass it just in case there were other issues. Thankfully it looks ok
[20:20] <leonardr> ok, good
[20:35] <cr3> leonardr: flacoste just informed me about contributes_to in lazr.restful and I just finished reading the documentation, expect a hug for you and salgado next time I see one of you :)
[20:36] <leonardr> cr3: i think you can give most of that hug to salgado
[20:36] <cr3> leonardr: ok, I'll only give you half a hug then and 1.5 hugs to salgado
[20:37] <leonardr> sounds like a good allotment
[20:44] <cr3> leonardr: by the way, do you happen to know where contributes_to is being used, perhaps ubuntuone or something? I just made sure I had a fresh copy of lp-branches/devel and couldn't find any usage of it
[20:45] <leonardr> cr3: i'm fairly sure salgado was using it in launchpad, but it might have been something to do with the openid provider or ubuntu one. you should ask him
[20:46] <james_w> I don't think he actually got to using it, as unfortunately that project got paused due to higher priority work coming in
[20:47] <leonardr> ah
[20:48] <flacoste> leonardr: i think the KeyError and NotFound error is probably due to a server side change, which means that we broke backward compatibility
[20:50] <leonardr> flacoste: i'm pretty sure it's due to a client-side change that we reverted because it caused a lo
[20:50] <leonardr> a lot of confusion
[20:50] <flacoste> ah ok
[21:19] <wallyworld_> thumper: i've pushed the new code so you can look at the new diff in the mp before we talk
[21:19] <thumper> wallyworld_: ok, ta
[21:40] <jelmer> lifeless: hi
[21:40] <lifeless> hi
[21:49] <mars> lifeless, thank you for catching the landing numbers error.  That changes things a bit :)
[21:50] <jelmer> wgrant: hi
[21:50] <lifeless> mars: I'm curious where you got 1/53 minutes :)
[21:50] <mars> lifeless, https://spreadsheets.google.com/a/canonical.com/ccc?key=0Aq6EjGubW4qydF90TElqaV9CRFR0QndmX0twV3ZDN3c&hl=en
[21:51] <mars> lifeless, Google docs date calculation insanity.  What works in OO Calc does not work when ported.
[21:51] <mars> lifeless, it came out to 27 branches/day, which is one every 53 minutes
[21:52] <mars> the total of 127 above that did not click
[21:53] <mars> fixed
[21:53] <mars> 27 days, not 27 branches/day
[21:55] <lifeless> heh
[21:55] <lifeless> hey, adding 99% to that would be nice.
[21:55] <lifeless> 100% is 'max', which isn't terribly interesting.
[21:55] <mars> ?
[21:55] <lifeless> your quartile breakdown
[21:56] <lifeless> 25th percentile
[21:56] <lifeless> etc
[21:56] <mars> the quartiles - I already had to truncate those
[21:56] <lifeless> could you add 99th percentile?
[21:56] <mars> yeah, I looked for a way to do that, nothing popped out - one of those moments when you say "I must be missing something obvious"
[21:56] <lifeless> 3*stdev + avg
[21:57] <lifeless> is close enough
[21:57] <mars> hmm, ok
[21:58] <wallyworld_> thumper: talk now?
[21:59] <thumper> wallyworld_: talk talk, or irc talk?
[21:59] <wallyworld_> maybe talk talk
[21:59] <thumper> ok, let me get set up
[22:04] <mars> lifeless, not much difference - 343 hours at the 99th percentile vs. 356 for the 100th
[22:06] <wallyworld_> thumper: https://code.launchpad.net/~wallyworld/launchpad/built-packages-listing/+merge/40634
[22:17] <lifeless> mars: thats good to know - thanks for adding it
[22:23] <flacoste> sinzui: we can't still add a private team as a member of another private team?
[22:23] <sinzui> No
[22:24] <sinzui> We certainly cannot do that until we prevent open teams from being members of restricted and moderated teams
[22:24] <sinzui> see the team backlog
[22:24] <sinzui> We also need to fix lots of TP calls
[22:30] <wgrant> jelmer: Hi.
[22:36] <lifeless> hi flacoste
[22:36] <flacoste> hi lifeless
[22:38] <flacoste> sinzui: how is that related? a private team is a private team, no? it can only be restricted
[22:38] <flacoste> since you have to be a member to have access
[22:39] <flacoste> lifeless: how's Orlando?
[22:39] <lifeless> flacoste: good, its been a very interesting day.
[22:39] <lifeless> we haven't done a lot of modelling yet, nor tackled things like coexistence.
[22:40] <flacoste> will it be useful for us?
[22:40] <thumper> IOError: [Errno 2] No such file or directory: 'logs/thread-140648257480448.request' ??!?
[22:40] <sinzui> They relate because that is the path we believe that must be taken to achieve private in private...
[22:40] <thumper> when running a test
[22:42] <wgrant> thumper: Looks like nothing creates logs/ yet (except maybe dev appserver startup?)
[22:42] <thumper> wallyworld_: I think that was because your branch removes the logs directory
[22:42] <thumper> wallyworld_: but doesn't add it in make build
[22:43] <wgrant> Hm, no, it's in bzr.
[22:43] <thumper> wgrant: wallyworld_ removed it in one of his branches
[22:43] <wallyworld_> ????
[22:43] <sinzui> flacoste ... recall the argument of private in private was muddled by for a year. the real issue is proper constraints, private teams should be members of, or comprised of team that can be trusted. That is what must be fixed to allow use to build a hierarchy. Once we have established trust, we can fix Lp to not leak your trust
[22:43] <wallyworld_> i thought i added it in the branch the consolidated the log files
[22:43] <wgrant> It is there in devel.
[22:44] <flacoste> sinzui: i think this is the public in a private team issue
[22:44] <wallyworld_> wgrant: thumper: i did have it so that the logs dir was explicitly created but was told in the code review just to add it to bzr
[22:44] <thumper> wallyworld_: but your current branch I'm messing with removes it
[22:44] <flacoste> sinzui: which could be solved independantly of private in private
[22:45] <flacoste> or private in a public
[22:45] <wallyworld_> thumper: not on my system it doesn't....
[22:46] <thumper> wallyworld_: line 611 (the last) of https://code.launchpad.net/~wallyworld/launchpad/built-packages-listing/+merge/40634
[22:46] <sinzui> flacoste it is not.  We have discussed this many times and I cannot summarise it over IRC. consider this. We all want. It has been tried many times, and all were failures. We have a path to success and I can see this fix happening soon
[22:47] <sinzui> flacoste You are hoping that a strict rule of private in private is easier to implement. It is not
[22:47] <flacoste> sinzui: your team has put more thoughts than I in this, so I trust your judgement
[22:48] <wallyworld_> thumper: hmmm. can't explain that. the logs dir is still in lp:devel at least
[22:49] <thumper> wallyworld_: yes it is.
[22:49] <thumper> wallyworld_: it is removed in your built-packages-listing branch
[22:49] <thumper> wallyworld_: you may want to revert that removal :-)
[22:49] <lifeless> flacoste: perhaps
[22:50] <lifeless> flacoste: the modelling is the crucial bit
[22:52] <wallyworld_> thumper: yep. i checked the logs of the branch. i merged from devel trunk after creating the branch and it was removed then for some reason