[00:10] mars: I don't understand your assertThat suggestion. [00:10] I've not seen it before. [00:10] wgrant, it's something newish that testtools ported from Java. You write a custom matcher and pass it into the assertThat() method along with the object to be asserted [00:12] wgrant, so you would write a matcher that does the "assertEqual(expected, list(object._myMethod()))" dance for you, as if you were writing a helper function or something [00:12] then you pass that matcher and the object under test into assertThat: assertThat(myobject, PassesMyTest(foo)) [00:13] Ah, I see. [00:14] The Java guys came up with it as a hack because assertEquals in Java just prints "True" or "False", which is really lame. So they created the assertThat() method so that it can actually print nice test failure messages. [00:14] However, it also serves as a nice way to pull common custom test conditions together as readable wrapper for helper functions [00:17] wgrant, here's the code: http://bazaar.launchpad.net/~testtools-dev/testtools/trunk/annotate/head:/testtools/matchers.py [00:19] I see it's not used anywhere in LP. [00:19] I'm not sure how to write a matcher. [00:21] wgrant, ok, maybe don't worry about it. I'm just reading the code now, and you have to define a new class to do it. [00:21] mars: Do you object strongly enough to NascentUpload's conditional __init__ that I should change the several dozen callsites which pass in a path? [00:21] wgrant: give me a few minutes and I can help; or you can look at at testtools.matchers, bzrlib.test.matchers, or james' external matcher project [00:21] I suppose it's nicer. [00:22] hi mars, wgrant [00:22] Morning poolie. [00:22] lifeless, I was thinking it was a nice way to wrap a repeated one-line assertEquals(), but I don't think the matchers are light enough to do that yet [00:22] Good morning poolie [00:23] i've been meaning to try joining up multiple related assertions under an aggregating matcher [00:23] so you get a better message when they fail [00:24] A decorator to somehow turn a helper function into a matcher would do the trick, but it's just a fancy way of writing a self.checkThat(foo) method. [00:26] mars: wgrant: whats the MP that this is being discussed on ? [00:26] i think there's a social effect here that we don't normally have tests failing very much [00:26] lifeless: https://code.edge.launchpad.net/~wgrant/launchpad/test-ddeb-matching/+merge/31482 [00:26] so having nicer failures is only a transient benefit [00:26] poolie, here as in Launchpad, or here as in Python? [00:30] in bzr, and probably in lp [00:30] maybe you get more failures in buildbot in lp [00:30] wgrant: ok, matchers will definitely be cleaner. let me sketch you a story [00:31] lifeless: Cleaner than a domain-specific assertion method? [00:31] yeah, they would be [00:31] yes [00:31] Hm. [00:31] definitely cleaner than inventing a per-test way of factoring it out [00:33] wgrant: you also have some dead code AFAICT [00:34] Hm, there's an 'except KeyError' that probably shouldn't be there any more. [00:34] But what else? [00:34] Oh, no, that should be. [00:35] What's dead? [00:39] wgrant: http://paste.ubuntu.com/472863/ [00:39] wgrant: I didn't quite get the intent of your function initially [00:40] wgrant: thats a sketch of a matcher : use it as self.assertThat(self.changes, HasCorrectDebugDebs()) [00:40] it has the following properties; it is itself testable [00:40] lifeless: Um, matchDDEBs is production code. [00:40] Not just for tests. [00:41] wgrant: thats interesting :) this can still fit in that context - matchers are not test-only code. [00:42] anyhow, if it fits - great; if it doesn't, thats fine too. [00:46] lifeless, poolie, in your 'switchable sandbox' workflow, does 'bzr push' still work as normal from within the tree'd branch you are working in? [00:46] wgrant, lifeless, mars: there will be lp.testing.matchers landing very shortly [00:46] or do I have have to cd out and into the branch I am switched to? [00:46] I would encourage lp..testing.matchers or similar too [00:46] james_w, cool, be sure to write the list when it does [00:47] very nice [00:47] I think it's either in PQM's queue, or got lost between ec2 and pqm [00:49] :( [00:49] I want to update the pre-requisite branch of a merge proposal [00:49] * thumper tweaks todo list [00:54] * mwhudson waves at james_w [00:55] Ursinha-afk: doh, I misse dyou [00:55] hi mwhudson [00:56] james_w: i was going to ask how things were going, but maybe we should do that in #linaro [00:58] How is stable ever going to get deployed in the new QA model? [00:58] If it has to be fully QAd... [00:59] where do I find launchpad pqm's web interface? [01:00] james_w, https://pqm.launchpad.net, but it won't help you much [01:00] james_w, you might have to grep the server logs to find your branch [01:00] oh, or not [01:01] the branch is in the queue [01:04] wgrant: a specific rev of stable is fully qa'd, not tip. [01:04] wgrant: I'll make that clearer [01:04] lifeless: Ah, I see. [01:04] mars: yes, it still works. [01:05] lifeless: flacoste's email this morning confused me. [01:05] yes [01:05] > Is there a facility to roll out just the QAd stuff? [01:05] No. Un-qaed revisions blocks deployment. [01:05] what he means is [01:05] It'll roll out an earlier revision. [01:05] we can only rollout qa'd stuff; and that means we can't skip a revision [01:05] if you have ABCDEF and A,C are QA'd we can only deploy A [01:06] B needs to be either rolled back, or QA-ok. [01:07] Right. [01:08] anyone seen ImportError: No module named debian on ec2 recently ? [01:08] That rev was just rolled back. [01:08] But I thought buildbot was broken -- not ec2. [01:09] wgrant, he may have fired up ec2 before the fix landed [01:11] lifeless: You need to merge in a more recent lp:launchpad/devel, which adds me to the list of valid image owners. Though it's not relevant anymore since that revision has indeed been reverted. [01:13] jelmer: into where - the ec2land running branch, my branch being submitted, or the target ? [01:13] lifeless, the ec2land running branch [01:13] ugh [01:13] but ok [01:26] is there a bug about the hot bugs list not updating bug status ? [01:26] lifeless: yes, is memcache misuse bug [01:27] poolie: yes, but whats the bug # [01:27] The milestone view is still broken too :( [01:27] * poolie looks [01:28] ah bug 599614 is the milestone page [01:28] <_mup_> Bug #599614: bad caching in milestone page [01:28] It's a lie. [01:28] Ah, different bug. [01:28] lifeless: i wonder if we should 1- just turn them all off; 2- turn them right down to be unobjectionably low; 3- push expiry; 4- force browser refresh [01:30] Bug #601051 is one. [01:30] <_mup_> Bug #601051: Caching of primary data sources reduces utility [01:30] so this is an interesting case to use approximation [01:30] if you say "about 200 open bugs" it's a bit more tolerant of being out of date, [01:31] but not really, because i could speedily close many of them, and then it would still be wrong [01:31] wgrant: that's a nice description of a general cause [01:31] is it really a registry bug? [01:32] Well, the problematic cases are mostly Registry. [01:32] But possibly not. [01:32] bug 604530 too [01:32] <_mup_> Bug #604530: brower refresh button should refresh TAL caches [02:29] is http://paste.ubuntu.com/472894/ not broken? [02:31] I'd say so. [02:31] It's been BPPH for yeeeears. [02:31] * mwhudson hasn't internalized the soyuz model well enough to say off hand [02:32] there's no distroarchseries on BinaryPackageRelease or its interface [02:32] * thumper has connection issues [02:32] make that three classes that don't implement the interface [02:32] there are people outside messing with wires [02:33] james_w: The idea is right. It's joining BPR to DAS via BPP. [02:33] Except that BPP is BPPH and has been for a long time. [02:34] does this imply that the "packages" attribute isn't used anywhere? [02:34] I would hope that was the case. [02:35] james_w: is it in the interface? [02:35] mwhudson: yes [02:36] sigh [02:36] delete it or write tests for it? [02:37] I'm inclined to delete it [02:37] delete it [02:37] if it's not used [02:37] which it seems like it can't possibly be [02:38] thumper: telecomnz seems to have had an outage [02:45] someone let that wet string dry out again? [02:51] :P [02:58] the first set of changes to wean SoyuzTestPublisher off the sampledata is now in ec2 to generate a list of fallout for me to work through [02:58] That could be amusing. [02:58] I'm doing it piecemeal [02:59] I'm considering demolishing parts of builder.txt. [03:00] this doesn't just make it ignore sampledata. There's one pipe to make the SoyuzTestPublisher back on to the factory, and another to give an API to avoid sampledata, with minimal changes to existing test paths. [03:00] Soyuz tests seem to be getting a bit of a makeover at the moment. [03:00] Ah, excellent! [03:00] that will allow us to gradually migrate [03:01] if it turns out there isn't much fallout then I'll just switch the existing code paths. The branch I just sent to ec2 does this for all the tests in test_publisher, just to get a feel for the fallout. [03:04] wgrant: so, I think I've captured what you wanted in bug https://bugs.launchpad.net/launchpad/+bug/601051 [03:04] <_mup_> Bug #601051: memcache is used as a bandaid for responsiveness [03:04] wgrant: if instead you meant to say 'page X is cached and shouldn't be', please change it to say that and put it on the right product. [03:05] lifeless: Indeed, thanks. [03:05] There are a few around now, so your changes sound good. [03:13] OMFG, my code is actually working [03:14] thumper: that's the beauty of statistics; eventually that million to one chance comes up! [03:14] haha [03:14] (I am *so* dead at the next allhands...) [03:14] fcuking aussies think they are better than the rest of us [03:15] s/think/know/ ;-) [03:15] I was amused to read an article on the sydney morning herald website [03:15] about how australia was going to beat the all blacks last weekend [03:16] one of his 10 reasons was "because australians are better than kiwis at everything" [03:16] ah yes. The SMH. Purveyor of Kwality Journalism. [03:16] Excellent reasoning. [03:16] another was "because it is about time" [03:16] and "we have too good a coach to lose to the all blacks 8 TIMES IN A ROW" [03:17] I gather the AllBlacks won then? [03:17] heh, by lots [03:17] ha! nice. [03:17] 49 to something small like 14 [03:17] orsum! [03:17] was it a decent match depsite the score diff? or just embarrassing? [03:17] wallabies got someone red carded for the first time ever against the ABs [03:17] Ahh. Biased ref eh? [03:17] no [03:18] stupid player [03:18] (zing. trolled!) [03:18] ABs had a player yellow carded for not using arms in a tackle (read as shoulder charge) [03:18] oof [03:18] Wallabies got a player yellowed for exactly the same reason with 5 minutes [03:19] ref warned both captains to stop slowing the ball down and he would move to yellow cards for anyone who continues [03:19] I wonder [03:19] for tag clouds [03:19] hrm. ok, It's been about 25 years since I last played rugby; but we were taught to more or less hit with the shoulder and wrap the arms around to pull 'em down. that no longer the case? [03:19] if using just the last 10K modified or something to summarise would be good [03:19] rather than 'all open' [03:19] wallaby player gets yellow carded for slowing the ball down, but it was the same guy, 2 yellows = red [03:19] (which we don't even do today) [03:20] spm: that's kinda OK as long as the arms are up and out at the time of shoulder contact :) [03:20] lifeless: I'd suspect it would be - if only for 'most recent ~= most relevant' [03:20] lifeless: Don't we use 'all open' at the moment? [03:20] lifeless: Apart from the dupe bug. [03:20] thumper: roight [03:20] wgrant: bug 404*** - tags from closed bug sshow in the cloud [03:20] wgrant: that might be dupe related, I dunno [03:20] Hmm. [03:20] wgrant: check your bug mail ~ 2am [03:21] * thumper is making bzr push lp:project work when there isn't yet a trunk [03:21] thumper: orsum [03:23] lifeless: Ah. [03:26] losa ping [03:26] yo [03:26] whats the unit on https://lpstats.canonical.com/graphs/MemcachedServersAll/ [03:26] requests per ??? ? [03:26] tribble [03:26] * lifeless trouts spm [03:26] spm: there is something I'm supposed to be talking to you about... [03:26] * thumper thinks [03:27] lifeless: I think it's seconds tbh. [03:27] spm: and https://lpstats.canonical.com/graphs/MemcachedTotal/ [03:27] spm: does that mean, as I think it does, that we're getting 20% hit rate? [03:27] lifeless: 5 min average, or possibly 1 min avg; per second. [03:28] lifeless: I guess so - I'd suggest verifying with stub tho; he's more across the fine details of those than me [03:29] meh, I'll shoot my foot off, its fine. [03:29] fwiw, the serversall is a tad busy, but somewhat by (my) choice. was thinking that if we note server X is showing numbers wildly different to A, B & C, then there is "A Problem™" [03:30] but by and large, they all track fairly close together, which is a good thing [03:31] mwhudson: please tell me that if the xmlrpc server returns a fault it aborts the transaction [03:33] thumper: i think so, you should be able to confirm by looking at the publication code [03:33] mwhudson: where is the xmlrpc publication code? [03:33] do you know? [03:40] thumper: otp [03:43] ack [03:45] :( [03:45] lp.codehosting.inmemory is going to make my life hard [03:47] * lifeless sets up a flamefest on lp-dev [03:48] lifeless: about? [03:49] memcached [03:49] is the set up you need to pqm-submit launchpad branches documented somewhere? [03:49] i know it used to be on launchpad.canonical.com [03:50] if this is wgrant's stuff, use ec2land ;) [03:50] it's just generally trying to recover my set up [03:50] i didn't lose much data, but i hadn't backed up lots of configuration :( [03:51] here is what I used: [03:51] echo "star-merge bzr+ssh://bazaar.launchpad.net/~lifeless/launchpad/malone bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel" | gnome-gpg --cl | mail launchpad@pqm.canonical.com -s "[r=mwhudson,thumper][ui=none][bug=607776] Further trade off ideal dup detection for speed, with an eye to bring back in ideal detection soon." [03:51] when I had something that I needed to do directly :P [03:52] I just use the pqm-submit plugin, and have an alias for db-submit [03:52] mwhudson: you need (or should have) the canonical smtp server set up for outgoing email [03:53] mwhudson: [/home/tim/repo/canonical/launchpad] [03:53] pqm_email = Launchpad PQM [03:53] submit_branch = /home/tim/repo/canonical/launchpad/devel [03:53] mwhudson: and set a public location for the submit branch [03:54] thumper: ta [03:56] hmm [03:57] my memcached mail seems to have gone awol ? [03:58] either that or lp list handling has gone boom ? [03:58] spm: ^? [03:58] I've got your email. ? [03:58] "So, we've got a partial deployment of memcache in place..." [03:59] ok cool. just gmail being stupid I guess [03:59] not showing me what I sent ... [04:00] thumper: the publication code is in canonical.launchpad.webapp.servers [04:00] mwhudson: please add to https://dev.launchpad.net/LandingChanges [04:00] thumper: and yeah, inmemory doesn't support transactions [04:02] james_w: actually maybe i am just being very antiquated in wanting to use pqm-submit [04:04] lifeless: One concern: as of 10.08 the front page makes requests to the blog to retrieve the feed. That's stored in memcached. [04:04] I'm not sure if that's going to be a problem, though. [04:05] well [04:05] we can keep that one page I guess. [04:05] (that said, the blog is local in the DC isn't it ?) [04:05] I think so. [04:06] remember that right now memcache isn't 'production available' - its not rated as a sev 1 when its down. [04:07] poolie: you said the other day that we could talk feature flags [04:07] poolie: did we? I forget [04:07] hey [04:08] i did say that; we didn't talk; talking now could be good [04:08] this is a good time for me actually [04:08] skype? [04:08] sure [04:19] poolie: https://bugs.edge.launchpad.net/ubuntu/+filebug-show-similar?title=lifeless%20is%20excited%20by%20the%20speed [04:20] hi [04:21] is there any doc howto install and configure launchpad dev? [04:22] j24: dev.launchpad.net [04:25] I've read it but not clear [04:25] I've install it [04:28] poolie: I've install by apt-get [04:28] and now want to run it [04:28] but it never start [04:29] what did you install? [04:32] launchpad-integration [04:32] $ co [04:32] & co [04:33] and what are you trying to accomplish [04:33] I want a local launchpad [04:33] to manage our own projects [04:33] ok [04:34] the "launchpad-integration" package isn't the launchpad source [04:34] I've install this [04:35] https://dev.launchpad.net/Running [04:35] http://paste.ubuntu.com/472926/ [04:35] yeah, that's not actually launchpad [04:35] as the name says, they're the dependencies and integration code [04:37] how can I install it so? [04:37] I want to install how own launchpad server [04:37] read that wiki page [04:38] is there any package that can do it on ubuntu? [04:38] with have to install the source [04:38] I've read the wiki but they always talk about manual settings [04:39] not howto install your own launchpad [04:47] poolie: if I download the source ok [04:47] it work if I run make run [04:47] but to setup a server it not good [05:03] poolie: how can people will use bazar for them self when it's not friendly at all [05:03] and ditto for launchpad [05:09] j24: Launchpad's not designed for you to install it yourself. [05:09] What is the prolbem that you have with Bazaar? [05:09] * mwhudson can't remember if he used to use gnome-gpg or seahorse [05:12] j24: I use bzr locally without launchpad for most of my work, what is it you are trying to do? [05:14] StevenK: ping [05:22] spm: yo! OSError: [Errno 2] No such file or directory: '/var/lock/launchpad-codeimportdispatcher.lock' [05:42] thumper: Pong [05:43] Is this how adapters are intended to be used?: http://www.muthukadan.net/docs/zca.html#adapters [05:45] cody-somerville: not necessarily how we do it [05:46] cody-somerville: you might want to take a look at BranchTarget as an example of how lp.code does it [05:49] Does launchpad use invariants, handlers, or subscription adapters? [05:50] i don't know what a subscription adapter is [05:50] i don't think we use invariants [05:50] what do you mean by handlers? [05:50] we do use zope.event a bit [05:50] lifeless: huh. so I see. two of 'em on diff servers. curious.... [05:50] mwhudson, handlers are subscription adapter factories that don't produce anything. [05:51] mwhudson, http://www.muthukadan.net/docs/zca.html#subscription-adapter [05:51] cody-somerville: no, we use a somewhat simpler thing [05:51] notify(event) [05:51] even implements some IFoo [05:51] and things that have register(IFoo) get called back [05:54] cody-somerville: ok, no i don't think we use subscription adapters [05:56] they look like a solution looking for a problem, to me ;) [05:59] We probably use them for publication hooks, but that's all I know of. [05:59] lifeless: O hai, no review? [05:59] grah [05:59] url me up [05:59] I shall do [05:59] lifeless: https://code.edge.launchpad.net/~stevenk/launchpad/move-ifp-from-idistroseries/+merge/31520 [06:01] StevenK: so [06:01] INSERT INTO is one case [06:02] I've since converted these calls to store.execute(), by the by [06:03] StevenK: I'm looking at store.execute on the merge page :P [06:03] * StevenK kicks his browser [06:03] _copy_lucille_config can be done with the GenericCollection stuff [06:03] its a set-wide mutation, which it supports. [06:04] right [06:04] so - INSERT INTO needs a storm feature, please file one (it needs INSERT INTO support, which AFAIK is not yet available) [06:05] the UPDATE can be done already without writing SQL. [06:06] I'm suprised Storm can't do INSERT [06:06] INSERT yes [06:06] INSERT INTO no [06:07] sorry, I should be clear INSERT INTO ... SELECT [06:07] lifeless: So it's an insert with a sub-select? [06:08] yes [06:08] it performs a query and inserts the result into a table [06:10] lifeless: Bug filed, #613300 [06:10] <_mup_> Bug #613300: Storm needs to support INSERT INTO ... SELECT [06:36] setting up the functional layer takes 25 seconds on this machine :( [06:37] hah [06:37] :( [06:38] lifeless: Anything else, re: that MP? [06:38] not at the level you were asking about [06:38] mwhudson: What is it, a coal-fired 486? [06:38] which was just 'why the raw sql' [06:39] StevenK: netbook [06:39] lifeless: Well, the other question was is the ducking underneath and all that still necessary? [06:40] what do you mean 'ducking underneath' ? [06:40] lifeless: In regards to the comment at line 108 in the MP diff [06:42] ah [06:42] well while INSERT INTO...SELECT is used; yes. [06:54] TWENTY FIVE SECONDS [06:54] spm: how about rt 40685 - is that blocked ? [06:56] mwhudson: What sort of hardware is that? [06:56] interesting [06:56] wgrant: it's an aspire one, some atom thing at 1.66 ghz [06:57] https://code.edge.launchpad.net/django <-- the first branch lists two series, one of the series doesn't even belong to the django project - is that a feature or a bug? [06:58] lifeless: only on resourcing afaict [06:59] spm: ok. [06:59] spm: wanna bikkit! [06:59] spm: you might like to eyeball https://dev.launchpad.net/LEP/ReleaseFeaturesWhenTheyAreDone [07:00] mwhudson: Haha. [07:01] * mwhudson having defeated zope again for the moment, retires for the evening [07:02] mwhudson: Did you get around to sending those branches off, or did the Atom defeat you? [07:02] wgrant: i didn't send your branches, sorry [07:02] mwhudson: No worries. [07:05] wgrant: Are they all totally good to go / [07:06] * StevenK kicks IArchiveSet.getByDistroPurpose() [07:08] lifeless: All except test-ddeb-matching are reviewed. I should probably get that one re-reviewed, since there were some changes made. [07:08] StevenK: Why? [07:08] StevenK: ArchiveCollection may interest you. [07:08] wgrant: thumper: I want a local bazarr management tool [07:08] and take a look on launchpad [07:08] it look good [07:09] but it's seems impossible to use for local projects management [07:09] wgrant: Because I'm calling it from a doctest, and it's printing a security proxied IArchive, and it gets called from the script, and it's None [07:09] StevenK: Awesome. [07:09] wgrant: FSVO [07:20] spm: any concerns about that wiki page from your perspective ? [07:24] lifeless: in stage 1, it might be worth raising the idea of switching app servers in/out of the pool of available services on the LB's [07:24] spm: isn't that whats done ? [07:24] nope [07:24] ... [07:25] tbh, short of config file changes and reloads of the LB's, it may not even be possible. [07:25] ok [07:25] I'm going to ostrich this one [07:26] heh [07:26] if it fuads [07:26] we'll stop moving through the process and address it [07:26] @ $job-1; we were able to switch servers on/off in the web ui; but as we only had 3 app servers to worry about; and rollouts were light; it wasnt hard to do so. [07:29] heh, and the idea of automated config changes to the running config of the LB's gives me the willies. switching set A in; out; B in etc. It may work; but *wince*. [07:30] it'd be nice if haproxy (it may, i just don't know) had some sort of remote push notify that a service was going down. vs it's current detect that service is down. === almaisan-away is now known as al-maisan [08:32] good morning [09:15] bigjools: Morning. [09:18] Hellooo [09:23] morning [09:24] bigjools: Any progress on the log parser setup? [09:24] I asked for it to be re-instated [09:25] about a week ago in fact [09:25] not sure if it got done though [09:30] wgrant: O hai? [09:31] wgrant: I'm working on moving initialiseFromParent() out of IDistroSeries, and I've stopped it creating archives that don't exist. What should it do if the debug archive doesn't exist? [09:31] StevenK: Hi. [09:31] StevenK: Why would iFP be creating archives? [09:32] It currently does [09:32] What. [09:32] it's bogus code [09:32] For example, ArchivePurpose.PARTNER [09:32] Ah, I guess it's designed to work cross-distro. [09:32] And it will need to soon... but I'd just drop that code until we know what it actually needs to be extended to do. [09:33] wgrant: I'm not sure I follow. Have iFP ignore debug archives? [09:34] StevenK: iFP is currently used within a single distro. [09:34] If there's no archive to publish to, there isn't one to copy from either. [09:35] Right [09:36] Hmm. [09:36] The current code is reasonable, though. [09:36] wgrant: Have you seen my MP? [09:37] StevenK: I looked at it around 6am this morning, so didn't really take in much... [09:37] * wgrant looks again. [09:38] Hm. [09:38] Does it really belong in scripts/? [09:38] We have stuff like the copy infrastructure in there... but then we call it from outside. I think it should be somewhere else. [09:38] But anyway. [09:39] it's a script [09:39] it should live in scripts [09:39] StevenK: Ah, so you're fixing it to not blindly copy PARTNER any more? [09:40] In that case, yes, whitelist DEBUG along with PRIMARY. [09:40] They need to be copied together at all costs. [09:40] debug doesn't exist yet though does it? [09:41] It doesn't, no. [09:41] Oh, blah. That creates it even if there are no publications. [09:42] Oh, no. It doesn't. [09:42] So that's fine. [09:42] so the script should only copy ddebs if the debug archive exists [09:42] There are only ddebs to copy if the debug archive exists, so it won't copy them unless it exists. [09:43] exactly :) [10:58] bigjools: Ah, thanks for fixing that. [10:58] you're such a stalker :) [10:59] I just subscribe to (db-)devel! [11:00] Haha [11:15] wgrant: ping [11:15] wgrant: Can you find more memcaching bugs - I can't find a solid list of them. [11:25] lifeless: Grep the tree for tal:cache, take most of the results! [11:25] (I can't do it myself right now, sorry) [11:26] hah, lol, thanks. [11:28] hello [11:28] hai [11:29] moin [11:29] g'tag [11:36] sinzui, hi! Say, would you mind having a look at how the FakeLibrarian currently installs itself and say whether I'm on the right track? Whether we want layers or test resources to take care of actually invoking it is for later. WIP MP: https://code.launchpad.net/~jtv/launchpad/fake-librarian/+merge/30907 [11:40] anyone from bugs around ? [11:40] jml: you wanted to catch up on testr; was there other stuff? should we have a brief call? [11:41] lifeless, just testr. need coffee before call. [11:49] lifeless, hello [11:49] hello [12:00] lifeless: I received an email about one of those branches, but not the other two. [12:00] no idea why :) [12:00] Yay. === jtv is now known as jtv-eat === salgado-afk is now known as salgado [12:34] jml: this is a core example of the sort of thing I was talking about re: storm etc - https://bugs.edge.launchpad.net/launchpad-foundations/+bug/251284 [12:35] <_mup_> Bug #251284: Building a representation of one entry should not take more than 1 database request [12:39] Morning, all. [12:41] hey Deryck! [12:45] lifeless, you around? [12:45] hai [12:46] so I'm a little aggravated that the caching of the hot bugs list as been held up as the poster boy for the horror of memcached. But I certainly don't mind if the caching is removed. [12:46] sorry :( its only one case [12:48] For the record, I did not do it to fix performance problems on the bugs home page. You can see two MPs for bug 590992, where I fixed the root cause of that issue first and then added caching to try to buy overhead in times of trouble again (i.e. back when the db was on fire). [12:48] <_mup_> Bug #590992: https://bugs.launchpad.net/ubuntu times out consistently [12:48] So I don't appreciate the "developers don't know how to cache" meme going around the bugs and email thread. [12:48] sorry! [12:49] It has definitely got overpersonal and a bit insulting [12:49] and thats sad, because I don't feel that way about our team [12:49] I agree there are problems with memcached usage currently. And perhaps it's better to focus our efforts on root cause of timeouts than getting the memcached infrastructure where it needs to be.... [12:50] and fixing specific bad uses of caching, of course, fine.... [12:50] but we'll never get memcached working if we don't try somehow. and I think it is useful if used well. [12:51] I totally agree [12:51] I had tried to make that clear; its a tricky subject :( [12:53] Yes, I agree it's tricky. And I agree with your perceptions, but not your conclusions. In other words, yes, we have issues, yes, we need to do better, and priorities need to be accessed. But I don't think backing out the facility completely, thereby preventing any further use, is the right approach. [12:53] I've just re-read the thread, and I'm unhappy that you're unhappy - neither of my mails talks about motivation or knowledge at all. [12:55] lifeless, "message and developer actions are mismatched" in response to memcached not being about timeouts implies developers motivations are just to fix timeouts.... [12:55] in the bug on this hot bugs issue you quote the great unsolved quote as if I don't know that and tell me to fix performance some other way [12:56] deryck: for that one I apologise wholeheartedly [12:56] no worries, I'm not *that* upset about it. :-) and look, I'm not trying to be a cry baby about it. It's not that big a deal in the end.... [12:56] deryck: it was out of line, I was a bit unhappy at it being low I think. [12:57] fair enough. I would rather us fix the memcached infrastructure to have some basic invalidation capabilities, rather than revert the usage. I could use a feature flag to cache for edge now, when I couldn't before. [12:57] deryck: so, I have a few things I want to ensure; I want to ensure that root causes are fixed first. Its great that you're doing that; I know via direct observation that it is not universally the case. [12:58] totally agree that we should fix that first. I've not chatted with anyone to know others are doing differently, but I certainly believe you :-) [12:59] And I'm happy to have this one case reverted if it makes everyone happier. [12:59] I want to ensure that we don't have coherency issues that users percieve - I'm all for decreased consistency to increase performance - but we can get a lot of mileage from just a little inconsistency [13:00] bah, perc*ei*ve - its midnight [13:00] right. Sorry to get you so late. I appreciate you chatting with me about it. === mrevell is now known as mrevell-lunch [13:01] I have a concern - possibly entirely unjustified - that we're missing a huge slab of infrastructure to do invalidation at all well : rabbit may help, but its pretty tricky knowing *all* the places that something can have been cached in. [13:03] anyhow, I'm not talking about pulling the plug from memcached in the datacentre; I'm talking about making sure that where we use it, its transparent to the user, and beneficial to us: we should be saving more time than we spend putting stuff in it during our current peak-load events [13:04] ok, if we're talking about "let's use it better, here's how..." then I'm completely supportive of that. I read "propose to turn memcached off Friday" as taking away the facility completely. [13:04] slightly hyperbole, and I didn't talk implementation details - I should have. [13:05] I think memcache is a wonderful tool (I'm upstream on squid FWIW - I *really* like my caches) [13:05] jml: I'd like a chat with you later about derived distros so I can bounce some issues off you if you're ok with that [13:06] bigjools, sure. a bit later though, not really feeling 100% [13:06] deryck: while we're talking [13:06] jml: no prob, me neither tbh. [13:06] deryck: https://bugs.edge.launchpad.net/launchpad-project/+bugs - search for 'caching' then click on next to get to the second page. [13:07] ok, looking.... [13:07] deryck: I see the first bug listed twice [13:07] and the 10th and 11th rows are duplicates too [13:08] lifeless, because you're searching on a project group and the project is different. See the project column. [13:08] yeah [13:08] is that deliberate? [13:09] Honestly, I'm not sure. It's been that way awhile, so I don't know. There's a bug about duplicates in series or package listings, but not about project groups, I don't think. [13:09] if you don't consider it a feature, I can find-or-file a bug on it tomorrow [13:10] lifeless, yeah, I think it would be better to list the bug individually, and have each project affected listed in the project column. [13:11] that would be really nice [13:11] it makes no sense for us to list multiple projects, since we're mostly one project. But for other project groups, it could be nice to see a bug affects multiple projects. [13:11] have you looked at the LEP/Search yet and made sure your use cases are well listed ? [13:12] I realise you're flat out :), but I do hope to move that forward soon. [13:13] deryck: I don't know if you've heard this, but apparently many users in the distro do their bug searching via +filebug [13:14] * jml -> lunch [13:14] lifeless, I did look at it. I thought it was well covered but will look again. I did know the distro used filebug. I often do the same. :-) [13:15] deryck: how would you feel if I put up a patch consolidating the search logic for them at some point ? [13:15] * deryck thinks.... [13:16] lifeless, I think that would be fine. My only concern is that filebug can be a bit aggressive and show odd results sometimes that make you think "now how is that related?" [13:16] deryck: I think we've pretty much fixed that :) [13:16] ah, right :-) [13:16] lifeless, so then, yeah. Please do it! :-) [13:17] well, ECycles, but I'll keep it in my scratch list [13:18] by which I mean, I won't commit to it, because that would impede someone else doing it, but if I happen to have some slack I'd certainly like to shrink the code base a little and that seems like a place with some overlap [13:21] yeah, definitely. I'm happy for it to be done, and fine if anyone does it. I doubt another bugs team dev would have time for a while either. Unless there own itch itches. :-) [13:21] who runs http://twitter.com/launchpadbugs ? [13:22] deryck: Should https://code.edge.launchpad.net/~stub/launchpad/bug-602936-hotbug-caching/+merge/31735 be rejected? I see no other way of addressing the bug in the short term, so it depends if you think the solution is better or worse than the problem (low priority, so I guess not much of a problem) [13:22] it seems very selective about what it retweets [13:23] lifeless, hmmm, I didn't even know that existed. Not sure who runs it. [13:24] :) [13:24] the miracles of doing a search to see if anyone complained about the filebug change === matsubara-afk is now known as matsubara [13:24] matsubara: hi [13:24] man, this is great, If only it wasn't 12:30 [13:24] lifeless, hi there [13:25] stub, no, I think reverting the memcached usage there is fine. For some reason, I thought you were still working on memcached in the sense of trying to get a simple invalidation mechanism.... [13:25] if not, then yes, we should clearly remove this usage. [13:25] matsubara: have you seen the fresh https://dev.launchpad.net/LEP/ReleaseFeaturesWhenTheyAreDone [13:25] lifeless, nope [13:25] matsubara: if I can divert you for a few minutes [13:25] and ask you to look at it [13:25] * matsubara reading now [13:26] I don't think we have gotten as far as deciding on an approach for invalidation, let alone ready to code. [13:26] I'm in favour of seeing what we can do with what we have, because that is less work ;) [13:28] heh, fair enough :) [13:37] lifeless, ok. do you need any specific feedback on it? [13:37] matsubara: yes; where are you guys up to with respect to the shepard ? [13:40] lifeless, mars is leading that. Last I heard there's: https://dev.launchpad.net/QAShepherd and mars registered https://edge.launchpad.net/qa-shepherd [13:40] ah [13:40] I shall chat with gary and mars then [13:41] bigjools, hi. 6 or 7 of the QA items for bugs are my markAsDuplicate work that was reverted, so I'm trying to get that back in today and qa'ed ASAP.... [13:41] that seems rather more than I had expected. [13:41] bigjools, as for the rest, I'll chase them up or nudge others today. [13:41] lifeless, have had a day or two of coding on it, and also hammered out a list of stories outlining the minimum viable feature set. [13:41] deryck: thanks man. [13:42] np! [13:42] deryck: for that thing, you need a new storm; danilo says our custom one is just a few commits from trunk [13:42] and the thought of QA makes me hungry [13:42] deryck: so grabbing the latest release if it has the caching bug fixed will do it [13:42] * bigjools -> lunch [13:42] deryck: I'd say ask jkakar but hes on a plane, therve may know. [13:43] mars: well, its nearly 1am, but perhaps you gary matsubara and I can have a call right after the team leads meeting ? [13:43] lifeless, ah, ok. I will. I was also experimenting with other ways to force the update. transaction.commit() works, muhahahah! ;) [13:43] * deryck kids obviously [13:43] :P [13:43] deryck: it was a pita - spent the whole day tracking the thing down :( [13:44] took a bit of demonstrating to convince the storm guys :) [13:44] lifeless, that is at 1400? [13:44] lifeless, yeah, sorry. I thought it was well tested and working well when I left it. When you say "the caching bug," is there a bug number for storm? [13:44] deryck: oh, I dunno if we got that far [13:44] deryck: uhm, ask therve, its my best advice [13:44] lifeless, ok, thanks. [13:45] mars: I don't know my 7am. Its nearly my 1am now. [13:46] lifeless, oh, ok. So we should talk in 6-8 hours then. Perhaps your 9am, depending on matsubara's EOD [13:46] TL call is 2pm here [13:46] mars, lifeless: after the TLs meeting sounds good to me === Ursinha-afk is now known as Ursinha [13:49] thanks, that will be great. [13:49] mars: < 9am would be good, asiapac reviewers meeting is at 930 [13:49] anyhow, ciao, sleep [13:50] Ursinha, good morning! I had a question about the qa-tagger/shepherd handoff: the shared DB would contain revno/branch URL, right? [13:51] mars, yes, and mentioned/linked bugs, if possible [13:51] well, that's possible :) [13:54] Ursinha, so branch name and a list of linked bugs? Or the revno and branch name? (I can get the list of linked bugs from the branch, can't I?) [13:54] mars, revision number, linked bugs and branch name [13:54] mars, yes, you can, but I think we could avoid requiring checking the branch again if the tagger can do that already [13:55] ok, thanks [13:55] s/can do/will do/ === mrevell-lunch is now known as mrevell === gary_poster_ is now known as gary_poster [14:28] benji___ (________!) mars matsubara Ursinha (stub): kanban now, mumble in 2 === benji___ is now known as benji [14:31] mars: When you have a moment, could you look at my changes to https://code.edge.launchpad.net/~wgrant/launchpad/test-ddeb-matching/+merge/31482 and land it? [14:31] wgrant, certainly [14:32] Do the Canonical ISD hackers have any IRC presence? I was hoping to poke them about potentially making their workalike to launchpad-dependencies public [14:33] I've looked for one several times, but have always failed. [14:34] AFAICT they do not have a public presence of any kind. [14:36] maxb, maybe ask flacoste about if they might open it up? He knows all :) [14:37] mars, maxb: i'll tell stuartm [14:40] flacoste: thanks - I believe I have located the project: https://code.launchpad.net/canonical-isd-web-framework - and by subtle hints in the UI I can tell there's a private branch there :-) [14:40] lifeless, hello [14:48] How would I test that a row was removed from the DB? [14:48] remember it's id and then try and get it and catch NotFound? [14:49] james_w: that seems like a reasonable approach [15:39] bigjools, hi :) [15:39] bigjools, have you seen this before/do you know what this means? https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1672EA4370 [15:41] ummm [15:41] that's an odd one [15:42] Ursinha: I suspect he had the page open for a while and it finished building in the mean time [15:42] because if you go to the page now it redirects back to the build [15:42] bigjools, I've seen some of those last days, but couldn't reproduce [15:43] Ursinha: yes, that's exactly what I see [15:43] bigjools, want me to file a bug? [15:43] wgrant, I haven't forgotten your branch, but I have been bound by meetings [15:43] Ursinha: yeah, we can make a nicer message to the user [15:51] bigjools, bug 613480, sorry for the poor bug title [15:51] <_mup_> Bug #613480: CannotBeRescored OOPS instead of a more friendly message [15:51] that's cool, thanks [15:52] bigjools, np :) [15:54] sinzui: is "version" mandatory for a distroseries? [15:54] I think so [15:56] bigjools, remember that version is is in the URL, it is what we traverse to see the istroseries [15:56] sinzui: the name is in the url not the version [15:57] sinzui: I am wondering if it could be optional for derived one-shot distroseries [16:00] bigjools, I think we need to answer this in the context of bug 547082 and bug 419788 [16:00] <_mup_> Bug #547082: LTS series are not designated as such [16:00] <_mup_> Bug #419788: Display name for distribution series doesn't follow vendor conventions [16:01] bigjools, some of the discussion to address these bugs imply version is guaranteed. If we are certain version is optional in these cases, then we can make the field optional [16:02] sinzui: that latter bug only applies to Ubuntu === Ursinha is now known as Ursinha-lunch [16:02] not so [16:02] the way it's written makes it sound like it's for all of them [16:02] the issue apparently related to debian [16:02] I am wary of making series parent None per another bug. I think we should admit the Lp is for Ubuntu and sometime debian. [16:02] I can't believe that all distros we'd ever host would somehow want to change from a codename to a version when released [16:03] well, the changes I am making is going to make it for Ubuntu and a metric asshat load of derivatives :) [16:04] Lets be honest. We host one distro. There are several derivative distros like baltix that do little because we do not let them do anything [16:04] we should not allow ourselves to be painted into a corner by Ubuntu [16:04] at some point in the very near future we will be hosting more derivatives [16:05] We are still getting complaints from fedora and gentoo user that they cannot register a sourcepackagename. We should remove these distros we registering in our exuberant maddness thinking we could support them in a few months of creating Ubuntu [16:06] bigjools, We have IDerivativeDistribution now because I refused to let Ubuntu dictate how other distros work [16:07] /o\ [16:07] sinzui: can you please take a look at https://dev.launchpad.net/LEP/DerivativeDistributions [16:07] and if you have time, https://dev.launchpad.net/LEP/DerivativeDistributions/UserTestingRound1 [16:08] but I am currently making mockup changes based on user feedback [16:08] I feel a great disturbance in the Force around making this fit for Ubuntu-derived distros, and Ubuntu's derivation from DEbian [16:22] gary_poster: Hi! [16:23] gary_poster: As promised yesterday I've just sent an email to the list about the PPA, EC2 images. [16:33] bigjools: hi [16:33] barry: hi [16:34] bigjools: i'm happy to talk about anything you want, including the net-snmp builder hang. i'd like to get some lunch first though. will you be around for a little while? [16:34] barry: I leave in 1.5 hours [16:35] bigjools: ok. i will ignore the rumble, if this is a good time for you [16:35] barry: one thing though, for your FTBFS display, you should use the "show builds" page [16:35] your "want to know newer versions" is an interesting one [16:35] bigjools: is that the "view all builds" link, i.e. +builds? [16:35] and I can see why you were interested in my work on derivatives :) [16:35] yes, +builds [16:35] :) [16:36] it will fit your use case perfectly [16:36] barry: see https://dev.launchpad.net/LEP/DerivativeDistributions [16:36] adeuring, r=me, with minor changes. [16:37] deryck: thanks! [16:37] np [16:37] barry: BTW are you the one making lots of calls to getBuildRecords on the API at the moment? [16:37] I see thousands of soft oopses :( [16:37] bigjools: it's close, but not perfect. i.e. i really want a !successfully-built view, but currently there are a number of failing states you'd have to select individually. with the script i can see all the failures and (optionally) the reasons [16:37] barry: ah ok interesting [16:37] we should fix that [16:37] can you file a bug please! [16:37] bigjools: i read that LEP, and indeed i'm very interested in that :) [16:37] bigjools: will do! [16:38] bigjools: re: gBR. could be. i only run those scripts once in a while though (< 4 times a day at most) [16:38] ok === matsubara is now known as matsubara-lunch [16:42] bigjools: bug 613501 [16:42] <_mup_> Bug #613501: Wishlist: one !successful-built status for a ppa's +build page [16:44] bigjools: do you want to look at the net-snmp builder hang? [16:45] barry: I suspect it's a bad job, it stuck on 2 arches [16:45] we reset the amd64 one, let's see if it repeats [16:45] bigjools: cool, thanks. is there anything i should do about stuff like that in the future, other than ping you or a losa? [16:46] barry: so ideally not me in the future, but I appreciate there's not many people with the knowledge :) [16:46] bigjools: :) [16:46] if a losa would like to look at this problem with me now we can do some knowledge transfer [16:47] bigjools: cool. just let me know what the s.o.p. is and i'm happy to follow it [16:47] I don't think this has a sop :) [16:48] awesome. i love to blaze trails, in both senses of the word :) [16:49] barry: you mean leaving a smoking mess behind you? :) [16:50] bigjools: I can work with you on this [16:50] bigjools: i seem to be (too) good at that [16:50] barry: :) [16:50] Chex: great! So, we have a problem where a build was on a builder for 2 days. In this case that's not expected so we need to work out what's going on. [16:51] barry: how long would you normally expect it to take? [16:51] bigjools: i'm not sure. i haven't built that package locally (it was a resync request). let me do that and see how long the sbuild takes [16:51] Chex: therer are 2 builds that look stuck, we reset the amd64 one to see if it does it again. The i386 one is here: https://edge.launchpad.net/~pythoneers/+archive/py27stack4/+build/1901035 [16:52] bigjools: ok, looking there [16:52] Chex: there's usually one of three outcomes to this problem: 1. the job really does take a long time, 2. the job is stuck, 3. the builder has got stuck [16:53] bigjools: I have to break soon for a shortish meeting, but can pick up with you uafter that [16:53] Chex: ok ping me when you're back. I will be gone in an hour though. [16:54] bigjools: ok, so how do I know its one of the 3? [16:55] Chex: for (1) we can ask a packager how long he expects it to take normally [16:55] Chex: for the others, the first thing is to reset the builder which forces the build onto a different builder. If it does it again, the job is a bad one and we need to kill it. That needs SQL at the moment until we do some UI work. [16:56] it's nearly always a bad job. [16:56] Chex: do you know how to reset the builders? [16:57] Chex, bigjools i'm building net-snmp locally now [16:57] bigjools: no I dont find any wiki notes on how to do that [16:58] Chex, bigjools oh shit, i know what the problem is [16:58] Chex, bigjools you might as well kill the build, it will never finish [16:59] bigjools: I need to step away for my meeting now, but I will pick up with you again in a bit, hopefully before you leave [16:59] Chex: ok, if it's a non-virtual builder we have to get a GSA to reset it. if it's virtual (a PPA builder) we can run the same reset script that the buildd-manager runs. [16:59] Chex: ok [16:59] Chex, bigjools i saw this on monday, but doko has not yet fixed it. 'apt-get install python-pkg-resource' from ppa:doko/toolchain will hang forever. i think it's waiting for stdin. this is clearly my biggest priority to fix [16:59] barry: ewwwwww :/ [17:00] bigjools: indeed. :( :( [17:00] it's basically a blocker now for everything else i need to do [17:01] so... i'm going to get some lunch, and then work on this as a top priority. it's possible other py27stack4 and py27stack5 builds will hang for the same reason. feel free to kill them all, and i will not request retrys/resyncs until i've fixed this particular problem. i may request a priority bump on this package at that point, or get doko to do so [17:03] * barry -> lunch === salgado is now known as salgado-lunch [17:05] barry: I'm going to disable your PPA until we kill the builds [17:06] the farm is DOSed with stuck builds [17:06] bigjools: do the losas know how to re-enable it? [17:06] yes [17:06] but we'll also need to kill all the builds [17:06] bigjools: cool. yes, kill them all. i've emailed doko (he's not online atm). i'll ping the losas when i know i have a fix for this blocker === beuno is now known as beuno-lunch === Ursinha-lunch is now known as Ursinha [17:18] bigjools, hey, I have another oops question for you [17:20] bigjools, I've seen timeouts in DistroSeries:EntryResource:getBuildRecords, I wonder if you're aware of those [17:23] bigjools, https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1676EB950 and [17:23] https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1676EB2797 [17:24] jelmer, hello [17:24] jml: Hi [17:24] jelmer, you might want to try out the testrepository branch https://code.edge.launchpad.net/~jml/testrepository/show-failures-incrementally-613152/+merge/31765 to see if it addresses your bug 553240 [17:25] <_mup_> Bug #553240: Please provide --passthrough / --tee option to 'testr run' [17:25] jml: ah, nice! [17:25] jml: I'll give it a whirl. [17:26] jelmer, thanks. [17:27] Ursinha: yes, the foundations team are fixing it, there's a performance issue in lazr.restful [17:28] bigjools, ah, nice [17:28] bigjools, last oops for you: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1676K716 [17:28] could someone please lp-land lp:~wgrant/launchpad/test-ddeb-matching ? My lp-land command is busted :( [17:29] mars, sure [17:29] thanks jelmer [17:30] jml: I guess it doesn't display anything for successful testruns? [17:30] for individual tests I mean? [17:30] jelmer, right. that's the current behaviour of "testr load" [17:31] jelmer, the difference in this branch is it displays errors/failures as it gets them. [17:31] barry: before I enable your PPA again we need to kill all those pending jobs, sorry. I can't take the chance of it DOSing the farm again. [17:32] jml: Yeah, I agree that's a big improvement over what we had previously. [17:32] jml: Like that one time I ran "testr run" on lp only to find out I had broken the testfactory *after* about an hour of running tests... [17:32] jelmer, :( [17:33] mars: It seems busted here as well [17:33] mars: ValueError: Cannot determine Bazaar host. "https://api.edge.launchpad.net/1.0/" not a recognized Launchpad API root. is what I get === deryck is now known as deryck[lunch] [17:33] Heh, I get AttributeError: 'Entry' object has no attribute 'source_branch' [17:34] mars: You're specifying the branch URL rather than the MP URL perhaps? [17:34] jelmer, yep, that might do it [17:35] argh, and now ec2 test -b lp:~wgrant/launchpad/test-ddeb-matching breaks too [17:36] why don't all of our commands take the lp:~foo form by default? [17:36] mars: why the -b ? [17:36] jelmer, because it is not my branch. I want to test William's branch. === nigelbabu is now known as nigelb [17:37] mars: IIRC I've run "ec2 test lp:~wgrant/..." without problems before. [17:37] -b seems to be for including extra branches in sourcecode/ [17:38] argh, yep [17:38] anyone seen http://paste.ubuntu.com/473160/ during test setup? [17:39] jelmer, I would have preferred '-s', for '--sourcecode-branch=' === matsubara-lunch is now known as matsubara [17:40] james_w, might be related to some work with the twisted logger henning did recently? [17:41] mars: I agree that'd make more sense, given the -b option to "ec2 land" also takes a branch but has a different purpose. [17:41] mars: I think it's environment as it just started happening in two different branches at the same time, without me merging in anything. [17:41] it's just that the output is so damn unhelpful [17:42] james_w, yes. Check /var/tmp for librarian pidfiles and the like [17:42] mars, james_w: that is not related to my work because that just changed buildd-manager.tac. [17:42] I can run daemons/librarian.tac under ./bin/twistd without an issue [17:42] james_w, and maybe kill the librarian log files too, and check your process tree for dead librarians [17:42] henninge, ok, thanks for the clarification [17:43] mars: stale librarian process apparently, thanks. [17:44] any idea where I would look to get it to say "port already in use" rather than the junk you get now? [17:44] start with the librarian.tac file, see if you can work down through the callstack [17:44] james_w, I'll race you :) [17:44] something must be catching and masking the real error [17:46] oh man, TacHandler [17:48] what's happening is it's spawning a subprocess and then looking for a magic token in the logfile [17:48] without regard to what the process dumps to stderr/out [17:49] tachandler should be completely destroyed and rewritten as a series of good patches to Twisted. [17:51] jml: tachandler runs a subprocess? [17:51] yeah. [17:51] it spawns "twistd" directly [17:52] TacTestSetup? [17:52] that does read something from stdout/stderr though [17:52] james_w, yeah, it does [17:53] but only oncee. [17:56] jml: something like http://paste.ubuntu.com/473176/? [17:57] james_w, that ought to do it [18:00] barry: ping [18:00] barry: going to nobble all outstanding builds in your 2 PPAs [18:00] last chance to stop me [18:01] bigjools: do it [18:01] * bigjools hits the red button [18:04] barry: it's done [18:04] you can re-enable your PPAs yourself [18:04] in the +edit page [18:05] g'night! [18:05] bigjools: nod, and g'nite! [18:05] and don't break the build farm again or I'll break your legs! [18:05] ;) [18:06] jml: didn't fix it [18:06] james_w, a shame. [18:07] twistd returns 0 and doesn't print anything? [18:07] oh, huh. [18:07] it might. [18:07] easy enough to check, I guess. [18:07] actually, it definitely would [18:07] it daemonizes before opening the port. [18:09] ah, it daemonizes [18:10] yeah, that's what the -y is for, also why tachandler does crazy logging stuff [18:13] so we need to wrap the .tac in a big try/except and try and log the exception before raising it? [18:13] twistd doesn't have any support for backchannel fds after it has forked or anything? === salgado-lunch is now known as salgado === beuno-lunch is now known as beuno === deryck[lunch] is now known as deryck [18:32] james_w, no, I don't think it has such support. [18:33] using twisted.python.log and calling log.error in an except block around the entire .tac doesn't work [18:33] so I'm at a loss [18:38] james_w, I'm sorry :( [18:39] it only means that we will have to continue to scratch our heads when daemons fail to start [18:40] right [18:41] the _real_ solution to all of this is to give Twisted more APIs to do what twistd does. [18:41] james_w, on another note, do you need a hand landing https://code.edge.launchpad.net/~james-w/launchpad/no-more-sampledata-1/+merge/31493 [18:42] sinzui, hello [18:42] jml: nope, just about to do that now the prerequisite is landed [18:42] james_w, cool :) [18:42] sinzui, do you have a clue on why are we having lots of timeouts in MailingListApplication:MailingListAPIView recently? on staging, that is [18:43] sinzui, I also see a bunch of informational oopses, DisconnectionErrors, related to MailingListApplication:MailingListAPIView, but no idea if they're related [18:44] Ursinha, recently? They go back months [18:44] There are timeouts syncing large numbers of users [18:44] sinzui, I meant much more than usual [18:45] Ursinha, Reduced the number in a branch he landed a few weeks ago [18:45] right [18:45] sinzui, I saw lots of timeouts like this one, two days ago: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1675S1478 [18:46] yes, I see those everyday [18:46] my question is, is this raise in the number "expected" somehow [18:46] I am ignoring them [18:46] They are not a high priority at this time [18:47] I did ask an engineer to fix the issue, and he did take 3 days to reduce the issue [18:48] Ursinha, We see a rise because we decided that syncing staging to lpnet is a priority. We used to sync once a month, (every 6 weeks in reality) We now sync every week [18:53] sinzui, ah, that explains [18:54] Ursinha, it is a scary explanation though...it means staging has never been able to deal with the sync [18:55] sinzui, I see that, I see those timeouts since I joined canonical, I guess [18:55] Ursinha, This is the second implementation of the sync. This one is designed to recover from timeout failures because we believe timeouts were happening in lpnet and that would block all other mailman sync procs [18:56] Ursinha, There was a proposed spec (salgado maybe) about getting efficient user sets. I think it was intended to address situations like this [18:57] sinzui, hm, I see [18:59] moin [19:00] hey lifeless [19:01] hey Ursinha [19:01] 'pong' [19:01] :) === jtv-eat is now known as jtv [19:15] sinzui: https://bugs.edge.launchpad.net/launchpad-foundations/+bug/74680 is the only accountmerge bug I can see atm [19:15] <_mup_> Bug #74680: +accountmerge page should present the option to discard the merge request [19:16] Oh sweet, a new bug for me to move into launchpad-registry [19:18] :) [19:21] lifeless, please review my testr branches :) [19:21] * jml runs away [19:22] jml: thanks [19:22] jml: also for the reminder to look at incremental and unblock you [19:22] lifeless, I've actually already come up with a patch [19:23] lifeless, I am reporting a new timeout bug for person merge. I think the one I care about was marked as a dup and some aspect of the master bug lead someone to mark it as closed. [19:23] oh cool [19:24] sinzui: makes sense to me. [19:24] so, gary_poster, mars : I want to catch up on the qa shepard stuff; there's now a calendar slot for a voice call in a bit; or would now be better? [19:25] I had thought to have matsubara or Ursinha there too, given its for qa :) [19:25] lifeless, mars: now is fine with me [19:25] lifeless, either for me [19:25] lifeless, mumble? Foundations channel? [19:25] we'll give mumble a shot, though NZ + mumble generally equals epic fail [19:26] heh [19:26] skype is fine too [19:26] I'm there already [19:26] lifeless, I thought you were in Perth? [19:26] can you hear me ? [19:26] I can hear you ok :P [19:30] lifeless, gary_poster, huge echo [19:30] I've turned my mic off for now [19:30] thanks :) [19:32] project exists [19:32] mars: ^ [19:33] for some weird reason I can't connect on mumble [19:36] sinzui, ping [19:38] gary_poster: mars: https://dev.launchpad.net/LEP/ReleaseFeaturesWhenTheyAreDone <- [19:38] stage 2 there is what we're looking at [19:39] hu deryck [19:42] lifeless, Ursinha, gary_poster, https://dev.launchpad.net/QAShepherd [19:50] gary_poster: please do [19:51] (avoiding my mic for your sanity) [19:53] gary_poster: small lemma; its a revision we have, not a branch right? because buildbot lands stuff in stable asynchronously from qa happening ? [19:55] mars: right [19:55] mars: thats exactly what I was thinking [19:57] mars: for now, I only want to *aim* at being able to tell the losas what to deploy [20:02] lifeless, mars, gary_poster, matsubara's internet just dropped [20:02] and he's back, it seems :) [20:02] and it's back again. minor hiccup it seems [20:02] mars, Ursinha, matsubara_ mumble is a Zope question fwiw [20:03] I don't think you need to hang around unless you want to [20:03] ah, ok gary_poster [20:10] yeah, new topic :) [20:10] sorry guys [20:15] lifeless, first two items in place. The old list didn't have end-user concerns first: oversight on my part. https://dev.launchpad.net/QAShepherd [20:16] I think thats great [20:16] I'd be happy with just a number coming back from a DB :P, but having it as html is ok too - we can screen scrape to get the revision [20:17] [mostly teasing there, the use cases are fine] [20:17] lifeless, regarding the project: yes, it's set up. I'm waiting on getting a shared branch so we can use the LP merge workflow. The other alternative is to run Tarmac locally. [20:17] mars: what do you mean ? [20:18] [what is a shared branch in this context] [20:18] lifeless, I have ownership of mainline right now. It would be nice if launchpad-pqm owned it instead [20:18] and if Tarmac could handle landing [20:19] Since there will be three people hacking on it [20:19] simultaneously [20:19] ok, so you're blocked on two things [20:19] but I can see about running Tarmac here instead [20:19] a) a branch for 'trunk' [20:19] and b) a tarmac in the D/C [20:19] if I may suggest somethinhg [20:20] create a team - lp-qa-shepard-committers [20:20] we already have that: lpqateam [20:20] no [20:20] In that team, put everyone that should be able to *bzr push* to trunk. [20:21] right [20:21] and make the trunk branch yourself, owned *by the team*, not by *launchpad-pqm* [20:21] yep [20:21] that gives you a) [20:21] and the branch url will be stable when you get a tarmac instance in the D/C [20:22] because launchpad-pqm will be part of the team, you simple take yourself, Ursinha & matsubara_ out of the team at that future date [20:22] its a bit of a bug our current lp branches are owned by launchpad-pqm, rather than by a team [20:22] oversight some years back [20:23] It might easier for now if I just set up Tarmac locally. That way it is automated, but there are also no accidental overwrites from multiple pushers. [20:23] it should be clear why its not the lpqateam [20:23] mars: bzr won't permit overwrites [20:24] mars: you can do what I suggest *and* setup tarmac locally. [20:24] lifeless, so not reusing lpqateam - is that so commit access can be controlled later via team membership? [20:25] yes [20:25] so a hack then [20:25] using the model [20:25] is lpqateam a private team ? [20:26] https://edge.launchpad.net/~launchpad-qa [20:26] just restricted [20:26] right, its moral owner, not committers [20:27] committers actually [20:27] I don't think its a hack, given LP's branch permission model, to have a -committers team : many many projects do this. [20:27] mars: there is a bot in there [20:28] lifeless, yep, but you also need to be a member to work on a few of the QA projects [20:28] I have no idea why the bot is in there [20:28] mars: anyhow, its a suggestion. Its what I'd do - if its not helpful, thats ok, don't do it :) [20:29] ok, well if overwrites from multiple team members are not a problem, the great - that's what I would have liked to do in the first place [20:29] thanks lifeless [20:30] mars: set append_revisions_only=True in the branch.conf [20:30] and it will also prevent mainline wobbles [20:31] (bzr help configuration) [20:33] Ursinha: lp-oops being openid is nice, but its a _very_ short timeout - like only an hour or so : can we make it something reasonable, like LP? (several months would be nice :P) [20:34] lifeless, losas control that [20:34] matsubara_: ah === EdwinGrubbs is now known as Edwin-lunch [20:35] hehe [20:38] sinzui: I've linked the bug in the oops for you [20:45] matsubara_ or Ursinha, are you able to push code to the ~launchpad-qa team space? [20:45] mars, yes [20:46] mars, I don't think I tried, but I assume I can [20:46] if you're subscribed to the branch, I guess you can [20:46] don't remember trying to push to a branch without being directly subscribed to it [20:47] ok, I'm trying to push a branch, lp:~launchpad-qa/qa-shepherd/devel, and it spits it back at me saying "you don't have permission to do that" [20:47] even though I am a member of the team [20:49] mars: its because of the branch policy [20:49] mars: you need the right permissions on qa-shepard [20:49] losa ping === al-maisan is now known as almaisan-away [20:59] lifeless, which would be the right permissions in that case? [21:03] Ursinha: you need a private branch policcy that permits anyone in the launchpad-qa team to make a new branch; but we're about to open it so that won't matter at all in a few minutes [21:03] Ursinha: as soon as my losa ping is answered ;P [21:04] lifeless, hehe, right [21:04] lifeless: hellos [21:06] hellos [21:07] we have a project, qa-shepard [21:07] that is currently canonical-private, we'd like to open it please ;) [21:13] lifeless: when you say open, you mean set the default branch visibility to public? [21:13] yeah, remove all the privacy-bits [21:14] open bugs, open branches [21:20] lifeless: i am not seeing that project [21:20] mbarnett: https://edge.launchpad.net/qa-shepherd [21:21] ah [21:21] sheepherd [21:21] lifeless: Default branch visibility for all branches in qa-shepherd is Public. [21:22] mbarnett: great, thanks. [21:22] mars: should be good to push now. [21:23] lifeless, cool, thank you [21:30] that gives us the ability of using lp:qa-shepherd again :) [21:49] hey [21:49] is there a wiki page that documents db patch workflow ? [21:50] no idea [21:58] morning === Edwin-lunch is now known as EdwinGrubbs === matsubara_ is now known as matsubara-afk [22:24] i'm not the only person who gets mails from ec2 with attachments doubly gzipped am i? [22:25] thumper: good morning === Ursinha is now known as Ursinha-afk === Ursinha-afk is now known as Ursinha [22:43] mwhudson: Morning. [22:43] hello [22:43] so wifi doesn't entirely work on this laptop, apparently [22:43] mwhudson: You reviewed https://code.edge.launchpad.net/~wgrant/launchpad/per-archive-build-debug-symbols/+merge/29671 yesterday, but didn't click the button, apparently. [22:43] Is it using iwlagn? I find that flakes out sometimes for me. [22:44] But normally only once it's been up for a week or so. [22:44] how do i tell? [22:45] this had been up for a few days with a few suspends [22:45] 'lsmod | grep iwl' should give you the driver, assuming it's Intel, which it probably is. === Ursinha is now known as Ursinha-afk [22:46] wgrant: reviewed [22:46] mwhudson: Thanks. Can you ec2 it yet? [22:46] * ajmitch had that happen last night with iwlagn, had to rmmod & modprobe again [22:46] wgrant: it's ath9k [22:46] so that explains the flakiness probably [22:47] wgrant: yes [22:47] well maybe [22:47] boto.exception.BotoServerError: BotoServerError: 500 Internal Server Error [22:47] Yay. [22:53] seems a bit better now [23:03] hi mwhudson [23:03] james_w: hi [23:03] did you see that the vostok branch failed? [23:04] wgrant: ec2 is headless [23:04] james_w: yeah [23:04] i guess i should do something about that [23:04] mwhudson: Thanks. [23:04] the failures didn't mean a lot to me [23:05] well, the second did, but the first didn't [23:07] webapp-publication was pretty clear [23:07] some of the others were pretty mysterious [23:07] i haven't re run them locally yet [23:08] mwhudson: 25 seconds? :P [23:08] yeah\ [23:14] Can someone please ec2 https://code.edge.launchpad.net/~wgrant/launchpad/bug-612157-ppa-quota-ddebs/+merge/31471, https://code.edge.launchpad.net/~wgrant/launchpad/test-ddeb-matching/+merge/31482, and https://code.edge.launchpad.net/~wgrant/launchpad/bug-241129-queue-binary-scaling/+merge/31604? [23:14] wgrant: Didn't I do those ? [23:14] lifeless: Two of them, but they vanished. [23:14] Well, you did three, two of which are in that set because they vanished. === salgado is now known as salgado-afk [23:16] wgrant: I will [23:17] james_w: Thanks. [23:18] wgrant: ppa-quota-ddebs might want a merge with devel [23:18] my apologies for that [23:19] thumper: https://code.edge.launchpad.net/~jml/testtools/patch-310770/+merge/31666 [23:19] thumper: that used to have a diff; I think perhaps we're updating diffs after things merge now? So you can't see what was merged :( [23:21] james_w: Heh, yes, true. [23:22] james_w: Is the other one going to land soonish? [23:23] wgrant: my next sampledata branch? [23:23] james_w: That's the one. [23:23] wgrant: the next is in ec2 now [23:23] I'm currently churning through fallout from making STP return proxied objects [23:24] Ah. [23:25] aaron is about to land a 'make it optional' patch [23:25] one of the things that I'm sad about is requiring more tests to be in LPZopelessLayer, where DBFunctional was fine before. [23:25] I think james_w is about to squash most of the remaining warnings, though. [23:25] wgrant: does each SPR require a PackageUpload? [23:26] james_w: Only for some purposes. [23:26] right [23:26] Lots in production don't. [23:26] So we know it works. [23:26] (gina doesn't create them) [23:26] ok, Julian said it should [23:26] I'll probably revert that change to the factory, but leave it in STP, and then maybe go through another time and push it up in to the tests [23:27] It doesn't. [23:27] It'd need to forge a changesfile, for one thing. [23:28] sorry, I meant that Julian said that all test code should ensure that each SPR had a PU [23:28] though I may have misread [23:29] james_w: Conflict resolution pushed, and the other two are OK. [23:29] james_w: Most tests don't need a PU, so I don't see the point. [23:30] ok, I'll back that change out of the factory, but leave the behaviour of STP the same [23:30] this branch is already big enough as it is [23:30] Yep. [23:32] wgrant: so packagepublication [23:32] lifeless: You mean publishedpackage? [23:32] wgrant: can you suggest, in bug .. [23:32] wgrant: yes [23:32] https://bugs.edge.launchpad.net/malone/+bug/602360 [23:32] and [23:32] <_mup_> Bug #602360: timeout on source package bug filing page [23:33] https://bugs.edge.launchpad.net/malone/+bug/609012 [23:33] <_mup_> Bug #609012: +distrotask timeout [23:34] https://bugs.edge.launchpad.net/launchpad-answers/+bug/608037 [23:34] <_mup_> Bug #608037: timeouts in Question:+edit [23:34] all on the same unmaterialised view [23:34] stub says 'nuke the use, or we have to materialise it.' [23:34] So, anyone using that is probably buggy. [23:34] wgrant: my recipe build didn't build yesterday [23:35] it says 24 minutes to build now though!! [23:35] lifeless: I need to leave in a sec, but I'll look on the train. [23:35] mwhudson: Isn't the build farm great? [23:35] wgrant: it's certainly popular [23:35] wgrant: thanks! [23:36] I have yet to have a recipe build [23:36] sorry, an automated recipe build [23:36] yeah certainly none of them [23:37] * wgrant → uni [23:38] lifeless, I think the answers bug can be addresses by snapshots. I was going to work on it this or next weekend. [23:39] sinzui: snapshots ? === jcsackett is now known as jcsackett|afk [23:40] on a creation or change event objects are snapshotted (copied) so that we can report changes to the object in logs and emails.... [23:41] lifeless, We often see non-intrinsic data, often lists in the snapshot that we know cannot have been changed. [23:41] sinzui: oh right, so to paraphrase 'look at less data when snapshotting' [23:41] not 'add a snapshotting facility' [23:41] ? [23:41] right. as a rule anything we export as a collection field should not be snapshotted [23:42] sinzui: that would be cool [23:42] sinzui: I was simply correlating the same view showing up in lots of places [23:43] ah [23:43] lots of timeouts, I mean [23:43] doNotSnapshot() is needed on lots of fields that cannot be directly modified on a object. We also use it when we see a shortlist exception [23:44] is that a decorator ? [23:45] no, it is a function we wrap around field [23:45] * sinzui looks for example [23:45] I'll grep [23:45] and follow my nose - thanks for telling me about it [23:45] I used it recently to stop api timeouts working with teams [23:47] should collections auto-do-this ? [23:50] lifeless: it shouldn't be updating the diff after it is merged [23:51] thumper: I agree [23:51] lifeless: as in the code says it shouldn't [23:51] lifeless: so something strange happened [23:51] lifeless: probably a race condition [23:52] lifeless: branch pushed, update diff job created, merged, pushed, diff job runs