[00:24] <poolie> lifeless, for my education, is there a second category of oopses for things like 404s
[00:25] <poolie> like "probably not our fault"
[00:25] <poolie> ?
[00:27] <lifeless> I think at the moment that we do some second-pass filtering in the oops web UI
[00:27] <lifeless> Thats wasted overhead though
[00:27] <lifeless> OOPS are fairly expensive to create
[00:27] <lifeless> so I plan to remove that
[00:27] <poolie> btw hearty +1 to stopping launchpad-bugs backscatter
[00:27] <poolie> and i'm sure jam & co would agree too
[00:27] <lifeless> the rule of thumb for oopses is:
[00:28] <lifeless>  - if its logged we should do something about it
[00:28] <lifeless>  - (corollary) if its something we cannot do anything about, we should not log it
[00:33] <lifeless> sinzui: thoughts on https://bugs.launchpad.net/launchpad/+bug/744888/comments/4 ?
[00:33] <_mup_> Bug #744888: Muting bug 1 times out <bad-commit-12754> <story-better-bug-notification> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/744888 >
[00:35] <sinzui> lifeless: I thought Snapshot was taught to always ignore collection fields
[00:36] <lifeless> sinzui: Thus I'm asking you :)
[00:36] <sinzui> ah, but bugs and questions want to snapshot for the last message I think. Maybe it was not done
[00:37] <lifeless> a collection snapshot could just record the tip message (for some apporpriate order)
[00:37] <lifeless> and the delta is 'messages newer than X'
[00:37] <lifeless> [e.g. see my batch navigator work]
[00:39] <poolie> lifeless, i wonder if there needs to be a category like in bzr where we log a traceback but do not show it to the user
[00:39] <poolie> ie we don't think it's a problem, but if it turns out that they think it's a problem, they still have the data
[00:39] <lifeless> poolie: we have that [we use it for nearly-timedout-renders]
[00:40] <lifeless> poolie: but I don't think an OOPS is appropriate for the case we're discussing
[00:40] <lifeless> oopses gather a lot of data to permit diagnostics and correction
[00:40] <poolie> sure
[00:41] <lifeless> this case is pretty clear - the nonce /has/ been used. Whatever went wrong was in the request before the one having trouble
[00:41] <poolie> i agree with avoiding the waste and being clear about what's actually a problem
[00:41] <poolie> thumper, thanks for fixing bug 377519
[00:41] <_mup_> Bug #377519: Stacked on location breaks if the stacked upon branch is renamed <branch-stacking> <lp-code> <qa-needstesting> <Launchpad itself:Fix Committed by thumper> < https://launchpad.net/bugs/377519 >
[00:42] <poolie> if that's going to be rolled out gradually, i would like to add a note on the bug saying that people won't immediately be able to verify it as fixed
[00:42] <poolie> or, they won't immediately see the problem go away
[00:42] <poolie> is that correct/ok?
[00:42] <poolie> anyhow, it was a one off
[00:42] <thumper> poolie: it isn't fully fixed
[00:43] <poolie> i was just curious
[00:43] <thumper> poolie: I forgot to put the --incr flag on the landing
[00:43] <thumper> yes feel free to add a comment
[00:43] <lifeless> poolie: it won't be fixed fixed until we do something for existing branches
[00:43] <lifeless> I think communicating expectations to our users is a great idea
[00:43] <poolie> :-)
[00:43] <lifeless> I'd edit the summary at the top to describe whats going on
[00:43] <poolie> i really liked how you did that the other day
[00:43] <poolie> i forget which bug it was
[00:44] <lifeless> one reason to do this is that bug search only searches the subject and summary, not the comments.
[00:44] <lifeless> this was a performance thing resulting from the way the fti was assembled way back; I haven't had time to review and examine how to enable searching in commenets
[00:45] <lifeless> without messing up performance
[00:45] <wgrant> wallyworld_: BTW, Unity distracted me from saying this on the call, but I have no problem with Windmill being back.
[00:45] <wgrant> wallyworld_: I want it to be back on by default, but it's simply too expensive if it fails.
[00:46] <wallyworld_> wgrant: np. i agree
[00:46] <wgrant> wallyworld_: So I will not hesitate to disable it upon the first spurious failure in buildbot.
[00:50] <lifeless> sinzui: ok so we faded out there
[00:50] <lifeless> sinzui: is my suggestion a) broken, b) sensible, c) we need to modify how snapshotting deals with collections ?
[00:51] <lifeless> sinzui: or d) none of the above
[00:52] <sinzui> lifeless: sorry. I very distracted. IAre we certain that is needed? was it cargo culted from old code?
[00:53] <sinzui> as for bug and questions looking at messages, I think that is lazy design. I believe there are two emitters of the modifications and they know if a message was appended
[00:53] <lifeless> sinzui: bug one has several thousand messages
[00:54] <lifeless> sinzui: I'm certain we either need to not snapshot it, or snapshot it much more efficiently
[00:54] <lifeless> sinzui: *and* I'm certain that what is snapshotted internally shouldn't match the API attributes for this object either, as the API has different needs vs in-appserver deltas.
[00:55] <sinzui> So the publisher emitting the event should be clear what message was added instead of letting the subscriber guess. I do not think snapshot should be working with deap data
[00:55] <sinzui> deep
[00:56] <huwshimi> wallyworld_: From about line 450: http://bazaar.launchpad.net/~huwshimi/launchpad/private-objects-298152/view/head:/lib/lp/bugs/javascript/bugtask_index.js
[00:56] <lifeless> sinzui: ok, cool.
[00:56] <lifeless> so we doNotSnapshot it, see what breaks, fix the signal to contain the new message if needed
[00:57] <sinzui> yep
[01:05] <lifeless> wgrant: speaking of bugs.. 744849
[01:06] <wgrant> Bug #744849
[01:06] <_mup_> Bug #744849: populate-archive.py unusably slow <Launchpad itself:Triaged> < https://launchpad.net/bugs/744849 >
[01:06] <wgrant> Yeah.
[01:08] <lifeless> man, that was the easiest critical fix ever.
[01:11] <wgrant> Oh?
[01:11] <lifeless> search for -de in a person picker
[01:11] <huwshimi> Um, what the failure? http://paste.ubuntu.com/590501/
[01:12] <wgrant> huwshimi: Aha, that has shown up on Jenkins before.
[01:12] <wgrant> huwshimi: Spurious, but I'd never seen it elsewhere. Thanks.
[01:12] <lifeless> huh
[01:12] <lifeless> temp_dir - replace that with fixtures.TempDir
[01:12] <lifeless> more robust implementation
[01:14] <huwshimi> Should I just lp-land it?
[01:14] <wgrant> huwshimi: If that was the only failure.
[01:15] <huwshimi> wgrant: It was, assuming the rest of the tests ran ok
[01:16] <wgrant> huwshimi: How many tests did it report?
[01:18] <huwshimi> wgrant: 13988
[01:22] <wgrant> huwshimi: That sounds right.
[01:22] <wgrant> Land it.
[01:26] <huwshimi> wgrant: Thanks maate
[01:26] <huwshimi> *-a
[01:29] <thumper> hmm
[01:29] <thumper> is this thing on?
[01:30] <lifeless> irc is
[01:34] <_thumper_> :(
[01:34] <_thumper_> quassel still having problems with the sqlite file
[02:06] <bac> lifeless: i got bit by the temp_dir issue too.  unfortunately the version of fixtures we're on atm does not have TempDir.  you see any problem in this change until we can update fixtures and use it?  http://pastebin.ubuntu.com/590522/
[02:10] <lifeless> bac: bin/py -m pydoc fixtures shows TempDir as being available
[02:10] <lifeless> bac: so I think its usable now
[02:11] <lifeless> bac: why do you say it isn't ?
[02:11] <bac> er, did that just happen?  let me update
[02:11] <lifeless> bac: no, TempDir is ancient
[02:11] <bac> lifeless: b/c i looked in the egg and didn't see it
[02:12] <lifeless> bac: :!grep TempDir -r eggs/fixtures-0.3.5-py2.6.egg/
[02:12] <lifeless> eggs/fixtures-0.3.5-py2.6.egg/EGG-INFO/PKG-INFO:        TempDir
[02:12] <lifeless> ...
[02:12] <bac> lifeless: argh, bitten by emacs file completion...
[02:13] <lifeless> bac: I don't mind if you fix temp_dir, but deleting code seems worth a little extra time
[02:13] <lifeless> it does need spelling very slightly differnetly (see the pydoc for TempDir)
[03:45] <StevenK> wgrant: Should I disable the windmill job on Jenkins?
[03:45] <wgrant> StevenK: Probably. But don't delete it... I suspect we might need it back soon.
[03:45] <StevenK> Hah
[03:46] <StevenK> wgrant: Oh, sure, I was just going to disable it.
[03:46] <StevenK> wgrant: Your hate of Windmill is showing. :-)
[03:46] <wgrant> I don't hate it.
[03:47] <wgrant> I just don't trust that it isn't go to break again.
[03:47] <wgrant> And breakage is really really bad.
[03:47] <StevenK> Loathing?
[03:47] <wgrant> So, the tests that we currently implement through Windmill are necessary.
[03:47] <wgrant> They catch real breakage.
[03:47] <wgrant> But they are slow and unreliable.
[03:53] <StevenK> RARGH, the package cloner is creating builds in the *parent*
[03:53] <StevenK> Bad package cloner!
[03:54] <wgrant> Heh.
[04:01] <lifeless> wgrant: I'm really glad you hold that position now; its (I think) much more useful than the fire n brimstone one you had a few months back.
[04:02] <wgrant> lifeless: I have held this position for several months.
[04:02] <StevenK> Oh, duh. The first createMissingBuilds call is *me*
[04:02] <wgrant> Perhaps the breakage had greater emphasis back then, but the breakage was also itself greater.
[04:04] <lifeless> wgrant: Well, 6 months back then :) - anyhow, I like the current attitude; I didn't mean to imply you had a particularly bad one in the past.
[04:09] <jtv> wgrant: how did publish-ftpmaster work out on dogfood yesterday?
[04:16] <lifeless> wgrant: sorry, bad news..
[04:16] <lifeless> wgrant: that bug still freaks out in prod
[04:18] <thumper> lifeless: is there a relatively simple way to see if a recent oops contains a particular string?
[04:18] <lifeless> yup, grep
[04:18] <lifeless> they are all in the lpnet logs dir on asuksa
[04:19] <lifeless> a wildcard match will let you pass the directories you need to grep
[04:19] <lifeless> grep -i string */2011-04-04 -r
[04:19] <lifeless> etc
[04:19] <lifeless> bbiab, shopping run for lynne
[04:20] <thumper> are they linked on devpad anywhere?
[04:26] <lifeless> oh
[04:26] <lifeless> I meant devpad
[04:26] <lifeless> asuka is staging
[04:26] <lifeless> <- 6am starts bad
[04:27] <wgrant> lifeless: Bah. Worked for me at least once :/
[04:27] <wgrant> jtv: I filed a few bugs.
[04:27] <jtv> wgrant: oh… anything serious?
[04:27] <wgrant> jtv: I enabled the run-parts stuff.
[04:28] <wgrant> jtv: Only one significant non-run-parts bug, IIRC.
[04:28] <jtv> wgrant: do you have a list somewhere?  I take it these are all things that need resolving before we can use the new script.
[04:29] <wgrant> http://bugs.launchpad.net/launchpad/+bugs?field.bug_reporter=wgrant&orderby=-datecreated
[04:30] <wgrant> I think #752279 is a somewhat bigger issue.
[04:30] <_mup_> Bug #752279: publish-distro.d scripts expect partner to have dists.new <derivation> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/752279 >
[04:30] <wgrant> It's not clear that the rsync is working.
[04:30] <jtv> wow that's taking long to load
[04:30] <wgrant> lifeless: :/ it just render in 8.1s for me on prod.
[04:31] <wgrant> +ed
[04:31] <wgrant> Waiting for the OOPS to sync :(
[04:32] <wgrant> jtv: All of those bugs except 752279 have workarounds in the DF tree.
[04:33] <wgrant> For 752279 there might be a debug print left in the script, since the logging doesn't seem to be working.
[04:33] <wgrant> I carefully published partner as well as lucid's non-release pockets yesterday, so we have an archive of reasonable size to work with.
[04:33] <wgrant> Just needs a bit of SQL to dirty them.
[04:34] <jtv> wgrant: partner is supposed to do the same dists.new dance as the primary archive.  If that's not working, I'd look for a path problem first.
[04:34] <wgrant> jtv: Yeah, I realised that after I filed the bug.
[04:35] <wgrant> jtv: The script currently crashes in a location that cannot be determined because the atexit crashes.
[04:35] <jtv> There is no atexit.
[04:35] <wgrant> Hm.
[04:35] <jtv> Unless it's in the LaunchpadScript's lock-cleanup code or something, but that shouldn't matter.
[04:36] <wgrant> If you give me a moment to retake my desktop from the dead grasp of Unity, I will get you the traceback.
[04:37] <wgrant> jtv: It's in the finally.
[04:37] <wgrant> http://librarian.dogfood.launchpad.net/57722542/7gpgHGXJT50D5VFRhqsoFWlJEla.txt
[04:38] <wgrant> 13:35:47 < jtv> Unless it's in the LaunchpadScript's lock-cleanup code or something, but that shouldn't matter.
[04:38] <wgrant> 13:36:09 < wgrant> If you give me a moment to retake my desktop from the dead grasp of Unity, I will get you the traceback.
[04:38] <wgrant> 13:37:34 < wgrant> jtv: It's in the finally.
[04:38] <wgrant> 13:37:37 < wgrant> http://librarian.dogfood.launchpad.net/57722542/7gpgHGXJT50D5VFRhqsoFWlJEla.txt
[04:38] <jtv> wgrant: thanks
[04:42] <jtv> wgrant: I was sort of expecting problems there.
[04:42] <wgrant> Yeah.
[04:42] <jtv> Though I don't really see what "directory not empty" means in this case.
[04:42] <wgrant> jtv: I suspect it's renaming a directory on top of an existing one.
[04:43] <wgrant> mv works fine there; it just moves *into* it.
[04:43] <wgrant> rename won't do that.
[04:43] <jtv> That's exactly the problem I was half-expecting.  :)
[04:43] <jtv> Basically, it uncovers a bug in the old script AFAICS
[04:43] <wgrant> Yeah.
[04:43] <wgrant> It won't fail.
[04:43] <wgrant> But it will do something completely wrong.
[04:44] <jtv> Question is, is it okay to delete the directory that's in the way?
[04:44] <wgrant> Mumble.
[04:44] <jtv> Coffee.
[04:45] <wgrant> Please forgive me for pressing Ctrl+Alt, oh Unity.
[04:45] <wgrant> No, it will have none of that.
[04:46] <wgrant> lifeless: Uhhh
[04:46] <wgrant> lifeless: Your OOPS.
[04:46] <wgrant> SQL time: 1381 ms
[04:46] <wgrant> Non-sql time: 11600 ms
[04:47] <jtv> wgrant: I'm on mumble but don't see you.
[04:48] <wgrant> jtv: Oh, that was me mumbling to indicate that I'm not sure.
[04:48] <wgrant> Not saying that we should talk about it... although maybe we should.
[04:48] <wgrant> lifeless: wampee, too. This looks fairly unideal.
[04:49] <lifeless> wgrant: you think contention ?
[04:49] <thumper> I wish we had the actual oops id in the filename instead of some other random shit
[04:49] <lifeless> thumper: next iteration will have a search engine
[04:49] <thumper> having to open the file to find the oops id is a PITA
[04:49] <lifeless> thumper: and no filenames
[04:50] <wgrant> lifeless: I don't know, but this is a pretty serious issue that warrants immediate investigation.
[04:50] <wgrant> I forget K's threading config, but it sounds big.
[04:50] <lifeless> wgrant: check lp-prod-configs
[04:50] <wgrant> I am.
[04:51] <lifeless> wgrant: 4
[04:51] <lifeless> lpnet11
[04:51] <wgrant> Yeah.
[04:51] <wgrant> Is that 2 concurrent requests in hap?
[05:02] <lifeless> 6
[05:02] <lifeless> or perhaps 4
[05:02] <lifeless> check the html dump mthaddon gave me earlier
[05:02] <wgrant> Yes, but it had spaces in the name.
[05:03] <wgrant> And I can't be bothered typing all those backslashes.
[05:03] <lifeless> \\\
[05:03] <lifeless> have mine
[05:09] <wallyworld_> thumper: what app did you use to get your recent screen capture?
[05:10] <thumper> record my desktop
[05:10] <wallyworld_> thanks
[05:10] <thumper> or something like that
[05:19] <wgrant> jtv: :(
[05:19] <wgrant> Huh.
[05:28] <thumper> \o/ another unicode bug bites the dust
[05:28] <wgrant> :)
[05:34]  * StevenK wishes Storm supported INSERT INTO
[05:36] <lifeless> StevenK: add it
[05:36] <lifeless> I can give you some tips if you like
[05:37] <lifeless> ok, trying for the shops again... bbiab
[05:37] <StevenK> Writing SQL via format string is beginning to wear thin
[05:40] <StevenK> And trying to add another column to copy sucks
[05:45] <wgrant> StevenK: How're you doing it?
[05:45] <wgrant> The way I did it in PublishingSet.publishBinaries isn't *that* unmaintainable.
[05:45] <wgrant> But it's certainly still not pretty.
[05:45] <StevenK> wgrant: I don't think I need it.
[05:46] <StevenK> The test case is making my primary archives with requires_virtualized true
[05:46] <StevenK> Which is probably wrong
[05:47] <StevenK> wgrant: Do you agree?
[05:48] <wgrant> StevenK: It's valid either way.
[05:48] <wgrant> I don't know what your problem is, though.
[05:48] <wgrant> Virt primary archives work fine most places I've tried, though.
[05:49] <StevenK> wgrant: This is for IDS, and IDS doesn't copy DAS.supports_virtualized
[05:50] <wgrant> StevenK: Ahh.
[05:50] <wgrant> That's a bit awkward.
[05:50] <StevenK> So if the archive is requires_virtualized, IDS can't create builds
[05:50] <wgrant> But, er, why is IDS creating builds?
[05:50] <wgrant> I guess for failed ones from the previous series.
[05:50] <StevenK> Right
[05:50] <wgrant> If IDS has a "rebuild copied sources" option, I will cry.
[05:51] <StevenK> ... it does
[05:51] <wgrant> What the fuck?
[05:51] <wgrant> How is that going to work?
[05:51] <wgrant> Somebody didn't think this through :P
[05:51] <StevenK> Read the code? It works
[05:52] <wgrant> I guess if you create the archive disabled and add external deps with a pre-bootstrapped archive you might get somewhere.
[05:52] <wgrant> But, er, creating an empty archive with lots of builds isn't going to get you very far at all :)
[05:53] <StevenK> wgrant: I seem to recall Julian was against the idea of copying supports_virtualized, but I can't recall the reason
[05:54] <wgrant> StevenK: We don't normally want to support PPAs for a while after the series is initialised.
[05:54] <StevenK> wgrant: The idea is for "Scorched Earth rebuilds" with different compiler flags and such, but yes, it will need magic to happen
[05:54] <StevenK> Exactly
[05:54] <StevenK> So I think I'll change the test harness to make sure Archive.requires_virtualized == False
[05:55] <wgrant> Evil magic with sources.list.d is lamont's plan, I believe.
[06:16] <thumper> https://code.launchpad.net/~thumper/launchpad/fix-unicode-path-oops/+merge/56688
[06:16] <thumper> for those that love unicode
[06:24] <lifeless> jtv: is today a loliday too ?
[06:24] <jtv> lifeless: not that I know, too
[06:25] <jtv> I mean, no
[06:25] <jtv> why?
[06:25] <lifeless> thanks
[06:25] <lifeless> I have a call scheduled with stub on thursdays
[06:25] <lifeless> if hes on leave I can naff off
[06:25] <lifeless> and you are lower latency than canonicaladmin
[06:31] <jtv> It's always good for a human to hear that their unique usefulness lies in a slight latency advantage over computers for simple menial tasks.
[06:33] <jtv> Keeps us in our place.
[06:46] <huwshimi> lifeless: There are some unofficial tags that need a cleanup/removal as well. For example 'post-3-ui-cleanup' should probably just be converted to UI now. Is there any reason I shouldn't just fix that one myself now?
[06:46] <lifeless> oh Facepalm: we have a cache of messages on bug, and we don't use it. --fail--
[06:46] <lifeless> huwshimi: JFDI
[06:46] <huwshimi> lifeless: Sure :)
[06:46] <lifeless> jtv: us humans are uppity creatures :)
[06:47] <jtv> yes… can't wait for skynet to take over
[06:51] <jtv> wgrant: I'm fixing the $ARCHIVEROOTS escaping problem.  I think the right way to do it would be a double-quoted, escaped string containing double-quoted, escaped strings: "\"directory1\" \"directory2-with-weird-\$\" \"directory\`3\`\""  It may affect quoting in the plugin scripts, though I think it'll be cleaner overall.
[06:52] <huwshimi> lifeless: Is bug #438540 made invalid due to the substring search change made recently? Or was that relating to something else?
[06:52] <_mup_> Bug #438540: assigned to search doesn't do partial matches <lp-bugs> <post-3-ui-cleanup> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/438540 >
[06:52] <lifeless> looking
[06:53] <wgrant> jtv: Shell escaping makes me even more sad than JS escaping in classic HTML.
[06:53] <jtv> And that, I hope, is very sad indeed.
[06:53] <jtv> The thing about JavaScript escaping is the false promise:
[06:54] <lifeless> huwshimi: no, different search - thats the person picker
[06:54] <jtv> you think you can escape JavaScript, but that's not what it means.
[06:54] <lifeless> huwshimi: 'person *to assign to*
[06:54] <lifeless> huwshimi: refresh the bug, I've clarified it
[06:54] <huwshimi> lifeless: Ah right. Yeah I didn't read the description properly
[07:07] <huwshimi> lifeless: Is our AJAX timeout set to 30 seconds?
[07:08] <wgrant> huwshimi: Server-side it's the same as everything else.
[07:08] <wgrant> 11s.
[07:09] <lifeless> huwshimi: if you see a longer duration one of the following is true:
[07:09] <lifeless>  - hit max concurrent http connections in your browser
[07:10] <lifeless>  - poor network e.g. ssl reneg, lost packets, whatever
[07:10] <lifeless>  - the request stopped doing all db activity before 11 seconds and just played with itself for the rest of the time
[07:10] <lifeless> huwshimi: the first one is fairly common, I think.
[07:10] <lifeless> [not an exhaustive list, but roughly in terms of frequency/probability I think]
[07:11] <huwshimi> Interesting. Whenever I get an AJAX failure it always dies at 30 seconds. I wonder if that's being set by YUI? If so we should change that to match our 11 second timeout, right?
[07:12] <lifeless> no
[07:12] <lifeless> not unless we can guarantee:
[07:12] <lifeless>  - never have more than N (unknown) concurrent ajax requests to the same host (even from other browser windows)
[07:12] <lifeless>  - guarantee network conditions won't go quirky
[07:13] <lifeless> huwshimi: 30 seconds is the default network SYN attempt timeout IIRC
[07:13] <lifeless> huwshimi: so I think you have issues, perhaps the same as smpillaz, with your network path to LP
[07:14] <lifeless> huwshimi: do you find bzr push very slow sometimes (> 15 seconds to get started)
[07:14] <huwshimi> lifeless: I haven't noticed that
[07:15] <lifeless> ok
[07:15] <lifeless> well, we need to find and fix this
[07:15] <lifeless> but I don't think dropping an in browser timeout is sensible given the legitimate reasons it might queue in your browser.
[07:15] <huwshimi> lifeless: If I have Launchpad open in a bunch of tabs is that where I might hit the max concurrent connections?
[07:15] <lifeless> yes
[07:16] <lifeless> or even on one tab
[07:16] <lifeless> bugtask:+index seems to do 8 separate ajax requests
[07:16] <lifeless> which will probably exceed your concurrency limit by some-N (I haven't checked chromium, but it could be as much as 6)
[07:21] <huwshimi> lifeless: So what I was doing was opening a bunch of bugs in separate tabs and then editing each one. I was timing about about 40% of the time (rough guess). What I just tried was opening one bug in a new tab and editing it, closing the tab and starting again. I had 3 tabs open max. The first two were fine, the third timed out.
[07:24] <jtv> Error: Couldn't find a distribution for 'zope.publisher==3.12.0'.
[07:25] <jtv> Is that caused by the aggressive cleanups people have been doing?  It's on a fresh db-devel branch, after rocketfuel-get/rocketfuel-setup/bzr pull/make clean
[07:25] <huwshimi> wgrant: Can you explain to me a bit more about bug #433342? I'm not sure where you're talking about.
[07:26] <_mup_> Bug #433342: 1em extra space on top of every page <lp-web> <post-3-ui-cleanup> <Launchpad itself:Triaged> < https://launchpad.net/bugs/433342 >
[07:26] <wgrant> jtv: I see a zope.publisher-3.12.0.zip in download-cache.
[07:27] <jtv> I don't.  Only zope.publisher-3.12.1.tar.gz.
[07:27] <StevenK> wgrant: Do you know anything about hello-partner in maverick's NEW queue on mawson?
[07:27] <wgrant> StevenK: No, I only published partner carefully, I didn't upload anything.
[07:27] <wgrant> I blame jtv and bigjools.
[07:27] <StevenK> wgrant: It's 16 weeks old!
[07:28] <wgrant> Oh.
[07:28] <wgrant> That could be me, then.
[07:28]  * jtv has an alibi
[07:28] <wgrant> I did do something around then.
[07:28] <wgrant> huwshimi: It seems to be fixed now.
[07:28] <huwshimi> wgrant: Sweet.
[07:29] <StevenK> Changed-By: William Grant <william.grant@canonical.com>
[07:30]  * StevenK glares at wgrant 
[07:30] <wgrant> StevenK: Yeah, I didn't realise it was still there, so I thought it was more recent.
[07:30] <StevenK> Description: hello-partner - The classic greeting -- proprietary edition
[07:30] <wgrant> 16 weeks old... really?
[07:30] <StevenK> Does it say "Hello, 640K is enough for anybody!" ?
[07:30] <wgrant> What's the date on it?
[07:31] <StevenK> Date: Sat, 18 Dec 2010 16:55:52 +1100
[07:31] <StevenK> That's from the .changes
[07:31] <wgrant> Ah, so the week I started.
[07:31]  * StevenK rejects it
[07:43] <wgrant> https://code.launchpad.net/~lamont/launchpad/lp-buildd-78/+merge/56700 needs a review.
[07:43] <wgrant> Already deployed on the machines that matter.
[07:44] <wgrant> It redefines revolting, but it works!
[07:45] <StevenK> That is *hideous*
[07:46] <wgrant> Yse.
[07:46] <StevenK> wgrant: DOne
[07:47] <wgrant> Thankyou. I believe IS now owes us new eyes.
[07:52] <spm> IS or lamont personally?
[07:52] <wgrant> Either will do.
[07:53] <spm> and what's so bad about that? looks downright elegant to me. nicely formatted over a few lines and everything!
[07:53] <spm> damn. my nose just grew about 5 inches
[07:54] <jtv> spm: I'm sure Little Red Riding Hood's "grandmother" had a good one to explain that away, but I forget what it was.
[07:55] <spm> heh
[08:01] <wgrant> WindMIIIIIIIIIIIL
[08:01] <wgrant> L
[08:01] <StevenK> wgrant: It just failed?
[08:02]  * wgrant disabled that test.
[08:02] <wgrant> s/disabled/disables/
[08:02] <wgrant> StevenK: lucid_db_lp
[08:02] <StevenK> GAAAAAAAAAAAAVIN!
[08:02]  * StevenK found a bug in +initseries
[08:02] <wgrant> Oh?
[08:03] <StevenK> If you don't select any packagesets it feeds packagesets=[""] to DistributionJob
[08:04] <wgrant> Bah, qas is down.
[08:04] <wgrant> Bad lifeless.
[08:06] <lifeless> wgrant: bad schema 2004
[08:13] <wgrant> I hope PQM will accept a devel testfix for a db-devel failure.
[08:14] <lifeless> yes
[08:25] <lifeless> stub: hi
[08:25] <stub> lifeless: yo
[08:25] <lifeless> we're slated for a call I think
[08:26] <lifeless> you coffeed up etc etc?
[08:26] <stub> Yup. Coffeed up. Hungry but breakfast can wait :)
[08:26] <lifeless> k, let me plug mic in
[09:05] <adeuring> good morning
[09:06] <jtv> hi adeuring
[09:07] <adeuring> hi jtv!
[09:07] <bigjools> morning
[09:08] <StevenK> O hai
[09:08] <jtv> hi bigjools
[09:08] <bigjools> the decision to wear shorts this morning feels like a bad one right now
[09:09] <StevenK> Haha
[09:09] <jtv> I'm not going to ask.
[09:20] <henninge> Morning all ;)
[09:20] <henninge> danilos: Hi!
[09:20] <mrevell> Good morning
[09:20] <danilos> hi Henning, how's it going?
[09:21] <henninge> danilos: great, thanks ;)
[09:21] <henninge> danilos: This one is especially for you: ;-)
[09:21] <henninge> https://code.launchpad.net/~henninge/launchpad/devel-714521-restore-partial-exports/+merge/56713
[09:21] <henninge> danilos: but I can ask allenap if you don't want to ...
[09:23] <danilos> henninge, heh, yaaay :)
[09:25] <danilos> henninge, it's actually quite a simple branch, r=me :)
[09:26] <danilos> henninge, do take care of the lint issues if they are real, though :)
[09:29] <henninge> danilos: they are not
[09:29] <henninge> or at least I know there is a but for them
[09:29] <henninge> danilos: thank you
[09:30] <danilos> henninge, heh, then fix the linter, come on :)))
[10:05] <jam> lifeless: One page that I'm noticing the performance of: "https://code.launchpad.net/~jameinel": "80 queries/external actions issued in 9.83 seconds"
[10:05] <jam> I'm noticing it because I'm deleting old junk branches, and they all redirect to the main page.
[10:07] <lifeless> jam: yup
[10:08] <jam> do you know which api that is? (Just so I can keep tabs on it, probably can't do much myself just yet)
[10:08] <jam> just hit 10s this time
[10:08] <jam> so I'm very close to hard-timeout on it.
[10:08] <lifeless> jam: bug 746866
[10:08] <_mup_> Bug #746866: Person:+branches timeout: sometimes-slow bug-branch link query <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/746866 >
[10:08] <jam> lifeless: so I should link fewer of my branches to bugs then ? :)
[10:08] <lifeless> no
[10:09] <lifeless> its fixable
[10:09] <lifeless> most of these are
[10:09] <lifeless> just noting that the problem is known
[10:09] <jam> lifeless: hence the :). But yeah, I'll follow that bug.
[10:09] <lifeless> there is a 10x improvement in that bug waiting for coding and execution
[10:10] <jam> lifeless: from your comments, that was just an SQL query change, not a new index, etc?
[10:10] <lifeless> yup
[10:10] <lifeless> (reading my own comments here ... could be wrong :)
[10:13] <jam> lifeless: it looks like the original query finds all the teams you are part of, and then all of the bugs linked to those teams, ouch!
[10:13] <lifeless> jam:  4 /    4  Person:+branches - so 4 hard and 4 soft timeouts yetserday
[10:14] <jam> lifeless: sounds pretty low on the stack. and only really affecting heavy users
[10:14] <lifeless> jam: not quite; it finds all the branches you have access to via private team subscriptions, but only the bugs linked to your branches
[10:15] <jam> lifeless: http://paste.ubuntu.com/590646/
[10:15] <jam> that sure looks like give me all bugs connected to teams I'm in
[10:15] <lifeless> it is
[10:15] <lifeless> but
[10:15] <jam> I realize the Bug.id can be optimized by postgres
[10:16] <lifeless> note that its in And()
[10:16] <jam> and inject it
[10:16] <lifeless> AND (Bug.private = FALSE OR ...)
[10:16] <lifeless> jam: oh right, uhm so that bit isn't usually an issue
[10:16] <jam> lifeless: sure, but it means the planner has to be really smart, vs your rewrite
[10:17] <lifeless> jam: right
[10:17]  * thumper closed three critical bugs today with no code \\o/
[10:17] <thumper> they have all been fixed in the interim
[10:17] <thumper> just some work investigating to make sure
[10:18] <lifeless> nice
[10:37] <jam> is there a clean way to delete a branch procedurally? I'm looking to do perf testing where I push a new branch many times, and I'd rather just delete all of these right after they are created.
[10:37] <jam> Right now, I just go via the web api, and URL hack +delete and submit a lot
[10:40] <lifeless> there is a web api to delete branches
[10:40] <lifeless> spivs new stuff will be in the next downtime deploy
[10:42] <jam> lifeless: https://launchpad.net/+apidoc/1.0.html#branch only shows me "canBeDeleted" I don't see an actual Delete call
[10:43] <lifeless> jam: lp_delete()
[10:43] <lifeless> jam: file a bug on the apidoc not mentioning that DELETE method is supported on objects
[10:45] <jam> bug #753334
[10:45] <_mup_> Bug #753334: apidoc doesn't mention DELETE methods <Launchpad itself:New> < https://launchpad.net/bugs/753334 >
[10:48] <jam> lifeless: just got a hard OOPS for code.lp.net/~jameinel
[10:54] <lifeless> stub: whats the next db patch #?
[10:55] <lifeless> we really should fold https://bugs.launchpad.net/launchpad-project/+patches into +activereviews
[10:55] <wgrant> Let's not open up that can of worms again.
[10:56] <lifeless> wgrant: when was it ever open ?
[10:56] <wgrant> There have long been thoughts about merging them by turning patches into branches.
[10:57] <lifeless> different discussion
[10:58] <lifeless> a small incremental step would be to merge the reports with patches being a separate section
[11:07] <wgrant> lifeless: Still around?
[11:09] <lifeless> hmm
[11:10] <wgrant> lifeless: Do you know how to tell lazr.restful to rename a field in just 1.0 and beta?
[11:11] <lifeless> I imagine export it twice
[11:11] <wgrant> You can do something like this:
[11:11] <wgrant>         ("1.0", dict(exported_as="datebuilt")),
[11:12] <wgrant> But that renames it in 1.0 and later, not 1.0 and earlier.
[11:13] <jtv> wgrant, care to look at the quoting fix?  It was a bitch to get it just a little right, so I didn't go for fool-proof.  https://code.launchpad.net/~jtv/launchpad/db-bug-752178/+merge/56719
[11:14] <wgrant> jtv: This also fixes the 10-sign-releases quoting bug.
[11:14] <wgrant> You should link that as well.
[11:14] <jtv> cool
[11:15] <stub> lifeless: 2208-60-0
[11:15] <lifeless> wgrant: so, you export renamed in beta and then renamed in devel
[11:15] <lifeless> stub: thanks
[11:15] <wgrant> lifeless: Yeah, but I think that's a bit backwards.
[11:15] <wgrant> lifeless: The field is really called date_finished, but in beta and 1.0 it should be called datebuilt.
[11:15] <jtv> wgrant: that's the GNUPGHOME one?  Bug 752179?  Then I'm not sure it does.
[11:15] <_mup_> Bug #752179: PublishFTPMaster runs hooks with a bad GNUPGHOME <derivation> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/752179 >
[11:15] <wgrant> I think that's the common case.
[11:15] <wgrant> jtv: Not that one.
[11:16] <wgrant> Hm.
[11:16] <wgrant> Maybe I didn't file a bug for that one.
[11:16] <wgrant> But there was a mismatched quote in it, which you've deleted.
[11:16] <jtv> wgrant: ah that one—no, didn't see an explicit bug for that one.
[11:17] <wgrant> It was all a bit of hackery to get it to run, so I probably forgot it.
[11:17] <jtv> Well no matter now!
[11:17] <wgrant> Indeed.
[11:20] <wgrant> '"$PATH":%s
[11:20] <wgrant> Should $PATH really be quoted?
[11:20] <jtv> Ideally, yes.  What if there's a space in there?
[11:20] <jtv> It's bad form, but not impossible.
[11:21] <wgrant> True.
[11:21] <jtv> I might have "~/Ubuntu One/bin" in my path, for instance.
[11:22] <jtv> What derived series do we have set up on dogfood at the moment?
[11:22] <wgrant> But I don't think quotes are necessary to preserve that...
[11:22] <wgrant> jtv: deribuntu should have one, and maverick is derived from sid.
[11:22] <jtv> Great.
[11:22] <wgrant> jtv: Indeed, testing locally shows those quotes are not required.
[11:22] <wgrant> Unless you can show otherwise.
[11:24] <jtv> Hmm… not required when you do PATH=$PATH:/foo but required when you do env PATH=$PATH:/foo
[11:24] <wgrant> Ah, of course.
[11:24] <wgrant> But if you're executing in a shell, do you really need the env?
[11:24] <wgrant> And if you're using subprocess, you can modify the env in the subprocess call.
[11:24] <jtv> wgrant: not sure tbh… not using subprocess though.
[11:34] <jtv> wgrant: according to `man sh`, "it is only field splitting or pathname expansion that can create multiple fields from a single word."  Question now is, when exactly does field splitting happen?  It does say "If a parameter expansion occurs inside double-quotes: […" Field splitting is not performed on the results of the expansion, […]."
[11:36] <jtv> It also says "Field Splitting is performed on fields generated by [parameter expansion etc.] unless the IFS variable is null.
[11:36] <jtv> "
[11:43] <lifeless> stub: 10x performance win from cloning owner into bugmessage
[11:44] <jtv> Codd, are you listening?
[11:44] <lifeless> stub: hot case, and cold is estimated at 50% shorter
[11:44] <stub> Sounds like a win. I'm not sure if other comment logs would benefit like questions - do they have the same usecase?
[11:47] <lifeless> stub: https://code.launchpad.net/~lifeless/launchpad/bug-421901/+merge/56725
[11:47] <lifeless> stub: possibly, I'm sure oops reports will tell us ;)
[11:48] <lifeless> stub: but questions are so fundamentally broken right now, I am inclined to tackle them separately
[11:55] <stub> lifeless: wrong target branch
[11:57] <stub> lifeless: Do we want to keep the column name 'owner'? Its always been a rather bogus name.
[11:57] <lifeless> bwah
[11:57] <lifeless> stub: I think it would be mega confusing to mirror it under a different name
[11:57] <deryck> Morning, folks.
[11:57] <stub> lifeless: We can also ignore the triggers if we want - that column never gets modified.
[11:57] <lifeless> stub: https://code.launchpad.net/~lifeless/launchpad/bug-421901/+merge/56729
[11:57] <lifeless> stub: person delete/merge will update the column
[11:58] <stub> It will? Oh yeah, it will.
[11:58] <lifeless> stub: plus I figure we'll have a few of these so having 'correct' triggers we can point at to copy will be usefl
[11:59] <stub> Too many and we need to work out how to best split trusted.sql :)
[11:59] <lifeless> yeah
[11:59] <lifeless> trusted.sql.d
[11:59] <lifeless> stub: any reason those functions can't be in the db patches ?
[12:01] <stub> We use DB patches because we can't back out schema modifications. I like to keep the stuff we can back out outside of the db patches so we can make use of revision control.
[12:02] <stub> No need to worry about getting patch numbers if you just want to change stuff in security.cfg, trusted.sql or comments.sql
[12:03] <lifeless> kk
[12:03] <lifeless> stub: was just thinking about the consequence of that though
[12:03] <lifeless> which is that we have to run it all every time
[12:03] <stub> Yes, but it is fast.
[12:03] <lifeless> ok
[12:05] <stub> The weirdness is we can't remove things from there sometimes due to how we build development databases (any function mentioned in the baseline dump needs to exist in trusted.sql or things fall over)
[12:08] <lifeless> stub: https://code.launchpad.net/~lifeless/launchpad/bug-421901/+merge/56729 - against db-devel
[12:08] <lifeless> stub: I'll do a garbo migrator tomorrow in a separate patch
[12:09] <stub> lifeless: r=stub
[12:10] <lifeless> thanks
[12:15] <lifeless> night
[12:38] <jtv> wgrant: afaict the dash and bash manuals contradict each other on the $PATH issue we discussed earlier.  Both seem to behave like the bash manual says, but I'm reluctant to leave out the quotes based on that.
[12:39] <wgrant> jtv: ... yay :/
[12:39] <jtv> …indeed
[12:44] <soren> jtv: Sorry, what part of dash's docs suggest that you need additional quoting?
[12:45] <soren> I don't see it.
[12:45] <jtv> soren: they say that field splitting occurs after parameter substitution, except when it happens in double quotes.
[12:45]  * jtv looks up chapter & verse
[12:45] <soren> How does that relate to this?
[12:46] <jtv> Well isn't field splitting what would break if there was a space in the substituted value?
[12:46] <jtv> FOO=bar splat ls
[12:46] <jtv> From FOO=$GARGL ls
[12:47] <soren> Not exatly.
[12:47] <jtv> Ah!
[12:49]  * soren tries to whip up an example
[12:50] <soren> Ok, now I have no idea what's going on anymore.
[12:51] <jtv> soren: glad we're in full agreement then :)
[12:52] <jtv> Mind you, `FOO=$GARGLE ls` behaves differently from `env FOO=$GARGLE ls`
[12:52] <jtv> (in this regard)
[12:52] <soren> When GARGLE is what?
[12:52] <soren> Something with a space in it?
[12:52] <jtv> Yes.
[12:53] <jtv> For instance,
[12:53] <jtv> UU="~/Ubuntu One"
[12:53] <jtv> PATH=$PATH:$UU/bin which my_personal_script
[12:53] <jtv> → finds ~/Ubuntu One/bin/my_personal_script
[12:54] <jtv> But
[12:54] <jtv> UU="~/Ubuntu One"
[12:54] <jtv> env PATH=$PATH:$UU/bin which my_personal_script
[12:54] <soren> Yeah, that won't work.
[12:55] <jtv> And I'm trying to build some kind of systematic notion of why that is, based on the manual.
[12:55] <soren> Ok.
[12:55] <jtv> Failing horribly, so far.
[12:55] <soren> So, when you do this:
[12:55] <soren> FOO=bar cmd
[12:55] <soren> You're using a functionality in the shell to extend the environment of the cmd process with FOO=bar.
[12:56] <soren> When you're using env, the shell doesn't know that what you're doing is essentially the same.
[12:56] <jtv> But where does it say that these two expansions are different?
[12:57] <soren> ...so it happily ends up calling this argv: ['env', 'PATH=~/Ubuntu', 'One/:<the rest of your path>', 'cmd']
[12:57] <jtv> Yes, that part we know.  But where in the dash manual can I find where that difference comes from?
[12:57] <soren> env doesn't recognise "One/blahblah" as more stuff it needs to feed into the environment, but thinks it's the command to be run.
[12:57] <soren> Ah.
[12:57] <soren> I still don't really see how this is related, though.
[12:58] <soren> PATH is separated by colons.
[12:58] <jtv> But may contain spaces.
[12:58] <soren> Always.
[12:58] <soren> Yes, that's fine.
[12:58] <jtv> Spaces that I don't want to get expanded.
[12:58] <soren> SUre.
[12:59] <jtv> I think I found something:
[13:00] <jtv> Leading VAR=val words are "stripped off and assigned to the environment," as opposed to "expanded as described in the section called Expansions" as the rest of the command is.
[13:00] <soren> Yes.
[13:00] <soren> That's it.
[13:00] <soren> Where do you see that?
[13:00] <jtv> But then where does it say that parameters in those VAR=val words are expanded at all?
[13:00] <jtv> That's in man dash (1), under Simple Commands.
[13:01] <soren> Yeah, just found it.
[13:01] <jtv> I guess the difference is that the expansion of those parameters happens one parameter at a time.
[13:03] <jtv> And so somewhere in there it must say that no field splitting is done for those values.
[13:03] <soren> It would appear so, yes. There's no harm done in doing something this, though: PATH="~/Ubuntu One/bin:$PATH" foo
[13:03] <jtv> Right.
[13:04] <jtv> Unless there's quotes in $PATH, perhaps.
[13:04] <jtv> This is all so maddening.
[13:04] <soren> Quotes in $PATH should survive that.
[13:06] <soren> Is this pertaining to an existing patch or is it still work-in-progress?
[13:06] <jtv> It's pending review.
[13:06] <jtv> Or not, if I messed it up horribly.  :)
[13:06] <soren> link?
[13:06] <jtv> https://code.launchpad.net/~jtv/launchpad/db-bug-752178/+merge/56719
[13:08] <jtv> I probably don't need the "env" invocations.
[13:14] <soren> jtv: I think what you're doing (in terms of escaping and protecting against escaping) is sound. That said, it looks like your executeShell helper might benefit from being able to take an env dict so that you avoid these issues altogether.
[13:15] <jtv> I considered that, but I'm not sure if that will have any unexpected effects on pipes and such.
[13:16] <soren> I think your current approach will hold more surprises in that regard.
[13:17] <soren> For instance, you're only extending the environment for the first command of your pipeline.
[13:18] <soren> (If you just naïvely prepend the "env FOO=bar" stuff that is)
[13:18] <jtv> That's what I mean—I think my current approach exposes that more clearly.
[13:19] <jtv> Not too conveniently, mind you, but the interaction is visible where you create it.
[13:21] <henninge> Hi deryck! ;)
[13:23] <deryck> Hi henninge
[13:24] <henninge> deryck: Do you have some time to chat about that javascript bug?
[13:24] <deryck> henninge: sure.  give me 2 minutes to warm coffee and I'll meet you in mumble
[13:25] <henninge> deryck: cool
[13:25] <henninge> I mean 'hot'
[13:25] <henninge> ;)
[13:30] <henninge> bug 724727
[13:30] <_mup_> Bug #724727: Single-line inline editor causes page to shift when editing <easy> <javascript> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/724727 >
[13:30] <henninge> deryck: ^
[14:23] <bigjools> ummm is ajax bug subscription broken?
[14:24] <wgrant> bigjools: I think it it may be for malone-alpha people.
[14:24] <bigjools> ossum
[14:24] <bigjools> wgrant: fyi https://bugs.launchpad.net/ubuntu-font-family/+bug/744812
[14:24] <_mup_> Bug #744812: FontConfig/Qt stack choke on Ubuntu Medium font meta-data (No medium in Inkscape and too bold in Qt apps) <kubuntu> <Ubuntu Font Family:Confirmed> <ubuntu-font-family-sources (Ubuntu):New> < https://launchpad.net/bugs/744812 >
[14:24] <wgrant> There's a bug for that.
[14:25] <wgrant> Bug 753387
[14:25] <_mup_> Bug #753387: Can't subscribe to bug: Uncaught TypeError: Cannot call method 'get' of null <Launchpad itself:Triaged> < https://launchpad.net/bugs/753387 >
[14:26] <wgrant> Have we really gained 10000 bugs in a week? :/
[14:26] <wgrant> Well, a bit over a week.
[14:26] <bigjools> release approacheth
[14:29]  * bigjools apologises for blocking pqm with a config branch
[14:29] <danilos> jcsackett, hi, do you have time to review https://code.launchpad.net/~danilo/launchpad/add-subscription-link-tests/+merge/56765?
[14:29] <jcsackett> danilos: sure.
[14:29] <bigjools> is anyone looking at the PQM db-devel conflict?
[14:30] <bigjools> rvba, did you look earlier?
[14:30] <rvba> bigjools: no
[14:30] <danilos> jcsackett, thanks
[14:30] <jcsackett> danilos: i see conflicts.
[14:30] <jcsackett> is there a missing rev to be pushed up?
[14:31] <danilos> jcsackett, no, but they must be very recent since I merged a few hours ago, let me resolve them
[14:31]  * bigjools fixes it
[14:33] <jcsackett> danilos: dig.
[14:34] <danilos> jcsackett, resolved, now pushed as well, diff should be updated in a few minutes
[14:34] <jcsackett> danilos: cool. i will reload and review in a few minutes then. :-)
[14:35] <bigjools> rvba: this was missed in your review I think, but don't forget to put classes in the __all__
[14:35] <rvba> bigjools: ok
[14:36] <bigjools> rvba: is the DistroSeriesMissingPackagesView in stable newer than the DistroSeriesMissingPackages in db-devel?
[14:36] <rvba> bigjools: DistroSeriesMissingPackages has been renamed  DistroSeriesMissingPackagesView
[14:36] <bigjools> (that's the one missing from __all__ BTW)
[14:36] <bigjools> ok thanks
[14:38] <danilos> jcsackett, now should be fine :)
[14:39] <jcsackett> danilos: yup, i'm reviewing now.
[14:54] <jcsackett> danilos: do yui tests continue if they an assert fails, or does the test stop?
[14:55] <danilos> jcsackett, they stop, and I see your point :) I should make reverting stuff happen inside the tearDown or something of the like
[14:56] <danilos> jcsackett, (if that was the point you were getting to :)
[14:56] <jcsackett> danilos: :-)
[14:56] <jcsackett> it was indeed.
[14:57] <jcsackett> danilos: other than that, r=me.
[14:58] <danilos> jcsackett, thanks
[14:59] <danilos> jcsackett, fwiw, other test cases do not even bother restoring LP.* stuff, perhaps I shouldn't either
[14:59] <jcsackett> danilos: yeah, i'm not sure it's a huge problem, actually. it's possible the monkey patching is only within test scope.
[15:00]  * jcsackett does not know enough about javascript testing.
[15:00] <danilos> jcsackett, yeah, I am in the same boat, so I wanted to (well, provided all tests succeed :), be on the safe side
[15:00] <jcsackett> deryck: you around, oh javascript and YUI test guru?
[15:01] <deryck> jcsackett, doing a review.  Can I have 10 minutes and then chat?
[15:03] <jcsackett> deryck: sure, i can wait ten. just have a question when you're available about some testing stuff.
[15:03] <jcsackett> danilos: i'm going to mark the reveiw as approved, and follow up with deryck for my own edification. i think you're probably fine. :-)
[15:03] <deryck> jcsackett, if chat, ask away here.  if voice, I'll ping when ready.
[15:04] <danilos> jcsackett, yeah, thanks
[15:04]  * danilos is also reading up on http://developer.yahoo.com/yui/3/test/
[15:04] <jcsackett> deryck: chat. i was just wondering if when you patch a function for testing purposes (like replacing it with a function that just asserts it was called) is that only within test scope, or does it continue to be patched after the test suite finishes?
[15:04] <jcsackett> we have many yui tests that do like namespace._some_function = somenewfunction and then don't revert it.
[15:05] <jcsackett> (well, maybe not many, but they exist. and it's pertinent to danilos branch that i'm looking at).
[15:05] <deryck> jcsackett, can you post review branch for me to see an example?
[15:06] <jcsackett> https://code.launchpad.net/~danilo/launchpad/add-subscription-link-tests/+merge/56765
[15:06] <jcsackett> deryck ^
[15:06] <jcsackett> actaully, let me get you a smaller paste so you don't have to read through all of that.
[15:07] <jcsackett> deryck: http://paste.ubuntu.com/590785/
[15:08] <jcsackett> in that example, module._show_add_overlay gets altered to assert that it's called and gets the right data. there's code to revert it in this instance, but some tests don't do anything. i was wondering if the code to revert it was necessary.
[15:09] <danilos> jcsackett, oh, btw, that one is probably not the best example since I can just move the "reversion" to the top of the call so asserts won't stop it even
[15:09] <danilos> (though, that's a different topic)
[15:10] <deryck> jcsackett, yes, this is the right way to do it.  you can't be sure you have the right function later without doing this.
[15:10] <jcsackett> danilos: fair. it was an example i had handy. :-)
[15:10] <jcsackett> deryck: dig. so instances where one doesn't see this is a bug.
[15:10] <deryck> right
[15:10] <jcsackett> thanks, deryck!
[15:10] <jcsackett> so, danilos, i would just move the revert back to the top, as you said, and then all is well. :-)
[15:11] <jcsackett> er, to the top, not back to the top.
[15:12] <danilos> jcsackett, heh, done
[15:19] <danilos> jcsackett, btw, thanks for the review! :)
[15:20] <jcsackett> danilos: you're welcome. :-)
[15:31] <rvba> jcsackett: Hi! I'd appreciate a review of https://code.launchpad.net/~rvb/launchpad/dds-missing-base-version-747202/+merge/56311
[15:33] <jcsackett> rvba: looking now.
[15:47] <jcsackett> rvba: i don't think you need "python: not(view.show_package_diffs_request_link) and context.base_version" in your template, because you updated "view.show_package_diffs_request_link" to include "context.base_version" as part of the check.
[15:48] <jcsackett> i think "not view/show_package_diffs_request_link" should be sufficient.
[15:48] <rvba> jcsackett: that's right
[15:49] <jcsackett> in fact, right now i don't think the current condition can ever be true.
[15:49] <jcsackett> because if context.base_version is true, "not(view.show...)" will be false.
[15:50] <jcsackett> prehaps i am misunderstanding somethign.
[15:51] <rvba> no, I think you're right ... I guess a test is missing then
[15:51] <rvba> :w
[15:51] <rvba> (oups, sorry)
[15:51] <jcsackett> no worries. i do that all the time. :-P
[15:52] <rvba> jcsackett: I'll add another test for that
[15:53] <jcsackett> rvba: yeah, double check how that condition works, and put a test in place. i'm marking it as needs info for now, since the boolean logic there needs some investigation. ping me when the fix is up and i'll take another look. :-)
[15:53] <rvba> jcsackett: ok, thanks for the review
[15:55] <jcsackett> rvba: you're welcome. i look forwards to seeing the branch with those changes. :-)
[16:03] <henninge> deryck: it's not a bug: http://paste.ubuntu.com/590807/
[16:05] <deryck> henninge, ah, right, ok, then.  Thanks!
[16:11] <rvba> jcsackett: actually ... after checking it I think the test was right.
[16:11] <rvba> python: not(view.show_package_diffs_request_link) and context.base_version => can be true
[16:11] <deryck> abentley, one down.  r=me with minor comment on style.
[16:11] <rvba> formally because not(A and B)=Not A or not B
[16:12] <rvba> jcsackett: but I still have to add a test ;-)
[16:12] <abentley> deryck: thanks.  I'll look into that.
[16:19] <abentley> deryck: not surprising my brace style was inconsistent.  I've never used this style of braces 'till now.
[16:19] <benji> jcsackett: hi, I have a fresh MP for you: https://code.edge.launchpad.net/~benji/launchpad/add-edit-tests/+merge/56786
[16:19] <deryck> abentley, no worries.
[16:19] <jml> edge!
[16:20] <jcsackett> it keeps popping up.
[16:20] <benji> heh
[16:20] <jcsackett> benji: i see many conflicts.
[16:20] <benji> jcsackett: darn, let me take a look
[16:27] <rvba> jcsackett: just pushed my changes (added a test, moved up a small template fragment to be more consistent)
[16:28] <jcsackett> rvba: okay. i will take a look in a few moments. :-)
[16:29] <rvba> jcsackett: great.
[16:36] <deryck> abentley, second one is r=me.
[16:36] <deryck> abentley, we spent so much time on these in discussion earlier, the reviews are easy. :-)
[16:37] <deryck> I'm just taking my time to hopefully not miss anything.
[16:37] <abentley> deryck: heh.
[16:37] <abentley> deryck: Well, if you see better ways to do things, please let me know.
[16:38] <deryck> abentley, certainly, I will.
[16:40] <abentley> deryck: I'll be interested to know if I got the inheritance right for FormErrorHandler.
[16:41] <deryck> abentley, in the final branch, right?
[16:41] <abentley> deryck: right.
[16:41] <deryck> abentley, ok, I'll look closely at that
[16:59] <jcsackett> rvba: r=me.
[17:00] <rvba> jcsackett: thanks a lot.
[17:00] <jcsackett> rvba: i did just see actually that there's a text conflict in the MP again. you'll need to fix that before landing, of course. :-)
[17:00] <rvba> jcsackett: sure. will do.
[17:08] <bigjools> ummm I just somehow managed to make an input box in firefox when editing a wiki page think that the text is right-justified.  How would I fix that?
[17:10] <maxb> bigjools: Ctrl-Shift-X
[17:10] <bigjools> maxb: how obvious...!  Thanks.
[17:16] <deryck> abentley, all done.  r=me.
[17:16]  * deryck wipes brow from reviewing three js branches
[17:16] <deryck> abentley, the inheritance looks good for FormErrorHandler, too.
[17:18] <abentley> deryck: cool.  Creating an instance of ErrorHandler in order to create a subclass of it just seems weird.
[17:18] <deryck> abentley, yeah, it is a bit weird actually.  but that's prototyped based objects for you. :-)
[17:20] <deryck> ok, need a break now.  lunch!
[17:42] <timrc> lifeless: sorry if my activity on the wiki the other day raised an eyebrow :) we're trying to clearly state our requirements moving forward w/ archive management in OEM and the Derivative Distributions work Launchpad is committed to do is something we're very interested in eventually using
[17:43] <timrc> we don't have good documentation on what our requirements and use cases are, so that's what we're trying to codify (maybe the wrong word)
[17:54] <bigjools> timrc: use cases would be awesome :)
[18:00] <timrc> bigjools: aye :)
[18:02] <bigjools> good night all
[18:03] <mrevell> Good night all.
[20:14] <lifeless> good morning
[20:15] <lifeless> is anyone on the db-devel conflict?
[20:15] <lifeless> timrc: not at all, I thought it was great to see it captured
[20:43] <lifeless> anyone here witha windows machine ?
[20:44] <abentley> lifeless: sure.
[20:48] <lifeless> abentley: could you qa huw's patch to let IE make comments on bugs? Its on qastaging
[20:48] <lifeless> https://bugs.launchpad.net/launchpad/+bug/414747
[20:48] <_mup_> Bug #414747: No comment submit button on IE <bug-page> <ie> <javascript> <lp-bugs> <qa-needstesting> <ui> <Launchpad itself:Fix Committed by huwshimi> < https://launchpad.net/bugs/414747 >
[20:48] <lifeless> abentley: if you have ie 7 or 8, that is
[20:50] <abentley> lifeless: Okay, I'll see what I can do.
[20:50] <lifeless> abentley: thank you!
[20:57] <abentley> lifeless: I'm getting lots of timeout errors.
[21:00] <jcsackett> ah, the joys of not realizing you're disconnected...
[21:01] <abentley> lifeless: qastaging is not usable due to timeouts.
[21:04] <lifeless> abentley: oh :( which bug ?
[21:04] <abentley> lifeless: bug 414747
[21:04] <_mup_> Bug #414747: No comment submit button on IE <bug-page> <ie> <javascript> <lp-bugs> <qa-needstesting> <ui> <Launchpad itself:Fix Committed by huwshimi> < https://launchpad.net/bugs/414747 >
[21:06] <lifeless> abentley: I meant which bug were you testing with on qastaging :)
[21:06] <abentley> lifeless: I don't understand.
[21:07] <lifeless> abentley: what url on qastaging timed out
[21:07] <lifeless> abentley: https://bugs.qastaging.launchpad.net/launchpad/+bug/414747 I just added a comment there successfully
[21:08] <_mup_> Bug #414747: No comment submit button on IE <bug-page> <ie> <javascript> <lp-bugs> <qa-needstesting> <ui> <Launchpad itself:Fix Committed by huwshimi> < https://launchpad.net/bugs/414747 >
[21:09] <benji> jcsackett: it took a while but I have a revamp of that ealier MP for you to look at if you have time: https://code.edge.launchpad.net/~benji/launchpad/add-edit-tests-2/+merge/56832
[21:09] <abentley> lifeless: Oh, I thought it applied to code review comments, so I was testing with https://code.qastaging.launchpad.net/~james-w/launchpad/more-matchers/+merge/32057
[21:09] <jcsackett> benji: happy to take a look at it now. :-)
[21:09] <benji> cool
[21:09] <lifeless> abentley: ah! it may, but it was filed against bug pages specifically
[21:10] <lifeless> jcsackett: hi
[21:12] <abentley> lifeless: worked.
[21:12] <abentley> lifeless: on bug 240067
[21:12] <_mup_> Bug #240067: Launchpad projects need wikis <feature> <lp-foundations> <ubuntu-platform> <Launchpad itself:Triaged> < https://launchpad.net/bugs/240067 >
[21:13] <lifeless> abentley: cool; what version of IE did you use? {so I can put it in the bug }
[21:13] <abentley> IE 8.0.6001.18702
[21:13] <lifeless> thanks, appreciate this
[21:14] <abentley> lifeless: you're welcome.
[21:16] <jcsackett> lifeless: hello.
[21:26] <lifeless> jcsackett: hiya
[21:26] <jcsackett> hello again, lifeless. :-)
[21:26] <lifeless> jcsackett: wanted to reassure you I'm not going to mess with your spam stuff
[21:26] <lifeless> jcsackett: though we now have clear data that centralisation in the schema is a performance pessimisation
[21:26] <jcsackett> lifeless: which is a shame.
[21:26] <lifeless> jcsackett: well, schema != model
[21:26] <jcsackett> true.
[21:26] <jcsackett> and i only really care about code fragmentation in the model.
[21:26] <lifeless> if we say, for instance 'a message belongs to one context only'
[21:26] <lifeless> then we can serialise a few different ways with no /requirement/ for code duplication in python
[21:26] <jcsackett> i think that sounds just fine. :-)
[21:26] <lifeless> we may need to hack on or around storm, but thats a one time code
[21:26] <lifeless> s/code/cost/
[21:27] <lifeless> jcsackett: separately, I've commented on the end of Bug:45419
[21:27] <jcsackett> as i said, i think there's ways to keep what i've done and do what you're suggesting (and anything that helps the bug pages is a win). i just wanted to peep up and make sure that was a consideration.
[21:27] <lifeless> jcsackett: you need to unlink that bug, so future landings won't trigger qa-needs for it
[21:27] <jcsackett> i saw your comment.
[21:27] <lifeless> jcsackett: cool
[21:27] <lifeless> jcsackett: related to that the db-stable qa report also had qa needed by you for your landing on db-stable
[21:28] <lifeless> jcsackett: I presume its the same patch?
[21:30] <jcsackett> lifeless: yeah, just retargeted to devel.
[21:30] <lifeless> jcsackett: (its now showing qa-untestable because I marked up the bug [which is shared] as untestable per your comment)
[21:30] <flacoste> lifeless: i'm getting 503 trying access launchpad.net
[21:30] <lifeless> jcsackett: something you might like to do [I do this] is to just look at the two reports daily and search for jcs on the page.
[21:30] <lifeless> flacoste: the home page?
[21:30] <flacoste> yep
[21:30] <flacoste> got disconnect with the mumble server also
[21:30] <flacoste> might me connectivity to the data centre from here
[21:30] <jcsackett> the part that was landed is actually qa-able, i just wasn't able to qa it because of machine problems until about 15 min ago. everything worked nicely.
[21:30] <jcsackett> which wasn't really a surprise, since it worked on the first non-deployed landing as well.
[21:30] <lifeless> blog.launchpad.net works (matters for the front page only of lp.net)
[21:30] <lifeless> flacoste: reprorudced
[21:30] <lifeless> its just the home page
[21:32] <jcsackett> benji: r=me.
[21:32] <benji> jcsackett: thanks
[22:04] <lifeless> gary_poster: I have an unreasonable hunch that https://bugs.launchpad.net/launchpad/+bug/754058 is due to subscription js changes
[22:04] <_mup_> Bug #754058: post bug filing notification is cleared by an ajax request a few seconds after page load <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/754058 >
[22:04] <gary_poster> lifeless well :-P then :-)
[22:04] <lifeless> gary_poster: or due to the notification-via-ajax stuff wallyworld_ did
[22:04] <gary_poster> I don't have enough context yet
[22:05] <gary_poster> lemme read
[22:05] <lifeless> gary_poster: but I don't know which is more likely; I mention to you now so you know
[22:05] <lifeless> gary_poster: I'm also going to mention to wallyworld_.
[22:05] <lifeless> gary_poster: thanks!
[22:05] <thumper> :(
[22:05] <thumper> neither bigjools nor deryck are around
[22:06] <lifeless> thumper: you need them ?
[22:06] <thumper> lifeless: I was wanting to talk to them, yes
[22:06] <gary_poster> lifeless: "post-filing note" means you file something and then you add a comment immediately after?
[22:07] <lifeless> gary_poster: no, the blue notification
[22:07] <lifeless> gary_poster: we have this thing where a project can set 'instructions to show people after they file a bug'
[22:07] <lifeless> it gets shown as a page notification
[22:07] <gary_poster> oh
[22:08] <lifeless> actually the more I think about this
[22:08] <lifeless> the more I think its wallyworld_'s thing having an unexpected interaction
[22:08] <lifeless> I think his code wipes the notification area rather than combining things, or something like that
[22:09] <gary_poster> lifeless, yeah, I duped and see what you mean now, and lots of interactiony things are possible, but we haven't touched that code AFAIK, or things near it
[22:10] <gary_poster> so, IOW, I'll leave it be unless directed otherwise, if that's alright
[22:10] <lifeless> gary_poster: totally fine
[22:10] <gary_poster> cool.  thanks for heads up
[22:11] <mwhudson> argh, why isn't lib/lp/services/command_spawner.py written using twisted?
[22:11] <lifeless> I'll talk to wallyworld_ today; if its not his stuff, will let you know monday
[22:11] <mwhudson> twisted is good at this sort of thing :)
[22:12] <lifeless> lies!
[22:12] <lifeless> gary_poster: is there anything I can do for you at the moment?
[22:13] <gary_poster> lifeless, thinking...your help on the bug 1 timeout was much appreciated btw
[22:13] <_mup_> Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:I
[22:13] <lifeless> gary_poster: was happy to help
[22:15] <gary_poster> lifeless, I think we are OK in terms of high-level things.  Once I dig into #753000 more and determine if we need a new DB constraint I may look your or stub's way.  I can't think of any larger-size mysteries to point you at though.  Thank you for asking.
[22:15] <_mup_> Bug #753000: NotOneError caused by duplicate stuctural subscriptions <merge-deactivate> <oops> <story-better-bug-notification> <Launchpad itself:Triaged> < https://launchpad.net/bugs/753000 >
[22:15] <lifeless> gary_poster: kk
[22:16] <thumper> abentley: ping
[22:16] <abentley> thumper: pong
[22:17] <thumper> abentley: I was wanting to talk to you about some bzrlib stuff, but bigjools just got back to me, so I'll follow up in email, it is nothing urgent, just wikkid
[22:17] <abentley> thumper: cool.
[22:35] <lifeless> flacoste: we should start reporting on regressions now
[22:36] <lifeless> we've been tagging them for a month now, I think
[22:36] <lifeless> https://bugs.launchpad.net/launchpad/+bugs?field.tag=regression
[22:36] <flacoste> lifeless: what do you have in mind?
[22:36] <lifeless> flacoste: a stat in the TL call, and a graph
[22:36] <flacoste> lifeless: we already have a graph
[22:36] <lifeless> \o/
[22:36] <lifeless> flacoste: then I'm interested in a little regular discussion about it
[22:37] <flacoste> lifeless: as part of the critical bugs burndown, regressions have their own category
[22:37] <flacoste> same thing in the critical bugs fixed chart
[22:37] <lifeless> do we have the ration (regression count in period / bugs filed in period)
[22:38] <flacoste> lifeless: you mean, new regression filed / new bugs filed, no we don't have that
[22:38] <flacoste> lifeless: i can work on that next week
[22:38] <lifeless> if you think its useful
[22:39] <flacoste> i do
[22:39] <lifeless> hmm
[22:39] <lifeless> I wonder
[22:39] <lifeless> regressions per landing would be interesting too
[22:39] <flacoste> i actually think that a new bugs filed in last 24h with some details on categories would be helpful
[22:39] <lifeless> or landings per regression
[22:39] <lifeless> flacoste: a portlet like that rock
[22:39] <wallyworld_> lifeless: yes, that's my issue. i'll fix it
[22:40] <lifeless> wallyworld_: if you want to talk around the interactions, I'm available anytime
[22:40] <wallyworld_> lifeless: np. i know what's causing it.
[22:41] <lifeless> cool
[22:41] <lifeless> [whats causing it?]
[23:13] <LPCIBot> Project devel build #618: FAILURE in 5 hr 55 min: https://lpci.wedontsleep.org/job/devel/618/
[23:36] <wallyworld_> lifeless: https://code.launchpad.net/~wallyworld/launchpad/improper-notification-removal/+merge/56855
[23:36] <wallyworld_> lifeless: the cause was that it was expected that each new patch request would need to clear existing notifications
[23:37] <wallyworld_> so that old ones would not be left hanging around
[23:37] <wallyworld_> soory, i didn;t see your earlier question - was working on the fix
[23:41] <lifeless> wallyworld_: no worries
[23:58] <wgrant> Bah.
[23:58] <wgrant> Anybody looking at the conflict from 6 hours ago?
[23:59] <thumper> wgrant: I was just about to start
[23:59] <thumper> but if you want to , it's all yours :)