[00:03] <wallyworld_> wgrant: can you hear me?
[00:03] <wgrant> wallyworld_: No.
[00:03] <wallyworld_> bugger
[00:04] <wallyworld_> sidnei: here but my mike is broken
[00:04] <wallyworld_> sinzui: ^^^^
[00:05] <sinzui> wallyworld_: I had to mute/unmute from sound preferences this morning to make my mic really work
[00:09] <wallyworld_> sinzui: wgrant: skype works, but not mumble :-(
[00:19] <mwhudson> sigh, what i really want is just to be able to attach comments ajaxily to the wiki page
[00:24] <lifeless> mwhudson: that would rock
[00:25] <mwhudson> maybe we can make thumper add that to wikkid :)
[00:25] <thumper> sup?
[00:25] <thumper> attach comments?
[00:28] <lifeless> I think WYSIWYG editing without bring up the full edit widget
[00:28] <lifeless> e.g. change one paragraph only
[00:28] <lifeless> or add an annotation to the text
[00:31] <wgrant> wallyworld_: Hi.
[00:32] <wallyworld_> wgrant: hello
[00:32] <mwhudson> why does my brain always pop up 'cucumber' when i'm really trying to remember 'celery'
[00:32] <wgrant> wallyworld_: Can you QA your recipe build emails thing on staging?
[00:34] <wallyworld_> wgrant: yes. just going through my emails now and saw that one is still todo
[00:34] <wgrant> I'm doing the gpghandler thing.
[00:34] <wallyworld_> wgrant: not sure how to qa it though
[00:35] <lifeless> mwhudson: because they are both terrible project names
[00:35] <mwhudson> lifeless: +1
[00:35] <wgrant> wallyworld_: Create one successful build, one depwait build, see what happens?
[00:36] <wallyworld_> wgrant: that's the point. i'm not sure how to create a buidl with a dep issue
[00:36] <wgrant> wallyworld_: Branch an existing package, add 'fewfwefwefwew' to the Build-Depends field, build.
[00:37] <wallyworld_> wgrant: ok. i'm a total packaging noob you realise :-)
[00:37] <wallyworld_> wgrant: on qastaging, i assume there are logs we can look at to see what email would have been sent
[00:37] <wgrant> wallyworld_: You can check the staging mailbox.
[00:38] <wgrant> Have you accessed that before?
[00:38] <wallyworld_> nope :-(
[00:38] <wgrant> Let's see if I can find the wiki page.
[00:39] <wallyworld_> if it's on the wiki, i'll find it
[00:39] <wgrant> https://wiki.canonical.com/InformationInfrastructure/OSA/LPHowTo/ConnectToStagingMailbox
[00:39] <wgrant> But the password says to ask a LOSA.
[00:39] <wgrant> That's false.
[00:41] <wallyworld_> excellent thanks
[00:42] <wgrant> You will need a reasonable mail client.
[00:42] <wgrant> The mailbox can be several hundred thousand messages.
[00:47] <wallyworld_> wgrant: can you send me the password? what do you consider to be a reasonable client?
[00:48] <wgrant> wallyworld_: I PM'd it to you internally.
[00:48] <wgrant> wallyworld_: I don't know how Kmail is these days.
[00:48] <wgrant> Last time I tried it with IMAP it was rather segfaulty.
[00:49] <wallyworld_> wgrant: ah thanks. didn;t see the pm, sorry
[00:53] <mwhudson> lifeless: dammit email half-written and i need to go
[00:54] <mwhudson> will finish later :)
[00:54] <lifeless> mwhudson: no worries
[00:56] <wallyworld_> wgrant: well i'm trying kmail now. thunderbird refuses to connect (could be because i'm using a recent (buggy) snapshot to get better unity integration)
[01:00] <wgrant> qa-ok!
[01:00] <wgrant> It is poppy-fixing time.
[01:00] <wgrant> Well, once asuka gets its act together.
[01:02] <wgrant> Oh, the mailbox is tiny now.
[01:02] <wgrant> I guess because question emails aren't being sent.
[01:14] <wallyworld_> bugger, qastaging is down
[01:15] <wgrant> It'll be back in a couple of minutes.
[01:16] <wgrant> There we go.
[01:16] <wgrant> Just took a while to update WADL.
[01:16] <wallyworld_> cool
[01:16] <wgrant> Hm.
[01:16] <wgrant> Not actually back yet.
[01:16] <wgrant> But the appserver is started.
[01:17] <wgrant> There.
[01:25] <cody-somerville> How interesting...
[01:26] <cody-somerville> you can be logged into launchpad.net as one user and login.launchpad.net as another
[01:26] <cody-somerville> which for those not familiar with login.launchpad.net is very confusing when trying to access branches via codebrowse
[01:27] <lifeless> an openid feature
[01:27] <lifeless> :>
[01:27] <cody-somerville> hmm... but logging out of login.launchpad.net and logging in as a new user doesn't fix it
[01:27] <cody-somerville> how do I 'logout' of codebrowse?
[01:28] <lifeless> there is a logout button on the launchpad site
[01:28] <lifeless> use it
[01:28] <cody-somerville> but I'm logged in as the correct user on launchpad already? I have to relogin again?
[01:29] <wgrant> The launchpad.net logout button will you log you out of both launchpad.net and bazaar.launchpad.net.
[01:29] <wgrant> (by a hideous redirect via bazaar.launchpad.net)
[01:30] <cody-somerville> ah
[01:30] <cody-somerville> k
[01:34] <wallyworld_> #@%!@%@!&^ qastaging. every url i navigate to times out :-(
[01:36] <wgrant> Probably bug heat.
[01:40] <wallyworld_> wgrant: i'm having trouble figuring out how to get to a page that let's me see (and edit) the Build-Depends field for any particular package. can you point me in the right direction?
[01:41] <wgrant> wallyworld_: It's in the branch.
[01:42] <wgrant> wallyworld_: Edit debian/control.
[01:42] <wallyworld_> .me looks
[01:43] <wgrant> wallyworld_: Hm, nevermind, staging is too old anyway.
[01:43] <wgrant> We'll have to do it on mawson.
[01:44] <wallyworld_> wgrant: by "the branch", do you mean code.qas.lp.net/project or code.qas.lp.net/ubuntu/+source/xxxx or ??
[01:44] <wgrant> wallyworld_: It needs to be a branch with packaging metadata. lp:ubuntu/hello, for example.
[01:48] <wallyworld_> wgrant: so i go to lp.net/ubuntu, search for a project eg firefox, and then go to lp.net/+source/firefox. is that correct?
[01:49] <wgrant> wallyworld_: Easiest way to get the branch is just 'bzr branch lp:ubuntu/hello'
[01:50] <wallyworld_> wgrant: fair enough. i was curious though how to find it via the gui.
[01:50] <wgrant> I don't know how to search for packages effectively.
[01:50] <wgrant> I always go straight to https://launchpad.net/ubuntu/+source/SOMESOURCE
[01:52] <wallyworld_> wgrant: right. i got to that by seaching from lp.net/ubuntu. it seems to work well if you know the project you are looking for
[01:53] <wallyworld_> wgrant: so mawsom = dogfood right? but do we have access to it's mailbox?
[01:54] <wgrant> wallyworld_: It sends mail to the staging mailbox.
[01:54] <wallyworld_> ah ok
[02:07] <wgrant> wallyworld_: I've scheduled a few builds of various sorts.
[02:07] <wgrant> Will probably take like half an hour to build them.
[02:07] <wgrant> At least.
[02:07] <wgrant> rubidium is slow :(
[02:08] <wallyworld_> wgrant: ok. i was just messing with a local branch of ubuntu/hello
[02:08] <wallyworld_> i'll see what turns up in the inbox
[02:18] <wgrant> Subject: [DOGFOOD] [recipe build #36909] of ~wgrant hello-lololol-daily in natty: Dependency wait
[02:18] <_mup_> Bug #36909: clicking on bug filters does nothing <lp-foundations> <Launchpad itself:Triaged by bradb> < https://launchpad.net/bugs/36909 >
[02:18] <wgrant> wallyworld_: ^^
[02:19] <wallyworld_> wgrant: looks like it worked :-)
[02:19] <wallyworld_> thanks
[02:20] <wgrant> And there was no notification from the succesful build.
[02:20] <wgrant> So we are good.
[04:03] <StevenK> wgrant: When you're back, can you look at https://code.launchpad.net/~stevenk/launchpad/copies-use-overrides/+merge/61195 again? I think I've addressed almost all of your concerns.
[04:05] <wgrant> ಠ_ಠ massive commits again
[04:06] <cjohnston> StevenK: have a moment to look at a couple of my merge proposals?
[04:07] <lifeless> mwhudson: thanks for that feedback
[04:07] <lifeless> good questions
[04:09] <mwhudson> oh good, i was worrying i rambled a bit :)(
[04:12] <wgrant> You rambled a bit, but it was still excellent :)
[04:13] <wgrant> Anything like this is bound to be rambly.
[04:16] <StevenK> cjohnston: Sure, link me up, and I'll review them after I have reviewed my lunch.
[04:17] <wgrant> StevenK: Reviewed.
[04:18] <StevenK> wgrant: ZCML does not like inheritence
[04:19] <StevenK> I played with it last night
[04:19] <wgrant> StevenK: Upsetting.
[04:20] <wgrant> Still, IBaseOverridePolicy -> IOverridePolicy.
[04:20] <StevenK> wgrant: No argument from me about that
[04:25] <cjohnston> StevenK: https://code.launchpad.net/~chrisjohnston/launchpad/728192/+merge/61046 https://code.launchpad.net/~chrisjohnston/launchpad/627628/+merge/61055
[04:27] <cjohnston> https://code.launchpad.net/~chrisjohnston/launchpad/197793/+merge/61053
[04:31] <jtv> hi wallyworld_, I'm in
[04:34] <wgrant> 196 Critical bugs
[04:34] <wgrant> Yay
[04:39] <jtv> wgrant: less talking, more fixing or you don't get fed
[04:39] <wgrant> But archiveuploader killed my cat.
[04:41] <jtv> Okay, you've got me.  How?
[04:43] <wallyworld_> jtv: hello
[04:43] <lifeless> jtv: hi
[04:43] <jtv> hi
[04:43] <lifeless> jtv: I saw your comment yesterday in irc you were offline by the time I saw it
[04:43] <jtv> cool, thanks—I was just reading the email thread
[04:48] <StevenK> cjohnston: All of those MPs are Approved by Henning?
[04:51] <cjohnston> StevenK: thats correct
[04:51] <StevenK> cjohnston: So why do you need me? :-)
[04:52] <cjohnston> He hasn't done anything with them since approving them, so I wasn't sure if he wasn't able to merge or something
[04:53] <StevenK> cjohnston: Ah. I'll approve all 3 and toss them at ec2
[04:53] <StevenK> cjohnston: If you want to set a commit message on all three?
[04:56] <cjohnston> done
[04:57] <StevenK> cjohnston: The commit message on 728192 isn't really clear. Perhaps "IArchive:+index no longer has a form in a heading." ?
[04:58] <cjohnston> ok
[05:02] <lifeless> statik: thats quite an endorsement for the proposal.. thanks
[05:02] <nigelb> oh no, my commit had a build failure :(
[05:02] <wgrant> nigelb: An ec2 failure?
[05:03] <wgrant> That's a "Test results: FAILURE" email.
[05:03] <nigelb> wgrant: Test results: 645825-ui-example => devel: FAILURE
[05:03] <StevenK> cjohnston: Will you be around in roughly four hours?
[05:03] <nigelb> wgrant: yeah, test failure
[05:04] <cjohnston> StevenK: no.. I need to go to bed soon. :-/
[05:04] <wgrant> nigelb: How many errors?
[05:04] <nigelb> 6 errors
[05:04] <wgrant> Is the problem clear?
[05:05] <StevenK> cjohnston: Fair enough -- all three of those branches are currently having ec2 instances created for them, you'll get e-mails from them in about four hours telling you what happened.
[05:05] <cjohnston> cool... t
[05:05] <cjohnston> t
[05:05] <cjohnston> y
[05:05] <StevenK> Haha
[05:05] <nigelb> wgrant: looks like "AttributeError: 'TestProductSeriesHelp' object has no attribute 'oopses'"\
[05:06] <StevenK> I've seen that before ...
[05:06] <StevenK> Er
[05:06] <mwhudson> that could be a setUp method failing to upcall
[05:06] <StevenK> I've *not* seen that before
[05:06] <nigelb> want a full paste of the entire mail?
[05:06] <nigelb> I didn't have a setUp method.
[05:06] <wgrant> nigelb: That would be helpful.
[05:06] <StevenK> wgrant: Can you also glance at https://code.launchpad.net/~rvb/launchpad/distro-overlay2-bug-758908-dependencies/+merge/61110 please?
[05:07] <nigelb> wgrant: http://paste.ubuntu.com/609335/
[05:08] <StevenK> Suspcious
[05:08] <wgrant> I have seen this before. It was something fairly obscure.
[05:08] <wgrant> But I cannot recall the details.
[05:09] <StevenK> Right, running ec2 land & in a for loop was a stupid idea.
[05:10] <nigelb> a for loop?
[05:10] <wgrant> Oh.
[05:10] <StevenK> A shell for loop. for i in foo bar  ; do echo $i ; done
[05:10] <wgrant> nigelb: You call your superclass' setUp method in your test method.
[05:10] <wgrant> That's *not* going to go well.
[05:10] <wgrant> 28+        super(TestProductSeriesHelp, self).setUp()
[05:10] <wgrant> Delete that line.
[05:11] <nigelb> wgrant: ah
[05:12] <nigelb> mwhudson: ah, a setUp method failing to upcall. Now I get what you meant.
[05:12] <nigelb> wgrant: commit and push again?
[05:12] <wgrant> nigelb: Right.
[05:12] <wgrant> In this case it was setUp doubly upcalling, so the OOPS handler was registered twice.
[05:12] <wgrant> Then tearDown unregistered it only once.
[05:13] <mwhudson> ah so my crystal ball was only a little cloudy
[05:16] <jtv> lifeless: a concern about service fakes... you mention running the real service's tests against the fake.  But the gains have to come from somewhere; in the FakeLibrarian for instance we had to sacrifice multi-process access.  Won't a single canonical fake for a service imply something very close to the real thing?
[05:20] <wallyworld_> lifeless: (or someone else smarter than /me): there's a bug report with an Object NotFound oops for urls of the form "translations.lp.net/inactiveproject" and "bugs.lp.net/inactiveproject" yet when I test that on lp.net the page renders fine. any idea why?
[05:20] <wgrant> wallyworld_: ~registry can see disabled projects.
[05:21] <nigelb> wgrant: pushed again --> https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/61175
[05:21] <wallyworld_> wgrant: oh ok. so on the page where such links are rendered, we may want to see if the user is a member of ~registry before we decide not to print the links?
[05:22] <wallyworld_> of do we just want to not print them in all cases?
[05:22] <wgrant> wallyworld_: I'm not sure that there's value in showing them to ~registry.
[05:22] <wallyworld_> easier to do the latte
[05:22] <wallyworld_> latter
[05:22]  * jtv goes for a latte
[05:22] <wallyworld_> cool. so i'll take the easy road :-)
[05:23] <wallyworld_> jtv: 2 sugars for mine please
[05:25] <jtv> wallyworld_: here you go → ☕
[05:25] <wallyworld_> lol
[05:25] <wallyworld_> but where's the sugar?
[05:28] <nigelb> hehe
[05:33] <nigelb> wgrant: will you be landing it in ec2?
[05:33] <wgrant> nigelb: I will.
[05:33] <nigelb> wgrant: Thanks :)
[05:41] <wgrant> nigelb: The instance is running now.
[05:41] <nigelb> wgrant: great, thanks :)
[05:43] <nigelb> aha, UDS photos are up.  There's a lot of photos of that guy with blue hair :p
[05:43] <wgrant> I haven't been able to find one yet.
[05:43] <wgrant> Do you have a link?
[05:43] <wgrant> I went looking last week.
[05:43] <wgrant> But failed.
[05:44] <nigelb> http://photos.pixoulphotography.com/Events/UDS-Oneiric/17103699_kzzLF6/1/1296058796_HdrLgVm#1296058440_N4fmvNv
[05:44] <nigelb> wgrant: I have a bunch in my fb album, but these are much better
[05:45] <wgrant> Subtle.
[05:45]  * mwhudson goes looking for the pictures of beuno harassing charlieS
[05:45] <nigelb> haha
[05:47] <beuno> it was more like stalking
[05:47] <wgrant> Oh?
[05:48] <mwhudson> beuno: once you'd pinned in the corner with your rapidly waving hands, it wasn'
[05:48] <mwhudson> beuno: once you'd pinned in the corner with your rapidly waving hands, it wasn't stalking any more :)
[05:48] <beuno> true
[05:48] <mwhudson> pinned HIM
[05:48] <mwhudson> i should give up on typing for today
[05:49] <mwhudson> can't find any photos of that anyway
[05:49] <beuno> it started off as stalking, then came the beer
[05:49]  * StevenK grumbles at publishBinaries
[05:49] <wgrant> StevenK: Hm?
[05:49] <wgrant> It fit its original purpose very well.
[05:50] <StevenK> It's ignoring the component I'm passing it
[05:50] <wgrant> It probably overrides it to main if it's a PPA.
[05:50] <StevenK> (Which it isn't)
[05:50] <wgrant> That is probably no longer appropriate.
[05:50] <wgrant> It probably is.
[05:50] <wgrant> What's it doing?
[05:51] <StevenK> The copied binaries continue to keep the original binaries component.
[05:51] <wgrant> I doubt that's publishBinaries' fault.
[05:51] <wgrant> Unless you've touched it in bad ways.
[05:52]  * StevenK dumps the query it runs
[05:52] <StevenK> Bleh, which doesn't help
[05:53] <wgrant> It's a very pretty query :)
[05:54] <LPCIBot> Project windmill-db-devel build #288: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-db-devel/288/
[05:57] <lifeless> jtv: much of the cost of real services from integrity or encryption
[05:57] <lifeless> jtv: e.g. fsync, transactions, multiuser syncronisation
[05:57] <lifeless> jtv: a network fake doesn't need to do any of those, can pretend to do gpg etc
[05:57] <jtv> lifeless: but then we'd still have to exempt the fakes from those aspects of testing, right?  Maybe separate "interface" tests from "quality of implementation" tests?
[05:57] <StevenK> It's so comforting that windmill continues to utterly fail on Jenkins
[05:58] <wgrant> StevenK: They're all bitrot failures.
[05:58] <wgrant> 7 or so are easy to fix.
[05:58] <lifeless> yes, but then how can you tell if a db fsyncs something *when you're talking over the network to it* ?
[05:59] <lifeless> so the external contract really can't talk about those aspects anyway
[05:59] <jtv> Ah, so that's already not a part of the service's tests as such.
[05:59] <lifeless> we'd want 3 sets of tests of a service
[05:59] <lifeless> external contract
[05:59] <lifeless> details-of-the-fake-test-support-api
[05:59] <StevenK> wgrant: :-(
[05:59] <lifeless> details/internals-of-the-real-version
[05:59] <lifeless> this is what bzr has
[06:00] <lifeless> and it works very very well
[06:00] <StevenK> wgrant: And publishBinaries() was doing the right thing after all
[06:00] <wgrant> StevenK: Of course.
[06:00] <lifeless> the external contract tests run against both implementations
[06:00] <lifeless> the other two sets against only one
[06:00]  * StevenK bites back a barb
[06:05] <StevenK> wgrant: And I didn't address the arch-indep bit because I have no idea how to
[06:08] <StevenK> Hm, perhaps that will work
[06:15] <StevenK> wgrant: I can't have cBO just return the archtag passed in?
[06:16] <wgrant> StevenK: You can.
[06:16] <wgrant> If you can reliably map back to it.
[06:16] <StevenK> The bother is returning None if it's arch-indep
[06:17] <StevenK> When I can't trust the destination, and all I have is the BPN
[06:17] <StevenK> I'm able to deal in copyBinariesTo(), since I have the source BPPH, and that is trust-worthy
[06:17] <wgrant> Right. You may recall that I suggested a strategy last week to overcome that.
[06:18] <wgrant> Joining against DAS.
[06:19] <StevenK> wgrant: Right, and that works fine for returning the archtag, but it won't return None if it's arch-indep.
[06:19] <wgrant> StevenK: It will if you make it return None.
[06:20] <StevenK> wgrant: Uh? How can I make Storm do that?
[06:20] <wgrant> StevenK: If it's arch indep, add a DistroArchSeries.id == None constraint.
[06:21] <wgrant> Hmm, although that may need to be in a join condition. Difficult.
[06:21] <StevenK> And calculate_target_das() already tosses back the NAI
[06:23] <wgrant> So?
[06:24] <StevenK> It isn't making any sense how to implement this.
[06:24] <wgrant> You constrain BPPH.distroarchseries to NAI.
[06:24] <wgrant> But you don't actually join against DistroArchSeries yet.
[06:25] <wgrant> I suggest that you do a left join against DistroArchSeries such that you get the archtag back for arch-dep, and None back for arch-indep.
[06:26] <StevenK> make_package_condition() already does BPPH.distroseries == das
[06:26] <wgrant> Yes, but it doesn't join against DAS.
[06:26] <wgrant> It just compares the fk with a precalculated value.
[06:33] <wgrant> lifeless: Could you please try it on another browser, then?
[06:34] <wgrant> It is not a bug unless it occurs on browsers that don't have unstable daily build warnings on them.
[06:42] <StevenK> FROM LEFT JOIN ... WTF, Storm?!
[06:45] <wallyworld_> jtv: translations question concerning recent activities on a person's translation page (getTranslationHistory). i'm trying to find a test for this. no luck so far, just about finished running all tests under translations/*. i want to find a test which calls into ActivityDescriptor.  But more to the point, i need to find a way to filter getTranslationHistory so that it ignores POFiles associated with inactive projects.   if i can
[06:45] <wallyworld_>  navigate to the pofile sourcepackage->product attribute i may be able to check for is_active but the product attribute desc says "The best guess we have as to the Launchpad Project...". Best guess? Is there a definitive association?
[06:51] <StevenK> wgrant: I'm clearly missing something vital: http://pastebin.ubuntu.com/609354/
[06:53] <wgrant> StevenK: You have a left join there.
[06:53] <wgrant> But you're not joining onto anything.
[06:53] <wgrant> You're just joining DistroArchSeries onto nothing.
[06:54] <StevenK> So I need BPPH, DAS, condition?
[06:54] <wgrant> Roughly.
[07:25] <jtv> wallyworld_: use POFile.potemplate to get to the POTemplate.  From there it's either POTemplate.product, or POTemplate.{distroseries, sourcepackagename}.
[07:29] <wallyworld_> jtv: thanks. that should be doable in storm. any idea why there appears to be no test coverage for the recent activies stuff on the view? there's a doc test for person.translation_history but nothing for the rendering of that info onto the page. or am i missing something?
[07:29] <jtv> wallyworld_: I was almost certain there was.
[07:30] <wallyworld_> jtv: yeah, i would have thought so. but a complete run of all translations/* tests didn't hit my breakpoint :-(
[07:31] <jtv> wallyworld_: let me just look at the code you're talking about...
[07:32] <wallyworld_> jtv: thanks. ideally i wanted to write or extend an existing test and then do the code
[07:33] <jtv> Naturally.
[07:34] <lifeless> wgrant: ajax log?
[07:36] <wgrant> lifeless: Check what the vocab AJAX request returns.
[07:36] <StevenK> wgrant: I think I have the join working. But how to get it to return None?
[07:36] <wgrant> StevenK: That's where my plan falls apart slightly. You may need to have it in the join condition, not the where clause.
[07:36] <wgrant> 'cause you don't get a NULL row if there are any matches.
[07:37] <wgrant> Always disliked that inconsistency.
[07:37] <StevenK> wgrant: But the DAS itself is in *candidates?
[07:37] <jtv> wallyworld_: can't find it either—and I'm pretty sure I spent quite some time writing up tests for this in Barcelona.
[07:37] <StevenK> And is already the NAI by that time anyway
[07:37] <wallyworld_> jtv: well that sucks balls :-(
[07:37] <jtv> wallyworld_: hope I didn't end up forgetting to "bzr add" the tests or something...
[07:38] <wallyworld_> jtv: so you're off to check your hard drive? :-)
[07:38] <jtv> Yes, it sucks balls and circumstances were difficult due to time pressure etc.
[07:38] <wallyworld_> for uncommitted branches?
[07:39] <jtv> Nope, it's not on this hard drive, the backup drive this would be on is probably one that died, or maybe it's on the predecessor which also died, and the machine itself is behind a UPS that had a nervous breakdown and I still have to figure out whether it's really the power or the UPS itself.
[07:39] <jtv> So not much chance of that.  :(
[07:41] <jtv> wallyworld_: we could probably dig up the MP, but it's not likely to be worth the trouble.  I fear this will take new tests.
[07:42]  * wallyworld_ sobs siliently
[07:43] <jtv> Can you sob _re_siliently?  That'll help.
[07:43]  * wallyworld_ can't type
[07:46] <spm> jtv: there's a request from danilo up on lps, is that still relevant do you know?
[07:46] <wgrant> It is.
[07:46] <wgrant> He said was going to get to that when he was on maintenance.
[07:46] <wgrant> Which is next week.
[07:46] <spm> ah k, we'll let it ride for now then; ta
[07:47] <StevenK> wgrant: I still think I'm missing something. http://pastebin.ubuntu.com/609367/
[07:50] <StevenK> gmb: nigelb bought up the failures here, and wgrant helped him fix it.
[07:50] <StevenK> gmb: It's currently running through ec2 again.
[07:57] <nigelb-work> gmb: I did remove the super().setUp and wgrant landed it in ec2 again
[07:57] <StevenK> It's probably got another 3 hours to go
[07:58]  * StevenK prods wgrant more
[07:58] <nigelb-work> how many hours does it take anyway? o.O
[07:58] <StevenK> nigelb-work: About 4
[07:58] <wgrant> ~4h
[07:58] <nigelb-work> so, its about half way through by now I guess
[07:58] <wgrant> $ utilities/ec2 list
[07:58] <wgrant> 645825-ui-example => devel  [OK]     (up for 2:21:13.892062)
[07:58] <wgrant> Summary: running: 1
[07:58] <wgrant> Yup.
[07:59] <nigelb-work> btw, there were one or two easy bugs I thought could be just closed off
[08:00] <nigelb-work> like there was a bug which said, If LP is linking to bugs not existing and showing a tool tip that it does not exist, then it shouldn't link the bug at all
[08:00] <nigelb-work> But I don't think we show any such tooltip anymore, at least I didn't see it.
[08:03] <nigelb-work> that's bug 4595 (yeah, OLD)
[08:03] <_mup_> Bug #4595: Don't auto-linkify non-existent bug reports <easy> <lp-web> <tales> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/4595 >
[08:05] <nigelb-work> and another one, bug 337848, I can't find examples of what's mentioned in the bug report
[08:05] <_mup_> Bug #337848: IRC links on profile page are asked the wrong way <easy> <irc> <lp-registry> <ui> <users> <Launchpad itself:Triaged> < https://launchpad.net/bugs/337848 >
[08:07] <wgrant> lifeless: Hah.
[08:07] <wgrant> Have you considered that 123 might be a few too many teams?
[08:07] <wgrant> I wonder what they all are.
[08:07] <lifeless> wgrant: no
[08:07] <wgrant> I was only in 95.
[08:07] <wgrant> Greated 25 new ones, fine.
[08:07] <lifeless> poor form
[08:07] <wgrant> Created one more.
[08:07] <wgrant> Boom.
[08:07] <wgrant> undefined.
[08:07] <wgrant> Does not like more than 20 pages, apparently.
[08:08] <lifeless> ha ha ha ha ha ha ha
[08:08] <lifeless> wgrant: browser version my shiny metal ....
[08:08]  * StevenK gives up on arch-indep
[08:08] <StevenK> Too hard
[08:08] <wgrant> lifeless: Nobody else is insane enough to have that many teams :)
[08:08] <lifeless> wgrant: many folk are
[08:08] <wgrant> And it hadn't been seen outside a daily build of a browser...
[08:09] <StevenK> wgrant: Are you going to push back on the arch-indep thing?
[08:09] <wgrant> StevenK: Not if you can prove to me that it's OK.
[08:09] <StevenK> And the tests don't do that?
[08:09] <wgrant> No, those tests don't cover much at all.
[08:10] <StevenK> They're the 3 use cases we discussed?
[08:10] <wgrant> They are the three basic cases, yse.
[08:11]  * StevenK pushes up 5 revs
[08:11] <wgrant> !!
[08:11] <wgrant> lifeless: There are 42 people with 120 or more teamparticipations.
[08:11] <wgrant> Close enough to nobody else :P
[08:12] <lifeless> wgrant: I'm not even top 10
[08:12] <wgrant> Yes, but your Person.id is 2, so all suggestions of exceptionality are valid and reasonable.
[08:13] <nigelb-work> who's 1?
[08:13] <nigelb-work> sabdfl?
[08:13] <wgrant> Yes.
[08:13] <lifeless> yes
[08:13] <wgrant> sabdfl is #14
[08:14] <wgrant> lifeless #24
[08:14] <wgrant> Not good enough.
[08:14] <lifeless> wgrant: #9
[08:14] <lifeless> for sabdfl
[08:14] <wgrant> "SELECT person.name, COUNT(*) FROM teamparticipation JOIN person ON person.id = teamparticipation.person GROUP BY person.name HAVING COUNT(*) > 120 ORDER BY COUNT(*) DESC;" was what I did.
[08:15] <lifeless> yeah
[08:15] <lifeless> 149
[08:15] <lifeless> is what I see
[08:15] <StevenK> wgrant: There, 5 more revisions on the MP. Be shocked.
[08:15] <wgrant> StevenK: I am shocked and saddened.
[08:15] <StevenK> Saddened?
[08:15] <wgrant> Saddened.
[08:16] <StevenK> Why?
[08:16] <wgrant>  sabdfl          |   152
[08:16] <wgrant> StevenK: I will need to find something else to harrass you about.
[08:16] <wgrant> If you've started committing regularly.
[08:16] <StevenK> Haven't you harrassed me enough about this branch?
[08:16] <wgrant> It's a very dangerous branch.
[08:16] <wgrant> So no.
[08:16] <StevenK> My frustration is peaking
[08:17] <wgrant> In its current state it will break pocket copies in at least two ways.
[08:17] <wgrant> Your frustration may peak, but it still won't land :)
[08:18] <StevenK> I'm willing to state that it needs more tests, but if you're just going to say "It's dangerous" and not point out which particular cases need more care, then I'm just going to get more frustrated.
[08:18] <wgrant> I pointed out some of the cases in my first comment.
[08:18] <StevenK> And reviewing a branch isn't supposed to be a battle of wills.
[08:19] <wgrant> It's not a battle of wills.
[08:19] <wgrant> So, my worries are:
[08:19] <wgrant>  1) This is now used in copies, forrealz.
[08:19] <StevenK> At the moment it feels like it.
[08:20] <wgrant>  2) It only finds overrides within the pocket, which means that pocket-copies eg. from -proposed to -updates will end up in the wrong place.
[08:21] <StevenK>         # When we copy source/binaries from one pocket to another, their
[08:21] <StevenK>         # overrides are respected.
[08:21] <wgrant>  3) I don't know how well it's going to handle partner and copy archives and stuff.
[08:21] <StevenK> ^ That is the case you're concerned about?
[08:22] <wgrant>  4) This changes a lot and could have severe consequences on several untested processes, so no caution is undue.
[08:22] <wgrant> "their overrides are respected" is unclear, but that could be it.
[08:24] <StevenK> wgrant: I don't care about landing, I care about personally feeling that I'm making progress. At the moment it feels like The Immovable Object versus The Unstoppable Force
[08:25] <wgrant> You are making progress. But this is a big change with a lot of cases that need to be covered before it's safe.
[08:26] <StevenK>         # When we copy source/binaries from one pocket to another, the
[08:26] <StevenK>         # overrides are unchanged from the source publication overrides.
[08:26] <wgrant> I have made specific statements about the things that concern me.
[08:26] <wgrant> StevenK: It may be better to phrase (and code) that as just picking the latest overrides, regardless of pocket.
[08:27] <LPCIBot> Project devel build #728: FAILURE in 14 min: https://lpci.wedontsleep.org/job/devel/728/
[08:27] <StevenK> Uh oh
[08:28] <StevenK> bzrlib.errors.InvalidHttpResponse: Invalid http response for https://xmlrpc.launchpad.net/bazaar/: Unable to handle http code 502: Bad Gateway
[08:28] <wgrant> That's not meant to happen when there's no rollout going on.
[08:28] <lifeless> its not meant to happen period
[08:28] <stub> What does it mean if a derived distro is an overlay over a parent distro ?
[08:29] <wgrant> lifeless: Wasn't it an accepted downside of the current nodowntime process?
[08:29] <StevenK> stub: It inherents all of the parent's packages, except for those are explicity published in it.
[08:29] <StevenK> stub: Think PPA, except for Distributions
[08:29] <wgrant> stub: The derived series doesn't have the parent's packages in its own archive. Its builds' sources.lists refer to the parent series' archive.
[08:29] <wgrant> Like PPAs, right.
[08:30] <lifeless> wgrant: interrupted requests yes, bad gateways no
[08:30] <wgrant> lifeless: Isn't that a bad gateway?
[08:30] <stub> StevenK: So what does it means if it doesn't have that set? I had assumed that behaviour for derived distros.
[08:30] <wgrant> lifeless: It's not a 503 or a 504, so it's probably a 502.
[08:30] <StevenK> stub: If it isn't an overlay, it is just a derived series
[08:30] <stub> Why would you have a derived distro that doesn't inherit the parents packages?
[08:30] <StevenK> stub: Because you only want a subset
[08:31] <StevenK> For instance
[08:31] <stub> So you would have to manually specify all the packages to pull in? Whitelist rather than blacklist?
[08:31] <StevenK> Yes
[08:31] <stub> ok.
[08:31] <lifeless> stub: debian -> ubuntu is non-overlay
[08:31] <lifeless> stub: ubuntu -> oem is overlay
[08:31] <stub> I see.
[08:32] <lifeless> with overlays clients have both archives in their sources.list
[08:32] <lifeless> with non-overlay they have only the derived distro
[08:33] <stub> Will a PPA become a non-overlay derived distro?
[08:34] <wgrant> An overlay derived distro.
[08:34] <StevenK> With multiple parents too, whee
[08:34] <lifeless> a single parent overlay derived distro is roughly equivalent to a PPA
[08:35] <lifeless> but with better management of packages
[08:35] <stub> Cool. So we could, say make our own personal Ubuntu variant overlay ubuntu, overlay the Launchpad PPA, Bazaar PPA etc.
[08:35] <lifeless> it should probably nuke all ppas in favour of such overlays eventually
[08:35] <wgrant> lifeless: That's Julian's intention.
[08:35] <StevenK> It's also a long-term goal
[08:36] <stub> YouBuntu :-)
[08:36] <StevenK> stubuntu
[08:39] <adeuring> good morning
[08:39] <henninge> Hi adeuring! ;)+
[08:40] <henninge> s/+//
[08:40] <adeuring> moin henninge
[08:43] <stub> So I just approved a patch to the DistroSeriesParent table, which is not yet in use I think. The new columns - did we not realize they were needed when we initially created the table, or do we need to tweak something to avoid unnecessary landings on db-devel ?
[08:44] <StevenK> stub: Julian rushed the DistroSeriesParent creation
[08:44] <StevenK> Effectively
[08:45] <lifeless> stub: http://www.readwriteweb.com/cloud/2011/04/5-graph-databases-to-consider.php
[08:45] <rvba> stub: I think the whole parent/child overlay thing was not completely thought through when the DSP table was created.
[08:45] <stub> k. As long as everyone is aware we need to do the db stuff upfront when possible. Was wondering if two people got tasked with different parts of the same feature and we ended up with two patches in different cycles because of that.
[08:46] <stub> Right.
[08:46] <jtv> The requirements for multiple parents and all the rest weren't discovered until we'd already started developing.
[08:46] <jtv> The feature's design got a bit hectic as a result, and we have some grand plans for simplifying it but we can't afford to do that now.
[08:46] <stub> Yeah, I was expecting we learnt they were needed part way through.
[08:46] <stub> I don't think we can avoid that entirely.
[08:48] <stub> lifeless: Might want that sooner than later - losas raising disk space warnings again and we can't rely on the SAN arriving in time for that.
[08:48] <lifeless> stub: what service are they raising that on ?
[08:48] <spm> wildcherry, but all
[08:48] <stub> all three db nodes
[08:48] <lifeless> ah
[08:49] <lifeless> where are we at on the branchrevision shrinkage
[08:49] <stub> chokecherry has space, but two copies of the database. If we ran out now, I'd need to switch to single master running on chokecherry.
[08:50] <StevenK> How can I get bzr shelve to show what is stored in an id?
[08:50] <wgrant> bzr unshelve --preview ID
[08:51] <stub> lifeless, jtv: I think we are down to one remaining glitch in hacking the internal tables to drop the id column. There might be a redundant index we can drop right now.
[08:51] <jtv> That'd be nice.
[08:51] <jtv> What's the glitch?
[08:52] <stub> lifeless, jtv: If we want, we might be able to punt this to 3rd party support and let them chase through the hidden dependencies in the catalog.
[08:52] <lifeless> how much space are we expecting to save
[08:52] <jtv> stub: sounds good... may send them into a panic though.
[08:52] <jtv> lifeless: order of 20GB last I looked.
[08:52] <lifeless> if its enough to save us, then we should escalate it, yes.
[08:52] <stub> jtv: IIRC the index we are using as the new primary key is still linked to a unique constraint on the table. That needs to be broken.
[08:53] <stub> jtv: We end up with a database schema that can be dumped, but the restore fails.
[08:53] <lifeless> win
[08:54] <stub> jtv: https://code.launchpad.net/~stub/launchpad/drop-branchrevision-id/+merge/55480
[08:54] <stub> lifeless: I think I'd get them to go over it anyway - more eyes, less chance of blowing off our foot.
[08:54] <lifeless> in this case, entire leg
[08:54] <lifeless> :)
[08:55] <jtv> stub: any particular part you'd like me to look at?
[08:56] <stub> jtv: If you have time, run that patch, do a dump restore, and see if the problem that demonstrates is obvious to fix. I think you are more familiar with these internals as you have talked it over more with the core devs. Maybe it is just a silly mistake I introduced working from your notes?
[08:56] <StevenK> stub: Your patch number is 62, but you insert 99 into the DB
[08:56] <jtv> stub: I don't have that much time right now :(  Especially with the holidays I'm way behind on Feature stuff.
[08:57] <stub> StevenK: There is also deliberate syntax error in there - I don't want this to accidentally land anywhere :)
[08:58] <StevenK> stub: Heh, I missed that
[09:01] <stub> lifeless: We can also consider switching the data partition to RAID 5 for the extra space. Need to benchmark on similar hardware to see if that copes with our current write load (I suspect it would).
[09:02] <lifeless> I seem to remember a few GB we can save by repacking some indices
[09:03] <lifeless> I'll also talk with elmo about options on thursday
[09:05] <lifeless> neo4j.org does look interesting
[09:36] <LPCIBot> Project windmill-devel build #99: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/99/
[10:14] <poolie> gmb, hi
[10:14] <poolie> i liked your post
[10:14] <poolie> could i persuade you to put it on the lp blog?
[10:15] <gmb> poolie: Thanks. I've already got that on my todo list for today.
[10:16] <poolie> :)
[10:18] <mrevell> Morning
[10:20] <poolie> gmb it's so great to see new non-canonical contributors
[10:20] <poolie> and such an advantage for launchpad compared to the other leading brands
[10:21] <nigelb> \o/
[10:21] <nigelb> It worked :)
[10:21] <gmb> Definitely
[10:21]  * nigelb hugs gmb, wgrant, and StevenK :)
[10:21] <gmb> :)
[10:24] <StevenK> nigelb: You're welcome! Wait until your change is on production. :-)
[10:24] <wgrant> With a bit of luck that will be tomorrow morning.
[10:24] <nigelb> \o/
[10:24] <nigelb> Now, on to find another candidate bug to fix.
[10:25] <wgrant> Faster!
[10:27] <jml> soren: sort of.
[10:27] <jml> soren: we generally try very hard to help GMail users, they make up a huge percentage of our users
[10:28] <jml> soren: in this case, a lot of the web-side filtering is a work-around for GMail brokenness
[10:28] <wgrant> Same with all the textual cruft in the emails :/
[10:28] <soren> I see.
[10:45] <henninge> err, what is this?
[10:45] <henninge> description = IBug['description']
[10:45] <henninge> never seen an Interface used like that.
[10:48] <wgrant> henninge: Interfaces are not classes. Their members appear as items, not attributes.
[10:48] <henninge> wgrant: but what does this give me?
[10:48] <henninge> There is no instance involved
[10:49] <henninge> I didn't know that, btw.
[10:49] <wgrant> henninge: It should give you the interface field.
[10:50] <henninge> ah, obviously
[10:51] <henninge> so that is written confusingly. It should not call the value "description" but "description_field"
[10:51] <henninge> wgrant: thanks
[10:51] <wgrant> Hmm? Why?
[10:51] <wgrant> Oh, right.
[10:51] <wgrant> Yeah, I guess.
[10:54] <LPCIBot> Project windmill-db-devel build #289: STILL FAILING in 1 hr 11 min: https://lpci.wedontsleep.org/job/windmill-db-devel/289/
[11:02] <jtv> rvba: Q about the +localpackagediffs page
[11:02] <jtv> rvba: for various reasons we'll want to disable or replace the checkboxes for some of the DSDs we display.
[11:02] <rvba> jtv: yes?
[11:03] <jtv> Do you have any quick ideas of where in the code to look for those?
[11:03] <jtv> (This is where advanced frameworks always get to me... you can't grep because it's all implicit)
[11:04] <rvba> jtv: right now this is controlled by canPerformSync (grep for that)
[11:05] <jtv> rvba: excéllent, thank you!
[11:05] <rvba> but of course it's a global thing.
[11:05] <jtv> How global?
[11:05] <jtv> I may affect Inuits when I mess with it?
[11:06] <rvba> ;) it either all the checkboxes are displayed ... or none.
[11:06] <jtv> Oh!
[11:06] <jtv> _That_ global.
[11:06] <jtv> Then I can't use that right now.
[11:06] <jtv> But canPerformSync will probably still get me closer to where I need to be.
[11:06] <jtv> And perhaps save a few Inuits.
[11:07] <rvba> Perhpas you could compute the ids of the DSD for which the checkbox should not be displayed in the view with a method to query that, then use the method in the template.
[11:07] <jtv> Just chatted with J and we both had examples where the checkbox shouldn't be displayed: child version > parent version, and package is already being sync'ed.
[11:08] <rvba> Right.
[11:08] <jtv> I'd rather annotate the DSDs.  There may be more than just a boolean: when there's a sync job pending, I'd like to replace the checkbox with a "please wait" clock.
[11:08] <rvba> jtv: I know I don't have to tell you this ... but beware of the dreaded one query per DSD thing ;).
[11:09] <jtv> Oh yes, thank you, this database stuff is all very new to me.  :-)
[11:09] <rvba> jtv: ;)
[11:10] <jtv> (This morning I found myself wondering about prefetching Zope navigations in SQL, which should tell you something about how much I care!)
[11:10] <rvba> jtv: anyway, greping for canPerformSync will give you all the right spots.
[11:10] <jtv> You know: https://launchpad.net/ubuntu/natty/ could fetch Ubuntu and Natty in 1 query.
[11:10] <jtv> That's a great help.  Thanks again!
[11:11] <rvba> jtv: Glad to help.
[11:11] <jtv> allenap: while I'm at it, maybe I should just fix IPlainPackageCopyJob.getActiveJobs to check for job status?
[11:12] <rvba> (jtv: I think allenap is not here today.)
[11:12] <jtv> oh
[11:55] <gmb> Vexed. Going to get food.
[12:00] <poolie> jtv , hi
[12:00] <poolie>  jtv, i was wondering if you could pilot james's long-outstanding approved mp
[12:01] <jtv> poolie: what MP is that?
[12:02] <poolie> it' the top one on activeeviews
[12:02] <poolie> https://code.launchpad.net/~james-w/launchpad/more-matchers/+merge/32057
[12:02] <jtv> thanks
[12:02] <poolie> nearly 6m old
[12:02] <jtv> I hope it'll still work then!
[12:03] <jtv> poolie: I'm a bit under the weather and not thinking too clearly... all it seems to need now is to be landed, right?
[12:03] <poolie> apparently so
[12:04] <poolie> tested and landed that is
[12:04] <LPCIBot> Project windmill-devel build #100: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/100/
[12:04] <jtv> OK
[12:09] <poolie> thanks
[12:19] <jtv> poolie: riddled with conflicts now.  :(
[12:19] <jtv> Thanks for picking that up though.  We need to get used to checking for this.
[12:28] <poolie> yes
[12:28] <poolie> if nly there was a page that showed you all the outstanding reviews :)
[12:28] <poolie> actually the +mps page could be better about showing ones that need help
[12:41] <jtv> poolie: this is weird... when I try to merge that branch into a fresh devel, I get conflicts on files that the branch (going by the MP diff against devel) did not touch.
[12:42] <poolie> that is strange
[12:42] <poolie> i'll try it when my meeting's over
[12:42] <poolie> there's also one from cjwatson that may now be able to proceed
[12:42] <poolie> would be worth pinging it
[12:42] <wgrant> poolie: That's waiting on python-apt fixes from Platform.
[12:43] <wgrant> And jelmer's has a few test failures that I was going to look at this week.
[12:43] <cjwatson> yeah, I need to check with mvo about that
[12:43] <jtv> thanks poolie...  there's nothing more I can do today I'm afraid.
[12:43] <poolie> just wasn't sure if it was still blocked
[12:44] <poolie> i guess the conflicts may be that he newly added lib/lp/soyuz/testing?
[12:44] <poolie> i'll merge it and see what i can do
[12:44] <wgrant> Probably.
[12:44] <jtv> Maybe I _should_ however take the time to file bugs for suspend, hibernate, battery time estimation, and Tomboy not saving my data for hours on end.  :(
[12:45] <jtv> They combine so neatly into total data loss.
[12:49] <barry> lifeless or flacoste this page times out for me 100% of the time now:
[12:49] <barry> https://bugs.launchpad.net/ubuntu/+bugs?field.tag=python27
[12:49] <poolie> james_w: do you think you'll come back to this or do you want it piloted?
[12:49] <barry> please, is there anything you can do to help me?
[12:50] <james_w> it would be great if someone could land it for me
[12:51] <wgrant> barry: Hm, worked second load for me.
[12:52] <barry> wgrant: dang
[12:52]  * barry rides the reload button
[12:52] <gmb> barry: Annoyingly for you, works first time for me.
[12:52] <wgrant> Maybe you have more teams than me or something.
[12:52] <barry> could be, yeah
[12:54] <wgrant> 8.49s, so it's very close.
[12:58] <barry> wgrant: i'll keep hammering it.  maybe i'll get lucky and hit a warm cache ;)
[12:58] <wgrant> barry: Do you have an OOPS ID?
[12:58] <wgrant> We may work out it's just over the threshold and bump that page by a couple of seconds.
[12:59] <wgrant> lifeless suggested it was far worse.
[12:59] <wgrant> But the fact that it's a few hundred ms under for me suggests he may have ben mistaken.
[12:59] <barry> (Error ID: OOPS-1964EA274)
[12:59] <barry> and hey, a reload just got me the page!
[12:59] <wgrant> Thanks.
[13:00] <barry> wgrant: thanks
[13:01] <wgrant> Hm, we should just increase the limit.
[13:01] <wgrant> The main query was only 7.5s.
[13:02] <wgrant> It was just doing the final rendering when it was killed :(
[13:03] <barry> wgrant: related, if i do an advanced search to get also fixed released and tagged python27 i get another timeout:
[13:03] <barry> (Error ID: OOPS-1964DV295)
[13:03] <barry> https://bugs.launchpad.net/ubuntu/+bugs?field.searchtext=&orderby=-importance&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_supervisor=&field.bug_commenter
[13:03] <barry> er, http://tinyurl.com/6xyzrf3
[13:03] <bigjools> our urls rock
[13:04] <wgrant> 9s query :(
[13:18] <jml> bigjools:
[13:18] <jml> https://bugs.launchpad.net/launchpad/+bug/325982
[13:18] <_mup_> Bug #325982: Search URL is long and hard to paste <lp-bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/325982 >
[13:19] <bigjools> yeah I think I've seen that before
[13:22] <bac> sinzui: i should know this but don't remember, did stevenk graduate as a reviewer?
[13:23] <bac> oh, i guess i could ask StevenK directly...
[13:30] <henninge-lunch> is the LP.cache meant to be included on anonymous pages?
[13:30] <henninge> I am not sure what this is trying to achieve:
[13:30] <henninge> <tal:cache condition="view/user|nothing"
[13:31] <wgrant> That doesn't seem to make very much sense.
[13:31] <wgrant> It would seem reasonable to include it sometimes, but I can't think of anything that needs it now.
[13:31] <henninge> I think it is supposed to mean "Don't complain about missing user attribute, just make the condition False."
[13:31] <henninge> wgrant: would this be correct:
[13:32] <henninge> <tal:cache condition="view/user|false"
[13:32] <henninge> ?
[13:32] <wgrant> I don't think so.
[13:32] <henninge> hm
[13:32] <wgrant> 'nothing' is the correct thing to use there.
[13:32] <wgrant> If view/user might not exist.
[13:32] <henninge> but it seems to evaluate to true always
[13:33]  * henninge checks  that
[13:33] <wgrant> It should be None for anonymous requests...
[13:47] <bac> hi mrevell
[13:47] <mrevell> Hey bac
[13:53] <danilos> anyone know anything about this failure on buildbot: https://lpbuildbot.canonical.com/builders/lucid_db_lp/builds/958/steps/shell_6/logs/summary?
[13:53] <wgrant> rabbitmq failed.
[13:53] <wgrant> Spurious.
[13:53] <wgrant> Already forced.
[13:54] <wgrant> I will talk to lifeless tomorrow and probably disable it.
[13:54] <wgrant> Since it has been happening a lot.
[13:56] <henninge> wgrant: I read that wrong. The LP.cache["context"] is unconditional. The tal:condition above works correctly.
[13:57] <danilos> wgrant, ok, cool, thanks
[14:02] <deryck> henninge, ping for standup
[14:02] <henninge> yup
[14:04] <henninge> deryck: trouble ...
[14:04] <deryck> henninge, ok, we'll start and join us when you can
[14:12] <wgrant> bigjools: Sadly, security updates sometimes do add new packages (thing Firefox and co.)
[14:13] <wgrant> bigjools: Also, I suggested this yesterday or so:
[14:13] <wgrant> 15:26 < wgrant> StevenK: I evisage that primary archives will use a chain of UnknownComponentOverridePolicy and FromExistingDestinationOverridesPolicy, while PPAs might use MainOnlyOverridePolicy and FromSourceOverridesPolicy, and copy archives might use FromSourceOverridesPolicy and FromExistingPrimaryOverridesPolicy
[14:13] <wgrant> 15:27 < wgrant> Er, last case is the wrong way around. FromExistingPrimaryOverridesPolicy and FromSourceOverridesPolicy
[14:14] <wgrant> Which seems to be a similar sort of idea to your PPA main overriding thingy.
[14:14] <wgrant> I am glad we are thinking along similar lines.
[14:38] <StevenK> bac: Indeed I did
[14:38] <StevenK> bac: thumper sent out a mail about it
[14:39] <sinzui> jcsackett: ping
[14:41] <StevenK> bigjools: At the last comment of "Do our tests suck so much that made no difference?!" yes
[14:42] <StevenK> bigjools: I was attempting to nail down a bug when I noticed that.
[14:44] <wgrant> Eventually the copier will be split up enough that it's unittestable.
[14:48] <bigjools> StevenK: *sadface*
[14:52] <sinzui> abentley: Do you have time to review https://code.launchpad.net/~sinzui/launchpad/answers-api-3/+merge/61346
[14:53] <abentley> sinzui: yep.  I was already reading it, in fact. :-)
[14:58] <abentley> sinzui: I would prefer to write the new tests as unit tests.  r=me.
[15:00] <sinzui> abentley: I understand. My intent is to document how the webservice works. I have full faith in the existing unit tests are correct
[15:00] <LPCIBot> Yippie, build fixed!
[15:00] <LPCIBot> Project devel build #729: FIXED in 5 hr 23 min: https://lpci.wedontsleep.org/job/devel/729/
[15:01] <abentley> sinzui: ISTM that the web service you just added could not possibly be already unit-tested.
[15:02] <sinzui> abentley: I only exposed the methods. So I wrote a documentation that verified the they were exposed, and explain to a user how to make a request to get the data
[15:02] <jml> woot! sub 200 crit bugs in launchpad itself (22 in stuff like launchpad-buildd, lazr.delegates, qa-tagger etc)
[15:02] <jml> sinzui: hi
[15:03] <sinzui> abentley: What the methods do are already tested
[15:03] <jml> sinzui: we have a call now
[15:03] <wgrant> Does https://launchpad.net/~launchpad-hackers do anything these days?
[15:03] <abentley> sinzui: Right.  The fact that they are exposed, and exposed correctly is not already tested, and I would unit-test that if it were me.
[15:04] <jml> wgrant: don't know.
[15:04] <sinzui> abentley: How are they not exposed correctly?
[15:04] <jml> wgrant: also, I wonder how we could change Launchpad so you wouldn't have to ask.
[15:04] <abentley> sinzui: I'm not asserting that they're not exposed correctly.
[15:04] <abentley> sinzui: I'm saying that I would add unit tests to ensure that they were exposed correctly.
[15:05] <wgrant> jml: I'm pretty sure that's just about in scope for next week.
[15:05] <wgrant> Let's try deleting it in a transaction on dogfood and see what breaks.
[15:05] <jml> wgrant: if you squint hard enough, yes.
[15:05] <sinzui> abentley: I think that doc test does that. Since I changed an interface, I wanted that documented. I do not like writing duplicate tests, which I think a unittest would be in this case. I did not change the model.
[15:06] <abentley> sinzui: I don't like writing duplicate tests, either, so I would not write the doctests.
[15:07] <jml> wgrant: you've checked celebrities, I guess.
[15:07] <sinzui> abentley: Interfaces are the only thing that needs documentation in Lp, And since I actually want users to read how to use answers of the API, doctests are the correct way to demonstrate what was exposed
[15:07] <LPCIBot> Project windmill-db-devel build #290: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-db-devel/290/
[15:07] <jml> sinzui: I'll be back in a bit. am very keen to talk today.
[15:08] <wgrant> jml: Yeah. It's all old pre-opensourceing private branch subscriptions.
[15:08] <sinzui> jml: I am on mumble
[15:08] <sinzui> didn't you hear me
[15:09] <wgrant> And branch visibility policies for lp-dev-utils and bzrbuildbot... both of which should probably be canonical-launchpad-branches now.
[15:10] <abentley> sinzui: I don't think interfaces need this kind of documentation.  I don't think it is really helpful.
[15:12] <sinzui> I disagree. In fact. the first unit-test only tests of answers did not demonstrate how to use it. We had to land multiple fixes because we actually want to know how to write scripts a particular way.
[15:14] <abentley> sinzui: oh, on line 59, you misspelled "IQuestionTarget".
[15:15] <sinzui> Oh, yes, there is a good chance I that. I wrote this in bed last night.
[15:15] <sinzui> I will spell check the changes
[15:16] <wgrant> sinzui: How does a team merge handle memberships in the team that is to be destroyed?
[15:17] <sinzui> wgrant: all membership are removed. Nothing is transferred because there is a high probability of hitting a CyclicTeamMembershipError
[15:17] <wgrant> sinzui: That's what I hoped. Thanks.
[15:17] <jcsackett> sinzui: pong.
[15:18] <sinzui> jcsackett: I wanted to catchup in bugs, I am, or will be, in a meeting now. Maybe later
[15:18] <jml> sinzui: no, I didn't. I'm not on mumble.
[15:18] <sinzui> nothing again?
[15:18] <jcsackett> sinzui: ok. i'll try to be more responsive on your next ping. :-)
[15:18] <jml> sinzui: it's been having trouble connecting today.
[15:18]  * jml will try rebooting. 
[15:24] <sinzui> jml: I do not see you speaking. Did you hear me?
[15:24] <jml> sinzui: I am not connected to mumble
[15:24] <jml> sinzui: you see merely a figment.
[15:24] <sinzui> My mumble sees you
[15:24] <jml> sinzui: can I skype you or call your phone?
[15:24] <sinzui> I will start skype
[15:25] <jml> sinzui: thank you
[15:42] <adeuring> deryck: could you please run the two queries in https://pastebin.canonical.com/47578/ on staging?
[15:48] <LPCIBot> Project windmill-devel build #101: STILL FAILING in 47 min: https://lpci.wedontsleep.org/job/windmill-devel/101/
[15:50] <deryck> adeuring, sure, I'll get them now.  Was on a call, sorry.
[15:50] <adeuring> deryck: thanks!
[15:50] <deryck> adeuring, also, I can take IRC on #launchpad now.  Sorry about being late.
[15:51] <adeuring> no problem :)
[16:01] <deryck> adeuring, https://pastebin.canonical.com/47580/  twice for each query.  once cold, once hot.
[16:01] <adeuring> deryck: thanks!
[16:01] <deryck> adeuring, np!
[16:21] <jml> sinzui: ready when you are
[16:56] <nigelb> \o/
[16:56] <nigelb> So, buildbot succeeded with my changes
[16:57] <nigelb> does that mean that rev lands into production soonish?
[16:58] <LPCIBot> Project windmill-db-devel build #291: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-db-devel/291/
[17:00] <jml> cjohnston's still got some unlanded branches. what's happening there?
[17:00] <jml> nigelb: yes.
[17:01] <jml> nigelb: it needs to be verified as not going to break production
[17:01] <nigelb> jml: *whee* Now, I have to find more to work on.
[17:01] <jml> tbh, I don't know how to do that, or what page to look at.
[17:02] <nigelb> I'm just scrolling through the easy bugs and trying to figure out if there's something I can work on.
[17:02] <jml> hmm. http://lpqateam.canonical.com/
[17:02] <jml> but it's out of date
[17:37] <SpamapS> interesting, I just got a chrome "ERR_SOCKET_NOT_CONNECTED" while spinning waiting on this page: https://launchpad.net/ubuntu/+source/munin
[17:38] <SpamapS> not the first time I've had this issue.. refresh works very fast
[17:38] <SpamapS> It seemed to spin for about 9 - 10 seconds .. I wonder.. is something cutting off the connection before the OOPS message appears?
[17:59] <cjohnston> jml: one I still need to work on, the other I believe is ready
[18:00] <jml> cjohnston: cool. I'm just worried about it getting stuck in "Approved" while we wait for a core dev to land it.
[18:00] <cjohnston> So should I ping one of the reviewers?
[18:01] <jml> cjohnston: a good idea. henninge is generally around in the .de day
[18:01] <cjohnston> He is the one who approved it iirc.. Does he have commit access?
[18:02] <jml> cjohnston: indeed.
[18:03] <jml> cjohnston: although, huh, I guess it's a bit sub-optimal that you can't tell that easily from the website.
[18:03] <cjohnston> Why would he approve it but not land it?
[18:03] <jml> cjohnston: I honestly don't know.
[18:03] <cjohnston> ok
[18:03] <cjohnston> I pinged somone yesterday and got them to land 3.
[18:04] <jml> cjohnston: one possibility is that he ran it through tests and they failed.
[18:04] <cjohnston> so I'm up to 4 landed I think
[18:04] <cjohnston> ok
[18:04] <jml> cjohnston: however, the normal way of doing that would also result with you receiving an email
[18:04] <cjohnston> I didn't get any hate mail from it.. but I dunno
[18:04] <jml> right.
[18:05] <jml> cjohnston: anyway, I'm being dragged away from my computer. will keep hassling to get them landed from my side, you should do the same.
[18:05]  * jml is off
[18:05] <cjohnston> Okie.. ty
[18:27] <sinzui> Why the F do users keep linking  packages to /launchpad when the package does not contain Lp code? Don't these users know I can track them down and club them like a baby seal?
[18:37] <abentley> deryck: I'd like to do a pre-imp call on bug 648075
[18:37] <_mup_> Bug #648075: Automatic translations export fails intermittently <branch-scanner> <lp-translations> <oops> <Launchpad itself:Triaged by abentley> < https://launchpad.net/bugs/648075 >
[18:37] <deryck> abentley, sure.  I have TL call in 20 minutes.  can we do it before, or should we catch up after?
[18:38] <abentley> deryck: I think "before" works.
[18:38] <deryck> ok, firing up mumble now
[18:46] <sinzui> I see that since blueprints were re-enabled, users are using it to request features. I do not think any of the 286 blueprints I see are work we are undertaking.
[19:00] <abentley> deryck: did you consider registering NotFound as a 404 error?
[19:02] <deryck> abentley, it was already handled as a 404.  I just decorated it to not OOPS.  see: https://code.launchpad.net/~deryck/launchpad/404-bug-api-generates-oops-701246/+merge/61407
[19:02] <deryck> well, not literally decorated it.
[19:13] <abentley> deryck: I mean that you can specify an error status for a particular exception class, and that will always be used when that exception is raised.
[19:16] <abentley> deryck: e.g. lp.soyuz.interfaces.archive.CannotCopy
[19:25] <benji> deryck: so there was a bug in lib/canonical/launchpad/webapp/errorlog.py; good catch!
[19:33] <lifeless> gary_poster: sinzui: flacoste: deryck: http://webnumbr.com/.join(launchpad-oops-bugs.all,launchpad-timeout-bugs.all,launchpad-critical-bugs.all)
[19:48] <deryck> benji, thanks!  Yeah, that was a bit tricky to spot, but once I saw it was sooo clear. ;)
[19:48] <deryck> abentley, sorry, was on TL call
[19:48] <abentley> deryck: no worries, I thought so.
[19:48] <benji> :)
[19:50] <deryck> abentley, so NotFound is not an exception.  it's imported from zope.publisher and we have a view hooked up to it, which sets the status to 404.
[19:51] <lifeless> deryck: heh, so we oops on 404 deliberately
[19:52] <lifeless> deryck: but we filter it on the oops server if the url was non-local
[19:52] <lifeless> deryck: so we see bad links that we generate (in principle) by depending on referer
[19:52] <abentley> deryck: NotFound is an exception.  It derives from BaseException.
[19:53] <rvba> I've fixed the stable -> db-devel conflict (Julian -> me conflict ;)). Should I submit it to pqm or someone wants to take a look at it first?
[19:53] <deryck> abentley, are we both talking about zope.publisher.interfaces.NotFound?
[19:53] <abentley> deryck: Yes.  We don't define it, but it is an exception.
[19:54] <bac> abentley: can you have a look at a very simple branch:  https://code.launchpad.net/~bac/launchpad/bug-781987/+merge/61459
[19:54] <abentley> bac: sure.
[19:55] <deryck> abentley, ok, sure.  if you follow it back far enough.  my point though is that it really is already registered in a sense as 404, via zcml and the view it's hooked up to, no?
[19:55] <deryck> my little fix has generated so much interest ;)
[19:57] <jcsackett> sinzui: did you want to chat?
[19:57] <abentley> deryck: Perhaps it's registered as a 404 in some sense, but I don't think the class is registered with lazr.restful as a 404.  If it was, you wouldn't need to call expose on its instances.
[19:57] <deryck> lifeless, yeah, I meant "not raising an OOPS for any resource" when dealing with the webservice only.  I wasn't meaning for any request on launchpad itself.  sorry for the bad choice of language.
[19:57] <lifeless> deryck: de nada, I should have read the diff more closelhy
[19:58] <abentley> bac: r=me
[19:58] <bac> thanks aaron
[19:59] <deryck> abentley, ah, ok.  I see what you're suggesting now.  I arrived at this fix after chatting with benji, and thought this was the best way to fix this for the webservice.
[19:59] <deryck> hmmm, I do think it's right.
[19:59] <abentley> deryck: I think you could call expose on the class instead, and that would mean that all instances would be treated as 404s.
[20:00] <sinzui> jcsackett: do you have time to mumble?
[20:00] <deryck> abentley, what do you mean by client?  launchpadlib, lazr.restfulclient?
[20:00] <deryck> something else?
[20:01] <benji> you can declare that a class of exception is always the client's "fault" (using a different mechanism) and such it won't generate an OOPS, or you can decorate a particualar instance
[20:01] <abentley> deryck: I don't think I said anything about clients.  Did I?
[20:01] <deryck> abentley, doh, sorry.  misread class as client
[20:02] <deryck> that's why it didn't make sense ;)
[20:02] <abentley> deryck: ah.
[20:02] <deryck> abentley, now which class do you mean?  NotFound ?
[20:02] <abentley> deryck: yes.
[20:03] <abentley> deryck: e.g. expose(NotFound, 404)
[20:05] <deryck> abentley, so expose may be misleading.  it doesn't expose this as 404.  it sets a variable on the exception to 404, which the error handler uses to determine if we should log an OOPS.
[20:05] <deryck> maybe IRC isn't the best for this discussion.
[20:06] <deryck> abentley, should we mumble to save time?
[20:06] <abentley> deryck: sure.
[20:11] <rvba> I'm going to submit my fix to the pqm then. I hope you guys can cover up for me in case anything goes wrong.
[20:11] <rvba> (it's a tiny fix so I'm not really worried)
[20:39] <LPCIBot> Project devel build #730: FAILURE in 5 hr 31 min: https://lpci.wedontsleep.org/job/devel/730/
[21:39] <magcius> jam, ping: re Loggerhead CSS?
[21:43] <deryck> abentley, that branch is done, if you're up for giving me a proper review.  Though I'm EOD'ing very soon.
[21:44] <abentley> deryck: sure
[21:44] <deryck> abentley, thanks!
[21:47] <abentley> deryck: r=me.  Your change at line 8/9 is probably not needed, but I think it's correct anyway.
[21:48] <deryck> abentley, I'm fairly certain it is.  I can confirm.
[21:48] <LPCIBot> Project windmill-devel build #102: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/102/
[21:49] <abentley> deryck: the fact that expose exists implies that you should be able to attach a status to an instance, so I think it makes sense to honour that.
[21:51] <deryck> abentley, ah, I see what you mean.  I'm patching the class, not the instance now.  and yeah, we should probably leave the change I added, so it is possible in the future.
[21:53] <LPCIBot> Project windmill-db-devel build #292: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-db-devel/292/
[21:54] <deryck> we should kill those windmill notices here.  no one is doing anything about it.
[22:05] <deryck> Later on, everyone
[22:31] <mwhudson> wallyworld: define POPO pls?
[22:32] <wallyworld> mwhudson: plain old python objects. ie ones with no infrastructure attributes or extending storm classes etc
[22:32] <mwhudson> ah ok
[22:32] <wallyworld> sorry for the confusion
[22:34] <mwhudson> np
[22:34] <mwhudson> i that case i think i agree with you
[22:36] <mwhudson> (and am not going to spend half my day on that thread today given that i no longer work on launchpad :-p)
[22:37] <lifeless> :)
[22:39] <LPCIBot> Project windmill-db-devel build #293: STILL FAILING in 46 min: https://lpci.wedontsleep.org/job/windmill-db-devel/293/
[22:41] <jcsackett> sinzui: after our discussion and some technical problems i have a test that replicates the problem. bad news is the simple fix we talked about doesn't seem to address it. http://paste.ubuntu.com/609782/ is what i've done.
[22:42] <jcsackett> sinzui: any thoughts?
[22:51] <lifeless> jcsackett: what are you trying to reproduce?
[22:51] <jcsackett> lifeless: it's a permission bug on flag-membership-expired on relation account.
[22:52] <jcsackett> lifeless: bug 783476
[22:52] <_mup_> Bug #783476: Scripts failed to run: loganberry:flag-expired-memberships <easy> <regression> <teams> <Launchpad itself:In Progress by jcsackett> < https://launchpad.net/bugs/783476 >
[22:52] <lifeless> jcsackett: have you run security.py to apply those permissions to the test db ?
[22:53] <lifeless> (silly question I know, but still...)
[22:53] <jcsackett> not so silly--i was under the impression that was done automatically either via make or the testharness.
[22:54] <lifeless> its only done via 'make schema'
[22:54] <lifeless> or manually
[22:54] <lifeless> database/schema/security.py -d launchpad_ftest_template
[22:54] <lifeless> is the invocation, IIRC
[22:55] <jcsackett> i thought i did do make schema (what i meant when i said make). i'll try the direct invocation.
[22:59] <jcsackett> lifeless: that worked. thanks a ton.
[22:59] <lifeless> \o/
[23:13] <sinzui> jcsackett: is all okay?
[23:13] <jcsackett> sinzui: all is excellent. just wrote the MP.
[23:14] <sinzui> jcsackett: sorry about not telling you about the security,py. I did that a lot when working on the job fixes. I know it is an obscure thing
[23:15] <sinzui> jcsackett: You will need to remind the LOSA to run that to qa the work, and there will be warning about no permission assigned to out db functions. That is a non-issue
[23:26] <jcsackett> sinzui: good to know. thanks. :-)
[23:32] <sinzui> jcsackett: I approved your branch with a comment
[23:35] <jcsackett> sinzui: i am making the change you suggest.
[23:36] <sinzui> I am certain that bug 730393 can be fixed in less then an hour, but I have been away from the code for so long I do not remember how we suppress oopses for error pages we show users
[23:36] <_mup_> Bug #730393: when a user urls hacks we can get InvalidBatchSize oopses <oops> <trivial> <Launchpad itself:Triaged> < https://launchpad.net/bugs/730393 >
[23:39] <sinzui> Maybe I should just update the oops reporting util. InvalidBatchSize, NotFoundError, and GoneError should only be reported as an oops when Lp is the referer
[23:41] <lifeless> yes yes yes
[23:42] <lifeless> yes yes
[23:42] <lifeless> and finally yes
[23:43] <sinzui> lifeless: was that to add an conditional list error classes to exempt without a referer, similar to what we do with Unauthorized?
[23:44] <lifeless> without a referer or with a non .*launchpad\.net/.* referer
[23:45] <sinzui> jcsackett: wgrant, wallyworld. I just got a message that I need rescue a child. I am going to miss the meeting in 15 minutes.
[23:45] <wallyworld> sinzui: jcsackett: wgrant: i am ok to delay? or will it take too long to do what you need to do?
[23:46] <jcsackett> sinzui: okay. i hope all is well. i can also wait for you.
[23:46] <sinzui> wallyworld: maybe 15 minutes
[23:46] <sinzui> late
[23:46] <wallyworld> sinzui: ok. why don't you pings us when you are back
[23:47] <sinzui> lifeless: i think only report oopses with .*launchpad\.net/.* as referer...those we can fix
[23:47] <sinzui> wallyworld: okay I will
[23:47]  * sinzui find car
[23:47] <lifeless> sinzui: [of the NFE/DE cases - yes]
[23:47] <lifeless> sinzui: IBS could be self inflicted
[23:47] <lifeless> sinzui: perhaps we need to think about it more
[23:48] <lifeless> sinzui: oh, IBS with referers that are not .*launchpad\.net/.* are not self inflicted and we can discard them too
[23:49] <lifeless> sinzui: so yes, I agree