[00:01] jam: have you set a commit message? [00:02] lifeless: Do qastaging OOPSes not sync very often? [00:02] wgrant: sadly no [00:03] jam: its on the way [00:03] :( [00:04] lifeless: thanks! [00:04] wgrant: if they are in the rsync list, you can get them yourself [00:05] rsync tellurium::codehosting-qastaging-logs/ is stuff I used quite a bit [00:05] jam: the point is to get them into the lp-oops microsite [00:05] lifeless: ah, so nicely formatted, rather than just raw oops [00:05] sure [00:05] formatted and analysed [00:05] anyway, thanks for the submission, I'm off to have some family time [00:05] ciao [00:09] Yeah, lp-oops is far better at formatting and analysing than I. [00:09] lifeless: Bug 721591 [00:09] <_mup_> Bug #721591: Please make *-backports not automatic starting with Natty < https://launchpad.net/bugs/721591 > [00:09] I am wondering how we should restrict to >= Natty... [00:09] It's a bit too permanent for FF. [00:12] its a series thing right ? [00:13] Yes. [00:13] We could have a flag on distroseries. [00:13] But it will probably be on forever. [00:13] I've marked the bug incomplete [00:13] it doesn't describe what it needs [00:13] It does. [00:14] What is incomplete about it? [00:14] maybe you understan it [00:14] but I read the spec [00:14] The spec says what needs to be done: [00:14] and it looks like LP doesn't need to change at all, its an APT and synaptic change. [00:14] - change soyuz to set NotAutomatic: yes in backports release files [00:14] - add "ButAutomaticUpgrades: yes" - don't install automatically, do upgrade automatically [00:15] then put that in the bug in lp [00:15] * wgrant comments. [00:15] bugs that say 'follow a spec over ->' when that spec is a wall of text, are pretty unapproachable [00:15] wgrant: fix up the description [00:15] thats more useful than a comment [00:16] True. [00:16] wgrant: so, the way I'd approach this general problem, if doing this greenfield would be: [00:16] use the prototype pattern [00:16] setup a 'template' distroseries [00:16] and have 'make a new distroseries' use the template for that distro [00:17] We already do that. [00:17] anyhow, this seems specific to releases of Ubuntu, so its a series specific thing [00:17] Right. [00:17] I don't think a flag makes sense, its not 'server config' its data driven config [00:18] It just seems sort of wasteful to have it as a flag on DS when there is just a single transition. [00:18] s/flag/featureflag/ [00:18] Right. [00:18] wekk [00:18] I'm fine doing it however you like [00:18] I will note: [00:19] - if its a config option somewhere, that implies that users may want to change it [00:19] - if they /will not/ or /must not/ then an option is wrong [00:19] - feature flags are things we want to change, as is launchpad-lazr.conf [00:20] this in fact a suite rule note a series rule, now that I'm more awake. [00:20] But it can't be hardcoded, because it is data-based. [00:20] sure we can, if we want to hard code it. [00:20] It can become a suite flag when we model suites. [00:21] its less flexible, and might be a poor engineering choice to hard code it. [00:21] but it might be a good choice to hard code it. [00:27] I relaise that doesn't help you all that much [00:29] man getCurrentSourceReleases seems a bit inefficient [00:32] Convoluted, but it doesn't look toooo inefficient. [00:32] Am I missing something? [00:37] https://bugs.launchpad.net/launchpad/+bug/636158 [00:37] <_mup_> Bug #636158: BugTask:+index times out with many bug tasks/nominations (eg. Bug #1) < https://launchpad.net/bugs/636158 > [00:37] wgrant: its querying the same stuff from distro level then distroseries level according to my casual trace here [00:39] Oh, completely forgot that it was used by Bugs. [00:39] per nomination [00:39] not nomination [00:39] task [00:39] anyhow [00:39] it may be tolerable as a single lookup in a paeg [00:39] but we're doing a fair few [00:39] Do you have a modern qas OOPS for that? [00:39] Oh. [00:39] Mine has synced now. [00:39] OOPS-1875D380 is prod yesterday [00:39] Finally. [00:40] Yes, but prod isn't fast yet. [00:40] OOPS-1875QS36 [00:41] Hah. [00:41] Longest statement is 319 ms. Not bad. [00:42] Lots of repeated SPN and VPC queries :( [00:42] yes [00:42] I'm looking at SPN atm [00:42] And Person itself. [00:42] VPC will be some missing/incimplete eager loads [00:42] Hmm. [00:43] VPC is eagerloaded. [00:43] But not completely, yeah. [00:43] e.g. list(Person query) rather than PersonSet.eagerLoadPersonsByIds [00:44] I wonder how expensive it would be to record tracebacks for queries. [00:45] I'd like to do it on demand [00:46] or when we're down to <50 queries on most pages [00:46] it is nontrivial cost, but not terrible (unless doing 1000's of times :P) [00:46] Sure, only on demand. [00:46] Like ++oops++tracebacks or something like that. [00:46] but the thing to remember is there is disk overhead in the oops, serialising etc. [00:46] wgrant: +1 [00:46] Hmm. [00:46] It's querying for people that don't make it into the final page. [00:46] That's a bit odd. [00:46] I would really be fine all the time, once we're down to sensible timeline counts [00:47] eg the Thai Loco Team. [00:47] wgrant: owners of messages perhaps [00:49] we possibly want to turn memcache off too [00:49] Ohh. [00:49] I think it's doing the release targetting permission check. [00:49] These are all product owners. [00:50] let me guess, thats expressed in python? [00:50] Of course. [00:50] It's also buggy. [00:50] persistence layer should make this -so- much nicer [00:50] Perhaps the rewrite can fix both. [00:51] memcache misses for all of it [00:51] I think we should turn memcache off for this [00:51] Er. [00:51] Well, this is on ++oops++, so it is definitely going to miss :) [00:51] But yes, I think the utility is extremely limited in general. [00:52] also a few single bug subscroption lookups [00:53] I bet its per question or something [00:53] repeated lookups for totem [00:53] It's nice that we have a pathological test case like this. [00:53] ) [00:54] it does two __nonzero__ calls on bugwatches [00:54] thats not cached by the resultset [00:55] At least __nonzero__ isn't so bad now. [00:55] depends on the query [00:55] it may still materialize 50K rows [00:56] classy [00:56] we prejoin bugwatch [00:56] then we directly query bugwatch [00:56] twice [00:56] We do similar things in lots of places. [00:57] thrice [00:57] and more [00:57] I wonder if its a per-task check [00:57] if check_permission("launchpad.Driver", target): [00:57] Yay, security adapters. [00:57] its bracketed by milestone lookups [00:58] See, tracebacks handy. [00:58] browser/bugtask.py - line 3163 [00:58] wgrant: of course; I use them all the time ;) [00:58] Also, LaunchBag needs to die. [00:59] lifeless: A line number that high is illegal. [00:59] I might work on redoing oops tools tomorrow [00:59] On something searchable? [01:00] theres a few bugs I'd like to address [01:00] move the format to json [01:01] make pageid a primary focus for it [01:01] make it realtime [01:01] lifeless: The targetting is not actually the expensive bit. It is just normal task attribute permission checks. [01:01] Yay. [01:01] Easily cachable. [01:01] rabbitmq loading of oopses [01:02] get rid of the on disk store; just keep em in the db [01:02] [but make it properly searchable as a necessary condition] [01:03] public project [01:04] flacoste: I bet you're gone now [01:09] I might fix the build tomorrow! [01:09] so I can land jam & my branches. [01:09] g'night. [01:09] Night. [01:11] night [03:22] Yippie, build fixed! [03:22] Project devel build (456): FIXED in 5 hr 22 min: https://hudson.wedontsleep.org/job/devel/456/ [03:22] Launchpad Patch Queue Manager: [r=adeuring][no-qa] Fix factory.makePOTMsgSet default sequence. [05:28] SpamapS: hey [05:29] SpamapS: if you're around... where is the cassandra stuff, and are there lucid builds === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [07:43] jml: around? === almaisan-away is now known as al-maisan === ]reed[ is now known as [reed] === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away === mhall119_ is now known as mhall119 === maxb_ is now known as maxb [18:43] jml: hai [23:40] jml: oh hai