[00:03] lifeless: No. [00:03] lifeless: I'll do it. [00:03] It is rather intimidating. [00:17] Project windmill-db-devel build #234: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/234/ [00:32] * wgrant cries at r12970 [00:35] \o/ 12976 [00:35] !!! [00:37] Project windmill-devel build #26: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-devel/26/ [00:55] lifeless: Just by looking at the diff I can see it is bad. [00:55] wgrant: 12970 [00:55] ? [00:55] Yes. [00:55] It affects the API. [00:55] When this was to most definitely not affect the API yet. [00:56] It will break security unembargoing. [00:56] (since the security team doesn't have upload privileges) [00:57] they don't ? [00:58] Hee hee hee. [00:59] lifeless: I invite you to look at canonical.launchpad.security.AppendArchive [01:00] wgrant: blink [01:00] so how does anyone upload to Ubuntu ? [01:01] lifeless: AppendArchive isn't used for uploads. [01:01] class AppendArchive(AuthorizationBase): [01:01] """Restrict appending (upload and copy) operations on archives. [01:01] It's used for protecting syncSource, basically. [01:01] that seems misleading [01:01] Yes. [01:01] so [01:01] It's also used for PPAs, I guess. [01:01] But not primaries. [01:01] And: [01:02] wgrant@lamuella:/tmp/ubuntu-archive-tools$ ./edit_acl.py query --person ubuntu-security [01:02] == All rights for ubuntu-security == [01:02] Archive Upload Rights for canonical-partner-dev: archive 'partner', component 'partner' [01:02] There is no ArchivePermission granting them access. [01:03] is this a defect or oversight [01:03] Merely one of the stack of hacks that is security-in-soyuz. [01:03] I mean, it seems to me that only folk that can upload should be able to unembargo [01:03] otherwise there is a backdoor-to-uploading [01:03] Sort of. ubuntu-security is only meant to be able to upload to -security. [01:03] But that can't be done yet. [01:04] And syncSource has to be extremely restricted. [01:04] Because it is a hack. [01:04] It is full of hacks. [01:04] And it cannot be widely used yet. [01:04] so, is this unembargoing untested? [01:04] (it doesn't respect the queue, announcements, etc.) [01:04] lifeless: Unembargoing is normal package copying by this special set of users that probably aren't represented in sampledata. [01:05] But let's see. [01:07] Headdesk. [01:08] It only checks that launchpad.Append is sufficient to call syncSource (with somebody who already has upload privileges), and then checks that adding someone else to ubuntu-security gives them launchpad.Append. [01:08] so the test is invalid [01:09] because the control is incomplete [01:09] ? [01:09] Yes, and because security-in-soyuz is mostly P3As + a stack of several horrible special cases. [01:10] (which will hopefully be eliminated as part of the second stage of DDs) [01:10] (but not yet) [01:12] Anyway, let me make myself a security person on dogfood and actually try it. [01:19] http://www.lifehacker.com.au/2011/05/the-cognitive-cost-of-doing-things/ [01:27] flacoste: http://www.google.com/support/analyticshelp/bin/answer.py?hl=en&answer=1205784&topic=1120718 [01:30] virtinst 0.500.1-2ubuntu6.1 in lucid (Signer is not permitted to upload to the component 'main'.) [01:30] * wgrant rolls it back. [01:32] jam, did you take a look at the new CSS stuff I added? [02:15] StevenK: Deleted delayed copies yet? [02:15] All of the 70ish syncSource timeouts are from the unoptimised delayed copy path :( [02:19] lifeless: wrt the page speed via GA, last I used that in anger it gave accurate percentages; but lousy actual numbers of X's doing Y. ie treat as strong guideline vs any sort of "X many Users are..." [02:20] spm: thanks [02:21] wgrant: Ah [02:22] lifeless: Time to whitelist Distribution:+bugs and Distribution:EntryResource:searchTasks? [02:22] wgrant: the poor queries are > 20 seconds [02:22] lifeless: We've only had frequent complaints about these over the last month or so. [02:22] yes [02:23] lifeless: I suspect they used to work eventually. [02:23] After the cache got reasonably warm. [02:23] As it stands, common single-tag searches fail consistently. [02:23] since we added the optimised index which is causing pathological tag lookups [02:23] its not coldcache [02:23] Ah. Wonderful. [02:23] all of bugtags,bugs,bugtasks sit in hot cache [02:24] either the vm cache or the pg shared region [02:25] fun 1 / 121 RootObject:+login [02:26] StevenK: 271 OperationalError: FATAL: Ident authentication failed for user "sync_packages" FATAL: Ident authentication failed for user "sync_packages" [02:26] StevenK: do you need bugs filed about this? [there are two issues - the auth, and the OOPS prefix not being configured. [02:27] lifeless: Sounds like a plan -- please assign them to Gavin, since he worked on it and it should be fresh in his mind. [02:27] The first one needs a LOSA nudge, not a bug. [02:27] both are config [02:27] The second needs a trivial prod-config branch, which is just as fast as filing a bug.. [02:27] right [02:27] been two days though [02:27] allenap: ^ [02:28] well, > 2, but as top oops [02:28] Sigh. TALES, please DIAF. [02:29] it's problematic that ident faileds are getting into prod. these should be being added to the "funky rollout notes" at least. :-( [02:29] lifeless: Hm, that RootObject:+login is a bit bd. The OpenID assoc takes 20s :/ [02:30] It raises LocationError, but it doesn't tell me which template causes it. [02:31] * StevenK works it out using the test [02:32] That is definitely the biggest problem I have with TALES most of the time. [02:32] lifeless: So, Gavin's work is based on much earlier work by jelmer that was written, but never used. I guess he assumed it was already in the prod configs, but I can't say for sure. [02:33] spm: ^ you too [02:49] Rargh, so the test and ZCML all point me to a view and template that don't make use of parent_series [02:50] StevenK: Which view is erroring? [02:50] (distroseries, '+index') [02:50] It's not using SourcePackage.packaging at all? [02:51] coming from nowhere in particular, but why does launchpadlib use oauth signing if all requests are over https? [02:53] wgrant: I don't think that's relevant, given the LocationError is (None, 'displayname') [02:53] oh hang on, it doesn't [02:53] mwhudson: Doesn't it? [02:54] oauth_request.sign_request( [02:54] OAuthSignatureMethod_PLAINTEXT(), [02:55] my lplib might be hilariously out of date, mind [03:03] ok, it was, but it still seems OAuthSignatureMethod_PLAINTEXT is used [03:03] Yeah. [03:03] * mwhudson tries to remember what oauthnonce is for then [03:03] PLAINTEXT doesn't mean unsigned. [03:04] I don't understand how it works, though. [03:04] http://tools.ietf.org/html/rfc5849#section-3.4.4 says It does not [03:04] utilize the signature base string or the "oauth_timestamp" and [03:04] "oauth_nonce" parameters. [03:04] That indeed makes sense. [03:05] i'm not sure it's what lib/contrib/oauth.py does though [03:05] whee [03:05] Yeah :/ [03:05] noone is [03:09] hooray [03:09] wgrant: distroseries-index.pt was a red herring, the ZCML points out the page includes distroseries-portlet-derivation [03:09] StevenK: Ah. [03:19] Project windmill-devel build #27: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-devel/27/ [03:24] stub: morning [03:24] Indeed! It really is! [03:24] stub: I've put https://bugs.launchpad.net/launchpad/+bug/534203 in the dba bugqueue [03:24] <_mup_> Bug #534203: Timeouts on POFile:+filter (filter by person) < https://launchpad.net/bugs/534203 > [03:24] stub: yeah, congrats! [03:26] Oh yay. Translations. The *other* place we have large amounts of asymmetric data yielding crappy plans. [03:26] if translationmessage.potemplate was usable [03:26] I think it would be fine [03:28] So a lot of these queries have already been optimized at some point by jtv & danilo, trying to get certain cases to work. I don't know which queries they are though. [03:28] But we should jtv in on translations queries when he is available. [03:28] this bug was filed by jtv in fact [03:28] c/should/should bring [03:28] I wanted to ask him about the potemplate oclumn [03:28] yes, I agree [03:32] lifeless: About it being inconsistently populated? [03:33] * stub wonders if the data model changes have been completed, and all the unwanted columns now dropped. [03:34] stub: yeah, and/or repopulating it and using it to make the query fast [03:34] lifeless: We need a modern OOPS code in that bug btw. I think the linked ones are all from last year still. [03:35] stub: hmm, I refreshed it yesterday :) [03:35] ok... not obvious in the web ui that the description is fresh. [03:35] oic [03:45] Just looking at one of the example queries in the desc, but TranslationMessage.variant no longer exists. [03:50] stub: yeah, I kept most of jtv's analysis because I wasn't sure how much was still relevant or not [03:50] speak of the devil [03:51] uh-oh [03:51] Haha [03:51] what is this about? [03:51] am I liable? [03:51] lifeless: how long before we make decisions on moving the translations to Cassandra or not? Is that a 6 month or multiyear change do you think? [03:51] jtv: Analyzing https://bugs.launchpad.net/launchpad/+bug/534203 [03:51] <_mup_> Bug #534203: Timeouts on POFile:+filter (filter by person) < https://launchpad.net/bugs/534203 > [03:51] stub: making a decision we could do now; scheduling the work ... [03:52] Ah [03:52] stub: I have some thoughts on restructuring the app stack so that we can carve off parts of the system [03:52] stub: I want to finish a current analysis I'm on, but then if you're up for the weekly call I can run it past you [03:53] So, if it stays in PG, partitioning the data on language makes sense. But that is laborious and time consuming to set up, especially if we are avoiding large outages. [03:54] And will make all-language queries slower, but I don't think we have any of them. [03:55] Another alternative is language specific partial indexes. [03:56] Probably tm__english__sumitter__idx ON TranslationMessage(submitter) WHERE language=1; for all hundred odd languages. We could combine too for lesser languages, but I suspect better just to create one index per language and put up with the noise. [03:57] Would it make sense to cluster on language? That wasn't an option in the past, but is now. [03:58] jtv: The queries I'm looking at, yes. But I don't have a comprehensive overview on the queries. [03:58] jtv: what is translationmessage.potemplate [03:58] lifeless: that means "this message is not shared, but rather diverged for this specific template." [03:59] jtv: so if its null many different templates may use the message? [03:59] Yes. [03:59] jtv: and if its not null the list of templates is 1 [03:59] It should be mostly null. [03:59] jtv: is it going to be deleted? [03:59] No. [03:59] ok [04:00] The schema migration is all done now btw? [04:00] so this page - is it showing /who/ contributed to the translation, or /what translations/ the person did? [04:00] I think it was completed. [04:00] stub: you mean for translations message sharing? We still have a few obsolete database columns but I don't think we use them now. [04:00] jtv: Do you know if there are bugs open on dropping them? [04:00] lifeless: pofile:+filter shows a particular person's contributions. [04:01] stub: some, I think [04:01] Project windmill-devel build #28: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/28/ [04:01] jtv: the tti.sequence component in the sort seems unuseful to me [04:01] jtv: or do I misunderstand the model [04:02] lifeless: sequence expresses the order in which the translatable strings occur in the template. Even to someone who doesn't know or care about the text of the template, it conveys context that may be useful. [04:02] I'm loading up the bug so I can be more specific. [04:03] bwahaha... there is a blessed SQL 'hack' that makes that final pastbin work in 1% of the time [04:04] jtv: so we're looking at a users contributions to the one project, is the sequence an ordinal in the file? [04:04] jtv: if it is, the the date sort is useless [04:04] jtv: if it isn't, then wouldn't most-recent-first be simpler? [04:04] lifeless: both sort criteria are needed. [04:04] why? [04:05] A single user may have submitted multiple translations for the same message. [04:05] and we show them all? even rejected/old/stale ones? [04:05] Yes. With indication of status. [04:05] compare https://pastebin.canonical.com/47090/ with https://pastebin.canonical.com/47136/ . The latter is identical except for the OFFSET 0 in the subquery, which is an unofficial query hint that lots of people use. Now I know why. [04:05] grah [04:05] This is useful in evaluating a translator's work. [04:06] jtv: it slowly degrades over time though [04:06] c/query hint/planner hint [04:06] It's also useful for a translator to get insight into review status. [04:06] stub: !! [04:07] stub: that may be hot [04:07] lifeless: it is. I get 20 s with the original query. [04:07] stub: can you do that explain on the standalone replica ? [04:07] which should be cold [04:08] cold, 5ms [04:08] This is silly [04:08] * stub double checks his query [04:08] the 84756 lookups in the related table are the issue in the first place [04:09] lifeless: standalone is being build. The queries are strangely fast when the tables exist and have 0 rows. [04:09] hhhaaaa [04:09] ok [04:10] I suspect the difference is mainly due to the planner selecting by language first and by user after, which the optimization barrier inverts. [04:10] I'd expect more selectivity from selecting by translator first and then by language. [04:10] doing subselect vs join also did that [04:11] plans are in the bug IIRC [04:12] stub: on qastaging [04:12] explain select count(*) from bug where latest_patch_uploaded is not null; [04:12] QUERY PLAN [04:12] ------------------------------------------------------------------ [04:12] Aggregate (cost=644851.46..644851.47 rows=1 width=0) [04:12] -> Seq Scan on bug (cost=0.00..644777.55 rows=29562 width=0) [04:12] Filter: (latest_patch_uploaded IS NOT NULL) [04:12] "bug__latest_patch_uploaded__idx" btree (latest_patch_uploaded) [04:13] stub: its indexed, and a small % of rows have that set: [04:13] select count(*) from bug where latest_patch_uploaded is not null; [04:13] count [04:13] ------- [04:13] 29562 [04:13] stub: so why would it do a table scan ? [04:14] small = 5-10% [04:15] yeah, we have 800K bugs, 30K is < 5% [04:16] with seqscan off: [04:16] Aggregate (cost=10000644851.46..10000644851.47 rows=1 width=0) [04:16] -> Seq Scan on bug (cost=10000000000.00..10000644777.55 rows=29562 width=0) [04:16] Filter: (latest_patch_uploaded IS NOT NULL) [04:16] it doesn't think the index is valid? [04:16] stub: can you reproduce, and/or see if prod has the same issue? [04:16] lifeless: possibly because the bug table is pretty much pinned in RAM [04:17] but yeah, on prod seq scan for pulling 4% of the bugs [04:18] lifeless: probably fixable by making it partial - WHERE latest_patch_uploaded IS NOT NULL [04:19] explain select id from bug where latest_patch_uploaded is not null order by latest_patch_uploaded ; grabs the index [04:19] stub: could you add a test index like that to qastaging ? I'm working on the +patches perf bug [04:19] lifeless: And does explain analyze show it takes longer real time? [04:19] checking [04:21] Building the index atm, so your checks will suck. [04:21] http://pastebin.com/FBRt1HPr [04:22] its using your new index :> [04:22] can you run those two to compare on prod ? [04:23] So that is quite interesting. See that PG correctly picked the plan that starts returning rows soonest? The 'order by' query runs slightly faster to completion, bug doesn't start returning rows for 240ms [04:24] which is rather stupid when this is a COUNT() [04:24] But the estimated time for the second query is higher than the first, so understandable. And the differences probably statistically insignificant. [04:25] stub: right, I couldn't compare counts to counts, so changed it to get th eid [04:25] -> BitmapAnd (cost=43791.26..43791.26 rows=23966 width=0) (actual time=16801.315..16801.315 rows=0 loops=1) [04:25] -> Bitmap Index Scan on bug__latest_patch_uploaded__idx2 (cost=0.00..397.06 rows=29562 width=0) (actual time=15.446..15.446 rows=29562 loops=1) [04:26] -> Bitmap Index Scan on bug_duplicateof_idx (cost=0.00..43382.43 rows=577826 width=0) (actual time=16773.721..16773.721 rows=578095 loops=1) [04:26] partial index built and table analyzed btw. Look for '_idx2' in your plans [04:26] yeah [04:30] stub: could you add a similar one for duplicateof ? [04:30] (where duplicateof is null) [04:30] I don't know that that will be sufficient [04:30] or... [04:31] perhaps index id where duplicateof is null and latest_patch_uploaded is not null [04:32] I wonder if we need to denorm the openness or not of a bug into the bug [04:32] this is the bug I'm looking at https://bugs.launchpad.net/launchpad/+bug/618392 [04:32] <_mup_> Bug #618392: Distribution:+patches slow 10% of requests timing out < https://launchpad.net/bugs/618392 > [04:35] We have some indexes elsewhere on id WHERE [partial clause] to speed up joins and ordering - may well work here too. [04:35] duplicateof index built and table analyzed [04:37] nope, unused [04:37] and the id one [04:38] ah, with just duplicates by id [04:38] this is what its doing: [04:38] -> BitmapAnd (cost=43791.26..43791.26 rows=23966 width=0) (actual time=20175.537..20175.537 rows=0 loops=1) [04:38] -> Bitmap Index Scan on bug__latest_patch_uploaded__idx2 (cost=0.00..397.06 rows=29562 width=0) (actual time=16.256..16.256 rows=29562 loops=1) [04:39] -> Bitmap Index Scan on bug_duplicateof_idx (cost=0.00..43382.43 rows=577826 width=0) (actual time=20146.004..20146.004 rows=578095 loops=1) [04:39] Index Cond: (duplicateof IS NULL) [04:39] the expensive bit is pulling all the bits out from the nondupes [04:39] could you drop all these indices [04:39] and try [04:39] (id) where duplicateof is null and latest_patch_uploaded is not null [04:40] OTOH this may be index bloat I guess [04:41] whoops... I'd created duplicateof index IS NOT NULL, not IS NULL [04:41] :> [04:41] ok, so lets try fixing that first [04:41] general purpose things being better, all other stuff equal [04:43] booyah [04:43] thats fast [04:43] You now have two indexes - on id - WHERE duplicateof IS NULL , and WHERE duplicateof IS NULL AND latest_patch_uploaded IS NOT NULL [04:43] which one gets used? [04:44] -> Index Scan using bug__new_patches__idx on bug (cost=0.00..1013500.47 rows=23045 width=4) (actual time=0.086..93.803 rows=28607 loops=1) [04:44] 500ms for the batch, 300ms for the count [04:45] do you think this is reasonable to add live ? [04:45] sure [04:45] \o/ [04:45] -65-1.sql ? [04:45] first, I'll drop the more complex index. Lets see if it is nearly as fast with just the id WHERE duplicateof IS NULL [04:45] ok [04:46] That index will be useful for other stuff too [04:46] yeah [04:46] lifeless: ok. try now. [04:46] yeah - 65-1 [04:46] Time: 3089.849 ms [04:47] faster than it was without it I think, [04:47] Aggregate (cost=7085778.93..7085778.94 rows=1 width=0) (actual time=2905.470..2905.471 rows=1 loops=1) [04:47] ok. crappy time. Wonder if I should create both indexes or just the fast one for this case? [04:47] or is the time close? [04:47] 2.5 second difference [04:48] right. crappy time :) [04:48] 500ms vs 3000ms [04:48] I suggest just the tuned one [04:48] less chance of destablising some other query [04:49] Should be impossible to destabalize - if it is possible to use the partial index, it will be faster because it is smaller. Assuming no memory pressure on the indexes because index size is insignificant compared to total RAM. [04:49] But from change management pov, yeah. [04:49] Project windmill-db-devel build #235: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/235/ [04:50] stub: https://bugs.launchpad.net/launchpad/+bug/735977 appears to be a destablisation result to me [04:50] <_mup_> Bug #735977: MaloneApplication:+bugs timeouts searching for tags across all bugs < https://launchpad.net/bugs/735977 > [04:50] stub: so my paranoia is heightened [04:50] I'll do that now and repack bug_fti while I'm at it. [04:50] \o/ [04:50] paste me the sql [04:50] and I'll make it into a branch [04:51] I'll do the -1 patch if I may - I do the patch first then translate it to live statements to run on the slaves. [04:52] less chance of screwups [04:53] I'm always happy for someone else to do work [04:53] once you've done this lets do the catchup call [04:53] Project devel build #689: FAILURE in 5 hr 7 min: https://lpci.wedontsleep.org/job/devel/689/ [04:58] I should flag this patch as fixing Bug #618392 yes? [04:58] <_mup_> Bug #618392: Distribution:+patches slow 10% of requests timing out < https://launchpad.net/bugs/618392 > [04:58] yes [05:07] prod_1 done [05:08] 361 queries/external actions issued in 2.65 seconds [05:08] \o/ [05:08] prod_2 complete [05:09] wiiin [05:09] prod_3 taking its time [05:09] * stub checks for long running transactions - probably the backups at this time [05:11] yer... prod_3 blocked until the backups stop or I kill 'em [05:11] thats master right ? [05:11] yes [05:12] up to you [05:12] are the backups offsite? [05:12] s/u/a/ <== stub === Ursinha is now known as Jorjao === Jorjao is now known as Mariazinha [05:19] spm: eh? [05:20] The reapers are killing archivepublisher jobs for about a day now. [05:20] stub "... or I kill 'em" ergo stub ==> stab. s/u/a/ :-) [05:21] lifeless: I think we can wait another 3 hours until they complete. [05:22] sure [05:22] so, call? [05:22] lifeless: sure [05:22] * stub kills his u1 sync [05:24] So I installed wonderwall as a workaround for some throttling issues, and it seems to be helping my system a lot. Lets see if this call is stable - Skypeout was crappy yesterday before that install. [05:27] I'm here [05:34] stub: I'm here when your network comes back :> [05:34] stub: I can hear you mostly fine [05:34] Sre. I'm watching the network monitor. I'm seeing a sine wave [05:34] Like there is some sort of really crappy traffic shaping going on, or I'm only getting [05:34] of traffic or signal ? === cinerama_ is now known as cinerama [05:47] stub: brewaking up? [05:47] stub: hows the graph? [05:47] still broken [05:47] think it is isp conjestion [05:54] Project windmill-devel build #29: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill-devel/29/ [06:08] sine wave? [07:12] stub: another 'fun' one for you - https://bugs.launchpad.net/launchpad/+bug/777601 [07:12] <_mup_> Bug #777601: BugComment:EntryResource timeouts < https://launchpad.net/bugs/777601 > [07:24] lifeless: so that was qa staging yesterday. Was something happening there at 11:18:48 UTC like a database update? [07:44] stub: huh, that was prod [07:45] really? [07:46] OOPS-1950DQ231 [07:46] DQ [07:46] oic. 'last seen' was qastaging [07:46] so (IIRC) wampee [07:46] I saw QASTAGING in big type :) [07:47] :> [07:48] I'm not aware of any activity that would explain that. I'll need to dive into the logs. [07:49] But first a shower. I'm all sticky. [07:49] TMI, stub [09:02] lifeless: Okay, I'll follow that up (the sync_packages thing). Nothing is creating jobs that use the sync_packages user yet so it's good someone saw this now before we do start creating jobs. Thanks. [09:03] morning dudes [09:05] hello! [09:07] allenap: O hai! Can you look at http://pastebin.ubuntu.com/603553/ ? It's the last bit for the mega-branch you've been reviewing. [09:07] allenap: This cleans up the UI tests to work [09:09] StevenK: Sure. [09:20] wgrant: did you see the MP I assigned you? [09:24] StevenK: _create_child_and_parent() is defined several times. If they're all the same perhaps you could factor them out? [09:24] StevenK: Otherwise it looks good, r=me. [09:25] allenap: Thanks! [09:25] allenap: I was not amused at all of the duplication of derived_series = ... [09:25] No :) === almaisan-away is now known as al-maisan [09:32] Project windmill-devel build #30: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill-devel/30/ [09:45] bigjools: Ah, sorry missed it in the middle of lots of other review emails that I didn't care about. [09:45] Looking now. [09:45] wgrant: heh, I unsubscribed from the review list a while ago [09:46] bigjools: Hmm, that simplifies the code a little bit, doesn't it... [09:46] a tad [09:47] dunno what that guadalinux stuff was in there for [09:47] For DDs with binary copies, without considering at all how it would work. [09:48] StevenK/anyone: https://code.launchpad.net/~julian-edwards/launchpad/slow-build-hunt-bug-777183/+merge/59968 would like to be mentored. [09:48] allenap: cool thanks [09:50] good morning [10:04] * stub wonders why launchpadlib is pulling credentials from kwallet when he is using Unity [10:04] the irony, I am using KDE and it pulls them from gnome-keyring [10:04] Project devel build #690: STILL FAILING in 5 hr 11 min: https://lpci.wedontsleep.org/job/devel/690/ [10:05] lifeless: around? [10:05] I wonder if it remembers somewhere where you first used it? [10:05] IIRC it depends on the ordering of importing dependent modules, whichever works first it uses [10:06] you can make a .keyringrc as well [10:06] I'm sure there must be an environment variable to sniff for a heuristic. [10:06] just the config I think [10:07] StevenK: still there? [10:08] ok, allenap? [10:09] bigjools: vaguely [10:09] * stub wonders what a .keyringrc file looks like [10:10] lifeless: if you have time, can you mentor wgrant's review of my branch please? [10:10] https://code.launchpad.net/~julian-edwards/launchpad/slow-build-hunt-bug-777183/+merge/59968 [10:10] 81 lines, mostly removals [10:16] stub: the file's actually called keyringrc.cfg [10:17] you can use it to override the backend [10:17] I think it's supposed to live in ~ which is somewhat annoying === allenap changed the topic of #launchpad-dev to: Merge to devel are open again | https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews [11:03] allenap: ooo I had no idea PG had a notification mechanism [11:03] stub: apparently you didn't like it though [11:05] bigjools: Unity? I worked out how to turn off the scrollbars that were driving me batty when they popped up and am now starting to appreciate it. KDE was nice, particularly plasmoids built in and working and some decent ones shipped, but still a little busy for me or something. [11:06] stub: I was talking about http://www.postgresql.org/docs/8.4/interactive/sql-notify.html [11:06] :) [11:06] oh... notification. Its fine. The only reason I don't like it is we really shouldn't be spending time reimplementing rabbitmq badly. [11:06] maybe [11:07] but considering we already did that anyway ... [11:07] Job *cough* [11:07] bigjools: I can't quite recall if it works outside transaction boundaries - if LISTEN is stuck inside a transaction, we could be shooting ourselves in the foot with long running transactions. [11:08] I was thinking more of doing it in a twistd process, we have a bit more control over transactions [11:08] Because if we do something wrong once, we should keep making the same mistake until everyone believes it is the right thing to do. [11:08] heh [11:08] Or am I thinking of politics? [11:21] if you want queues [11:21] land my rabbitmq branch [11:21] :) [11:26] lifeless: well we keep adding polling jobs everywhere, it's about time ... [11:27] I have a branch, tests all pass locally, something in ec2 hates it and I haven't had time to debug [11:30] wgrant: bigjools: Just pushed the modifications to the branch William marked as bad earlier today. Could you have a look? (http://bazaar.launchpad.net/~rvb/launchpad/change-perm-sync/revision/12950) [11:31] I changed the MP's status back to WIP but the partial diff does not get updated. [11:32] rvba: you need a new branch + MP [11:33] ok [11:33] rvba: I would add a comment explaining why lp.append is needed for the security updates [11:33] Project windmill-db-devel build #236: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/236/ [11:34] it's a bit of a hack unfortunately [11:34] bigjools, rvba: I think we will be able to remove the hack this year, but until then it needs to stay (and probably have a test) [11:35] yeah he has a test [11:35] rvba: I would move that test somewhere else though, let me think [11:35] s-i-s seems to be basically P3As + a stack of hacks that all need to be genericised for DDs to work properly. [11:36] 'special cases' [11:37] rvba: lib/lp/soyuz/scripts/tests/test_copypackage.py [11:37] lifeless: Have you *seen* them? [11:37] some [11:37] bigjools: ok [11:37] just noting that they may me lacking the 'elegant solution to a non trivial problem' aspect of 'hack' [11:38] rvba: I'd be tempted to also move the syncing tests out of test_distroseries [11:38] that's not the first place I'd look for them [11:38] but the waters are already muddied by this feature being half in lp.registry and half in lp.soyuz [11:39] It should be entirely in lp.soyuz, or the trees should be merged :/ [11:39] Why was it in lp.registry to start with? [11:39] wgrant: noodles put the DSD stuff there [11:39] Ah, right. [11:39] That seems so long ago now :/ [11:39] wgrant: are you around tomorrow? [11:39] about a year :) [11:39] lifeless: Unless they've instantiated a new public holiday while I wasn't looking. [11:40] that happened here! [11:40] We only get that on military coups. [11:40] The Royal Wedding could be considered a military coup [11:41] wgrant: I'd like to run some concepts I'm tossing round - starting to socialise - past you; I'd use bigjools but ETIMEZONE [11:41] bigjools: right, I'll leave one to check for UI notifications and see if some of the other tests can be moved to test_copypackages. [11:41] wgrant: so skype/mumble at some convenient point of th day for you [11:41] rvba: thanks [11:41] lifeless: I can be around later today my time if you want [11:42] bigjools: I'm doing big picture sketching and looking to understand more of the bits of soyuz that glue together [11:43] lifeless: you definitely want me then :) [11:43] lifeless: Sure, whenever. [11:43] bigjools: I'd be delighted, but I plan to sleep till i wake tomorrow, after the 5:45 start this morning [11:43] bigjools: I don't want to interrupt your evening unnecessarily [11:43] Sleep till you wake. [11:43] What a novel concept. [11:44] bigjools: btw, I'm not sure I know why exactly "lp.append is needed for the security updates" ... it's a hack all right ... but why is it there? [11:44] lifeless: nae prob [11:44] wgrant: theres a book on it [11:44] rvba: it was the only reasonable way for the security team to get permission to copy to -security at the time [11:44] bigjools: if you are around in my morning and want to chat, I'd be delighted; from experience (this will be the 4th/5th time I've run it up the flagpole) its about a 45-60 minute topic [11:44] heh [11:45] bigjools: failing that, we can make a time next week if you like [11:45] I'll pop in to irc tonight [11:46] rvba: Basically, the security team needs to be able to copy any package into the Security pocket, even if they lack upload privileges. And *only* the security team can be permitted to use syncSource into the primary archive, since it bypasses the queue and announcements. [11:46] bigjools: to give you context, with performance a Solved Problem, I'm starting to look longer term at our architecture [11:46] bigjools: at how we evolve the system, what platform we want to be on, and how we can break out of the monolithic situation we're in safely [11:46] wgrant: bigjools ok. Thanks, I'll had a comment then. [11:46] lifeless: excellent, I have a lot of ideas and semi-plans about that [11:46] lifeless: I am relieved to hear that you are looking at this. [11:46] s/had/add/ [11:47] rvba: Thanks! [11:47] a lot of our architecture was designed around more machines being in the pipeline [11:47] rvba: thank you [11:47] bigjools: its nearly 11pm and I've worked straight through except for dinner with Lynne; I guarantee 0% retention of anything you say now :> [11:48] rvba: We'll want to redo what you did in a few months, I suspect. But we can't get ahead of ourselves :( [11:48] lifeless: I hear you [11:48] wgrant: baby steps [11:48] anyhow, I'll be active here again in 9ish hours. [11:48] night all [11:48] nn! [11:48] Night lifeless. [11:49] lifeless: I'd like to be around for this specialised deploy, so please don't try it before I'm around. === henninge is now known as henninge-lunch [12:01] wgrant: just sent you email so you can sanity check the steps I think are necessary for syncs via the queue [12:04] bigjools: Looks sane. [12:04] bigjools: We'll need to shuffle the upload policy stuff around a bit... but it should be pretty much OK. [12:04] I think +queue and the queue tool should mostly work, as long as PackageUpload.displayname works. [12:04] yeah, I want to do the policy stuff in such a way that it's easy to convert for generic suites [12:04] Speaking of holidays, apparently it is coronation day and I'm not supposed to be here. I guess I'll be slacker than usual tomorrow. [12:05] And acceptFromQueue does the right thing, [12:05] But if not, easy enough to fix. [12:05] stub: how will we notice? /me hides [12:06] wgrant: right, the change will be in acceptFromQueue [12:06] although I expect we'll need to amend both for display purposes so it says it's a sync [12:07] Yeah. [12:07] but it's not going to be as hard as I have long feared. [12:07] Mostly because of that convenient job. [12:14] StevenK: Did you get anywhere with the overrides? [12:15] 20 bugs away from #777777 [12:19] bigjools: Have you had any more thoughts about how to arrange the generic copier underpinnings? [12:20] no [12:20] too busy thinking about this project :) [12:20] Yeah. [12:20] now, where's the damn table for copy jobs [12:21] Is it DistributionJob or ArchiveJob or similar? [12:21] lib/lp/soyuz/model/packagecopyjob.py:class PackageCopyJob(DistributionJobDerived): [12:22] Bug #776283 [12:22] <_mup_> Bug #776283: PackageCopyJob needs separate archive and series columns for query purposes < https://launchpad.net/bugs/776283 > [12:22] it uses DistributionJob [12:45] gmb: Well done! [12:45] wgrant: Yeah. Trigger happy, premature filing. [12:46] The failure state of "clever" is "arsehole" [12:46] Yeah. [12:46] Still, 4 bugs to go! [12:46] I'll leave it to mpt. [12:46] And stick to being doggedly successful instead of smart. [12:49] That sounds like a plan. [12:49] Any Yellow people want to handle the bug in #launchpad? [12:49] YUI doesn't seem to like + in an id selector. [12:55] bigjools: Are you going to separate the two different facets of upload checking? [12:56] Some of the checks are uploader policy (eg. signature checks), while others are distroseries acceptance policy. [12:56] They are currently conflated, but that doesn't really work. === henninge-lunch is now known as henninge [13:21] Is unmuting a bug meant to give me the option to unsubscribe the team? [13:21] That seems sort of the opposite action... [13:33] wgrant: yes [13:34] uploader policy is fixed for the most part [13:40] bigjools: Right. Or it's controlled by an option on process-upload. [13:40] Not series-specific. [13:40] exactly [13:40] So it must be split. [13:40] that's the plan [13:41] Excellent. [13:41] anyone know if you can change the billing date for AWS? [13:41] You mean so it appears more than a day before expenses are due? [13:41] That would be lovely. [13:41] But I don't think so. [13:41] they bill just at the exact wrong time for me [13:46] danilos: could you comment on bug 196679, though? [13:46] <_mup_> Bug #196679: ValueError on +language-packs < https://launchpad.net/bugs/196679 > [13:47] danilos: I mean, do you have a hint for me if this still needs to be done? [13:47] henninge, I thought jtv and you got the hang of it (I remember seeing his comment about how it's still there somewhere) [13:47] danilos: in a mail but it sounded much like guess work on his part. [13:47] Just wondering if you had more insight. [13:48] henninge, let me take a look [13:49] bigjools: Have you seen the repeated archivepublisher transaction killings over the past couple of days? [13:49] Project windmill-db-devel build #237: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/237/ [13:49] wgrant: no, I'm not paying any attention to oopses [13:50] and, BTW, ****ing keyboard drivers [13:50] bigjools: Not OOPSes, but pgkillidle spam. The first was on the 3rd, and there have been ~8 since. [13:50] I can't find anything in the logs. [13:50] Don't even know which host it's from. [13:50] wgrant: I suspect it's to do with the timeout getting lowered [13:51] if that happened yet [13:51] Extremely unlikely. [13:51] These transactions had been idle for half an hour. [13:51] that it happened? [13:51] It's been 9s for a week now. [13:51] not that timeout [13:51] there's a script timeout IIRC [13:51] Hmm. [13:51] henninge, it seems it should be able to reproduce the bug with more than 15 language packs (shortlist default), and the base pack not being in the list that shortlist returns, as jtv noted as well [13:51] I vaguely remember stub saying something about lowering it and panicking [13:51] and then forgot about it [13:52] Heh [13:52] danilos: I see, I'll try that. thanks [13:53] wgrant: so I'd check with stub to see if he changed anything [13:54] eh? [13:54] wgrant: I'll grab the hosts for you - they should be in the pg logs [13:54] stub: Oh, that would be great, thanks. [13:54] henninge, I think the right fix would be to use a larger shortlist value there (find what's the most we had for a distro release) [13:55] stub: Then we can hopefully identify the process from the ps logs. === jcsackett changed the topic of #launchpad-dev to: Merge to devel are open again | [13:58] https://dev.launchpad.net/ | On call reviewer: allenap | [13:58] Oops. [13:58] :) [13:58] crap, i didn't even hit enter. === jcsackett changed the topic of #launchpad-dev to: Merge to devel are open again | https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews [14:00] Morning, all. [14:01] henninge, ping for standup [14:03] wgrant, I am going to start the mawson DB upgrade later today, you don't need it do you? [14:04] Project windmill-devel build #31: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-devel/31/ === matsubara-afk is now known as matsubara [14:05] bigjools: I need to do some minor QA on it tomorrow. [14:05] bigjools: So probably best to run it over the weekend... [14:05] Or I can start it when I'm done tomorrow. [14:05] That's probably best. [14:06] wgrant: what QA? [14:06] r12979 [14:06] I need DF *done* before end of Sunday so I can have it ready for monday [14:06] buildd-manager path change. [14:06] Ah, true. [14:06] you can QA that on staging [14:06] I guess we can do this on staging. [14:06] Yeah. [14:06] OK, blow it away! [14:06] cheers :) [14:07] I guess we also need to clean the librarian out, but can leave most of the archive. [14:07] librarian purging is part of my monkey-following script [14:07] Great. === Ursinha-afk is now known as Ursinha [14:11] wgrant: for this policy checker I am thinking to sort of copy the uploadpolicy one but makeit a) use DB objects, b) only have distro policy checks. Then add a PackageUpload.checkPolicy(policy) or something. [14:12] bigjools: Can't it basically be encapsulated in DistroSeries or Archive? [14:12] There's only one or two methods that need to be exposed. [14:12] no [14:12] well [14:12] I'd rather it was a totally separate module [14:12] then it can be re-used in more ways [14:13] Do we need to replace anything other than autoApprove and autoApproveNew? [14:14] at the moment, no, but I expect it to grow [14:14] Right. [14:14] rejectPPAUploads, for example [14:14] maybe announcelist [14:14] Most of that is archiveuploader-specific. [14:14] Except for announcelist, which is just wrong. [14:15] it should be distro-specific [14:15] s/it/they/ [14:20] now, the hardest part has just arrived. What do I call it and where should it live :) [14:20] It is similar to archivedependencies, so it might belong alongside it in adapters/ [14:21] adapters is a horrible name but there's nowhere else better that I can see [14:22] I mean, packagecopier is in scripts/ ffs [14:24] Hmm, I argued with you about packagecopier a while ago and you said it belonged in scripts/ :) [14:26] did I? :) [14:26] henninge, we don't hear you any more [14:26] deryck: I still hear you [14:53] wgrant: bugger, test failure from the getBuildByArch change [14:54] bigjools: Ew, which? [14:59] publishing.txt and testDuplicatedBinaryUploadGetsRejected [15:03] Hmm. The second one is a braindead test. [15:03] Copying to the same distro and archive and expecting a new build to be created. [15:03] Nonsensical. [15:04] not look at it yet, just going in now [15:04] publishing.txt seems to be the same. [15:05] abentley: will you be able to QA bug 747844 today? I have a revision behind it that I'd like to get released. [15:05] <_mup_> Bug #747844: process-mail oopses with TypeError due to non US-ASCII chars in the email address < https://launchpad.net/bugs/747844 > [15:05] It copies from one series in a PPA to another. [15:05] ANd expects builds to be created. [15:05] wgrant: huh, the description is insane [15:05] benji: yes. I am QAing it right now. [15:05] "source gets copied to another suite in the same archive..... The binary rebuild" [15:05] ! [15:05] abentley: great! thanks [15:06] wgrant: that's completely bong, wtf [15:06] bigjools: Yeah, so it asserts that the duplicated build will fail to upload. [15:06] bigjools: It's a good check. [15:06] But it relies on a bug: that the build is created at all. [15:06] Need to create the build manually. [15:06] rvba: will you be able to QA bug 775529 today? I have a revision behind it that I'd like to get released. [15:06] <_mup_> Bug #775529: Synching to a released series should put packages in -updates. < https://launchpad.net/bugs/775529 > [15:06] And publishing.txt needs to be reworded to use a different archive. [15:06] bigjools: DF is still usable? [15:06] I'll QA that thing now. [15:07] wgrant: yes, still waiting for the dump [15:07] benji: I would need DF to be up for that ... bigjools? [15:07] bigjools: can you update DF? [15:08] it's up, but we can defer QA since it won't block rollout [15:08] mark it untestable for now [15:08] benji: bigjools will do. [15:08] awesome, thanks [15:08] benji: You need to deploy at least 12980 due to a bad rev, and 12979 has an unusual rollout requirement on LPS -- could you make sure that's done if you request one before I'm around again? [15:10] wgrant: I'm doing a lazy release. I'm just lining things up so my revision will be ready when you do your deploy. [15:10] benji: Ah, OK. That makes things easier. [15:11] for the both of us ;) [15:13] Yippie, build fixed! [15:13] Project devel build #691: FIXED in 5 hr 8 min: https://lpci.wedontsleep.org/job/devel/691/ [15:16] losa: please run process-mail for qastaging [15:17] abentley: hi, give me a sec... [15:17] hloeung: thanks. [15:19] Ah, I was wondering why DF was so slow. [15:20] Driven into iowait by a network file copy. Yay. [15:21] abentley: done... see https://pastebin.canonical.com/47159/ [15:22] bigjools: I'm giving up for now, will do it on staging tomorrow. Do with mawson what you will. [15:23] hloeung: Hmm. That doesn't look right, and it hasn't generated the outgoing mail I expected, either. [15:23] hloeung: that was definitely qastaging, not staging? [15:23] abentley: yep, qastaging [15:25] wgrant: ok [15:26] hloeung: could you try running it on staging, please? [15:27] abentley: process-mail runs every 10 minutes on both staging and qastaging [15:27] hloeung: Oh. I was under the impression that no scripts run on qastaging. [15:30] hloeung: I sent mail to 5977@bugs.staging.launchpad.net more than 20 minutes ago, and it still hasn't appeared in the staging mail folder. [15:38] wgrant: publishing.txt is also on crack [15:38] it's copying intra-archive and expecting rebuilds [15:43] henninge, mrevell: one very small note about the sharing announcement: where it says "That sharing also works between different versions of a project or package:" it may be helpful to say "already" instead of "also" (to set the right expectation, i.e. that this is not the part that has changed most recently). [15:44] jtv, Thanks, that's a good suggestion. [15:45] Also, "series" is one of those things that are obvious to us devs but I'm worried about how clear they are to others. I'd prefer to say "release series" a lot of the time to avoid leaving those "not in the know" behind. [15:46] mrevell, in case you were already off typing: ^ :) [15:47] ah, thanks jtv, I did wonder about that but then I kinda thought that we don't have much of a better alternative. [15:47] Release series. [15:48] When we talk internally, that's needlessly verbose. But every time we omit it, a potential user may go "what are these people talking about? All I want is to host my project!" [15:49] And consequently, strangle a kitten. [15:50] mrevell: also, the the dreaded repeated word across line line breaks: "opt" [15:51] ah [15:53] (It is a dark day for travelers worldwide. All the sudokus I picked up on this trip were so easy that they might as well have said "each little square should have a number in it, but some are empty. Can you see where they are?") [15:54] allenap: can i get you to take a look at https://code.launchpad.net/~jcsackett/launchpad/spam-button-ui/+merge/60072 [15:55] jcsackett: Sure. [15:58] mrevell: moving on, the paragraph starting with "Previously, Ubuntu took translation templates" introduces two consecutive notions with the word "this" (which makes it a bit unnatural to read) and uses the word "allowed" to describe an undesirable effect (which may confuse readers who lack confidence with the subject matter). Especially because it also uses the word "diverge" in a way that's hard to avoid, but doesn't sit quite right with the [15:59] allenap: i believe the diff appears pretty big, but a goodly junk of that is boilerplate for javascript tests and the fact that i renamed a test file. [15:59] jcsackett: No worries. It's such a cool feature I'd read it twice. [15:59] allenap: :-) [16:00] thanks jtv, this is very helpful. [16:00] mrevell: how about moving the cause ahead of the consequence there? "New upstream translations made after that initial import had no way [...]. Thus Ubuntu often ended up with different translations as translation work upstream and in Ubuntu continued independently over Ubuntu's 6-month release cycle." [16:01] that's great, much clearer jtv [16:02] mrevell: explaining things is important, and any improvement is multiplied by the number of readers. That's why I always appreciated your documentation work so much. [16:03] Ah, thanks man. Looks like I'll have to buy you a beer in Dublin :) Although, I seem to remember that buying beer in Dublin requires a hefty bank loan first. [16:03] Well let's pool our mortgages and try the Guinness. :) [16:04] jcsackett: do you have time to mumble? [16:04] * bigjools will be putting some beverages in the car [16:04] sinzui: i do. one moment. [16:05] * jcsackett fires up mumble and prays [16:05] bigjools: bringing your own lukewarm English beer to Dublin? How does that make things any better? [16:06] jtv: you, as a Dutch man, have no right at all to talk about beer [16:06] (Apart from the slight reduction in lukewarm English beer the United Kingdom will experience) [16:06] Ohhh yes. Bring it on! [16:06] sinzui: i am here, but it seems that you cannot hear me. [16:06] haha [16:06] if you want to drink beer served at sub-zero temperatures, be my guest! But I prefer mine to actually taste of something ;) [16:07] bigjools: I appreciate that English cooking gave you a taste for cat's urine, but proper beer is best served at 4 degrees centigrade. [16:07] jtv: you lie. like a cheap carpet. [16:07] the only reason it's served that cold is so you can tell it from urine my friend [16:08] bigjools: if you wanted to hit me where it hurt, you would have said "is someone trying to teach me about beer from the United States of America?" [16:08] Wouldn't have hurt _me_, but at least it would have hurt _someone_ who deserved it. [16:09] jtv: anyone who drinks beer at 4C deserves it :) [16:09] what's to know? American is like making love in canoe. [16:09] We do have real breweries now, but that does not mean you will find drinkable that beer in an established [16:10] I did find some great beer in the US once [16:10] bigjools: thank you, I'm glad you don't begrudge me my delicious cool beer. [16:10] it had been imported from England :D [16:10] Except the Americans probably knew to refrigerate it, and it was a whole new experience of pain-free beer-drinking. [16:11] Actually the states is where a lot of the micro brewers say modern beer is at [16:11] jtv: get back in your box, troll! [16:11] They influence a lot of beer these days [16:11] particularly a lot of pale ales [16:11] Face it, mainland Europe figured out how to make lager taste good while the Brits mumble out ale and "proper beer" into their warm, smelly pilsner ripoffs. [16:12] Ahhh this feels good. [16:12] Even American coffee can make you irritable if you drink enough of it. [16:13] Something like the Sierra Nevada Pale Ale is amazing and has influenced a bunch of amazing beers in Aus [16:13] I used to hate on American beer, but you can find crap beer anyway [16:13] I'll see if I can get some. :) [16:13] jtv: You should [16:14] mrevell: I can't escape the impression that the blog post is trying to go in multiple directions at once. Is it highlighting the new sharing, or more the whole new data flow that emerges from it? The bit about branch imports is at the same time useful and a bit of a side track. [16:18] mrevell: it may help to separate the two aspects of the story. "What has just changed? How does it compare to existing sharing features? What do these and other recent improvements add up to in terms of data flow?" [16:19] benji: qa-ok [16:19] abentley: thanks! [16:20] mrevell: Not very different from what you do now, except I think it will make it clearer what each individual part of the text is driving at. [16:20] jtv sorry otp [16:20] OK [16:22] allenap: could you take a look at https://code.launchpad.net/~rvb/launchpad/change-perm-sync2/+merge/60077 ? (I think you are a good candidate to review this, because you've heard the whole story about this branch ;)) [16:23] bigjools: ^^ [16:28] rvba: Sure. [16:29] rvba: I'm doing another review right now, but I can do your's once I've finished. [16:29] allenap: great, thanks. === al-maisan is now known as almaisan-away [16:44] bigjools: when we discussed creating distroseries indexes from the regular publisher cron, you mentioned that the manual verification steps were a bit of a holdover from when this was all a much bigger deal. But since this goes into the new python-based publish-ftpmaster (another big change), shall I just leave the notification of release managers in place for the time being? I can make it say something like "please verify manually." [16:44] TDD = Tedious Driven Development with our test layers [16:44] * jtv adds TLA [16:44] which is turning into RDD, Rage Driven Development [16:45] bigjools: hang on, I was already uploading TDD [16:45] jtv: you could ask them if they would like to keep it! [16:45] I honestly don't know [16:45] bigjools: what I mean is, it'd be good to keep their existing procedure for at least one more cycle, but more to ensure that my changes didn't screw things up. [16:49] jtv: well sending them an email is not existing procedure, so I'd check about that since it might not be necessary. [16:50] The email is a relatively superficial change, I hope--from "run this and then verify" to "wait until the system tells you this has been run and then verify." [16:51] But as long as there's a manual step triggered by completion of an automated step, I think the notification makes sense. [16:51] I'll ask cjwatson though. [16:52] ok cool [16:52] cjwatson, are you here? [16:54] jtv: we'll likely do the manual checks whether you want us to or not :-) [16:55] Good to hear. :-) [16:55] The question is: [16:55] now that we're automating the manual "publish-distro.py" runs to create indexes for a new series, [16:55] do you want Launchpad to notify the release managers when that has been done? [16:56] oh, we don't need e-mail about that, no [16:56] we are already thoroughly used to monitoring publisher activity [16:56] Well, that certainly makes things simpler! [16:56] e-mail> or any other notification [16:57] there are plenty of existing Ubuntu processes that involve waiting for a publisher cycle to complete [16:57] Okay, then I'll rip out the email and you'll just have to assume that the regular publish-ftpmaster run will, the first time around, just initialize the indexes and quit. [16:57] (By the way, those publish-ftpmaster runs will be a bit faster now because of changes in process architecture and cache management) [16:57] IOW we no longer need to stop the publisher and run publish-distro by hand? [16:58] Definitely no longer the latter; let me just verify the former. [16:58] (the first publish-distro run already created indexes, it's just that it had to be given careful flags to do so) [16:58] well, and that we had to run initialise-from-parent beforehand, which I understand is going away [16:59] The first publish-distro run already created indexes, but that's currently a manual run. We're talking about moving that into the regular cron job. [17:01] Yes, initialise-from-parent will be going away AIUI but I'm still fuzzy on the details there so can't make promises on whether you'll still need to stop the cron jobs. [17:01] But I'm at least taking steps 12-14 out of that window. [17:02] you're not taking out step 13, because that's not in Launchpad's gift to remove. :-) [17:02] but ack on 12 and 14 [17:02] that's what I meant by careful flags (-A) [17:02] I am taking step 13 out of the disabled-cron window, but not out of the process. Steps 12 & 14 will become automated. [17:02] having the publisher notice that the suite hasn't been published yet and Just Doing It is all that needs to happen to remove 12 and 14. [17:03] Exactly; that's what I'm working on. [17:03] everything's frozen anyway so no harm by JFDI [17:04] i.e. bug 55211 [17:04] <_mup_> Bug #55211: shouldn't require careful publisher run when cloning new released distrorelease < https://launchpad.net/bugs/55211 > [17:04] 5 digit bug! [17:04] Hey jtv, I'll run up another draft of the announcement [17:04] * cjwatson closed two five-digit bugs just in the last week or so [17:05] they're less rare than people seem to think ... :-) [17:05] ack mrevell [17:05] we're probably unwittingly closing a bunch with derived distros [17:05] I'll mark that one as in progress then. [17:09] bigjools: if I make the initial-run check check for Frozen status, then the change won't affect previously released distroseries. [17:10] sounds very sane [17:14] bigjools: it probably doesn't make much sense to have a feature flag for this then, either. The work will simply come with the new publish-ftpmaster. [17:14] yup [17:16] yuuuup [17:16] phrasing! [17:17] rvba: I'm not going to get to your branch until later this evening. Is that okay? [17:17] It's not a competition, bigjools! [17:19] allenap: of course, no worries. [17:20] rvba: Thanks, sorry about that. [17:22] I am executing a remarkably satisfying sql statement on mawson [17:23] DROP DATABASE launchpad_dogfood [17:24] jtv: as long as it's clear that the Frozen status doesn't apply only to just-opened series [17:24] cjwatson: otp, brb === m4n1sh_ is now known as m4n1sh [17:36] bigjools, :) [17:37] should i have a bug for even cleanup type landings, like https://code.launchpad.net/~mbp/launchpad/mail-cleanup/+merge/58867 ? === matsubara is now known as matsubara-lunch [17:37] poolie: it's getting the last laugh though, the production restore is failing! === salgado is now known as salgado-lunch [17:49] Project windmill-devel build #32: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/32/ [17:55] allenap, rvba: i can take rvba's MP. [17:56] unless there is a particular reason you should do it, allenap. [18:31] Project windmill-devel build #33: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/33/ === matsubara-lunch is now known as matsubara [18:41] allenap: saw your notes on my MP; i concur on the on and failure success handlers; meant to connect them up and clearly forgot. [18:42] regarding the permission checks tho, i was under the impression that check_permission did cache permission stuff on it's own. i take it i'm laboring under false info? [18:51] Project windmill-db-devel build #238: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/238/ [18:52] jcsackett or allenap: hi guys, I have a very small branch for you to review: https://code.edge.launchpad.net/~benji/launchpad/bug-777766/+merge/60100 [18:52] benji: i can look at it in a bit, but i'm currently looking over a 1400+ diff. :-P [18:53] cool, thanks [18:53] np. just wanted you to know of the wait. :-) === salgado-lunch is now known as salgado === deryck is now known as deryck[lunch] [19:20] Why do we keep seeing edge URL in reviews. That env is deprecated, soon to be obsolete? [19:53] benji: i am looking at your branch now. [19:53] sinzui: I used to have bookmarklets with edge in them, and prompted by you I just found "edge" in one of my MP-related scripts which was the source of the "edge" above [19:54] ah === deryck[lunch] is now known as deryck [19:59] jcsackett: Ah, I didn't see your comment about taking rvba's branch. I'm back now so I can do it, but thanks for the offer. [19:59] allenap: it's done. :-) [19:59] jcsackett: Oh, awesome :) [20:01] benji: only one question on your branch. does the crazy character mash that is base64 show up in a url now? or is this just in ids? from the test, i'm assuming the latter. [20:01] jcsackett: yeah, it's just in IDs; user's wont see it [20:01] benji: good stuff. :-) r=me, then. [20:02] I just used the URL base 64 because instead of + and / it uses - and _ (so it's ID-safe (except for the stuping paddin characters (which I remove after the fact))). [20:16] * lifeless stretches [20:16] wgrant: if its specialised, is it on unusual deployment notes ? [20:20] Project windmill-devel build #34: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill-devel/34/ [20:22] lifeless: is it true that testtools doesn't provide a matcher for regular expressions? [20:28] I'm not aware of such a matcher; it would be great to have one [20:29] matchers were an experiment, one I think that has panned out well, but we haven't gone and migrated all the custom asserts etc into matchers [20:30] I was thinking yesterday that its about time we did that [20:31] lifeless: Ah, I see. It seemed like an odd oversight. [20:35] abentley: we started with just a couple - equals and doctestmatches [20:35] and have grown from there as people found them useful and nice to work with [20:35] flacoste: what are these wiki edits all about [20:36] e.g. ... + * r9242 [r=jtv][ui=none][bug=297458] For wgrant: export bug nominations. [20:36] lifeless: testplans -> Trash [20:36] flacoste: but they are being edited not deleted [20:36] lifeless: nah, i'm using Delete Page [20:36] not sure how the notification looks liek [20:36] -weird- [20:36] I can see its gone now I try the page url itself [20:37] let me forward you the notification so you can go WTF [20:37] lifeless: i don't nee dmore WTF moments :-) [20:37] sent :> [20:40] lifeless: Moin crack :-) [20:41] yeah [20:43] you can understand my confusion [20:47] it sure is confusing [20:49] Project db-devel build #518: FAILURE in 5 hr 8 min: https://lpci.wedontsleep.org/job/db-devel/518/ [21:01] Project windmill-devel build #35: STILL FAILING in 40 min: https://lpci.wedontsleep.org/job/windmill-devel/35/ [21:02] sinzui: can you spare 45m to an hour sometime today to talk with me ? [21:03] I can [21:03] sinzui: I've started looking beyond the immediate exigencies of performance... great [21:04] bigjools is apparently popping back into irc at some point his evening; given tz constraints I want to chat with him when he does that; we could either wait for that to have happened, or have a call that might be interrupted [21:13] I need a keyboard with catguards [21:13] I'm thinking raised 2cm ridges at each end [21:20] jcsackett, you might like to review my current js fix. It's stuff you and I chatted about before. [21:20] jcsackett, if you have the time, of course. [21:20] deryck: I'd like to chat with you similarly [21:20] deryck: but I imagine you are right on EOD as you run to UK times for some bizarre reason? [21:20] lifeless, about js? [21:21] deryck: about our architecture [21:21] ah [21:21] lifeless, I've got about 1/2 hour left. but I have some CHR-like duties I've yet to do. [21:21] jcsackett: I have another small review if you have another few minutes: https://code.launchpad.net/~benji/launchpad/bug-771239/+merge/60113 [21:21] lifeless, but I don't mind chatting. Or we can chat first thing for you tomorrow? [21:21] I would (even though tomorrow is sat) but we have to go pick up a kitten [21:22] allenap: you're not really still here, are you? [21:22] 1/2 hour can probably touch the high notes [21:22] deryck: so, lets do it! [21:23] lifeless, ok, let's do. firing up mumble. [21:23] deryck: d you have skype or voip? [21:23] mumble is crappy from here [21:23] ah [21:23] I don't know if I ever installed skype. let me see. [21:23] the canonical voip is pretty nice if you have that [21:24] if you haven't got skype we can try mumble, we might get lucky [21:24] lifeless, I haven't setup voip yet. doing skype install now. should be quick. [21:24] kk [21:24] I need to get voip up. [21:25] I'll warn you its loud here. Working from my wife's shop and it's after school time. :-) [21:25] thats ok [21:25] you say that now ;) [21:25] * deryck is not bothered by noise, but late day calls are fun [21:27] allenap: I have a small review if you have a few minutes: https://code.launchpad.net/~benji/launchpad/bug-771239/+merge/60113 [21:28] lifeless: If you have a moment between all the calls, could you revisit the question of giving me access to the lpreview-body packaging branch as broached in bug 766149? Thanks. [21:28] <_mup_> Bug #766149: bzr-lpreview-body from launchpad ppa blocks python 2.6 install on natty by using site-packages < https://launchpad.net/bugs/766149 > [21:28] maxb: I have no issue with that. [21:28] flacoste: ^ [21:29] maxb: me neither [21:29] jcsackett: are you available for a review? It's large, but more than half the overall diff is deleted lines. https://code.launchpad.net/~jtv/launchpad/bug-777941/+merge/60116 [21:39] Great, in that case, could you migrate ownership of https://code.launchpad.net/~launchpad/+recipe/lpreview-body-daily and https://code.launchpad.net/~launchpad/lpreview-body/packaging to ~launchpad-committers ? [21:45] Project windmill-devel build #36: STILL FAILING in 44 min: https://lpci.wedontsleep.org/job/windmill-devel/36/ [21:48] sinzui: so with that in mind, what time suits you for a call === jtv is now known as jtv-afk [21:54] bah [21:54] I have to get that battery sorted === lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews [21:55] maxb: what were those urls [21:55] Great, in that case, could you migrate ownership of https://code.launchpad.net/~launchpad/+recipe/lpreview-body-daily and https://code.launchpad.net/~launchpad/lpreview-body/packaging to ~launchpad-committers ? [21:55] (thanks) [21:56] apparently not [21:56] hello lifeless [21:56] I get 'undefined' on the picker widget [21:56] hi poolie [21:57] sinzui: if you replied I missed it [21:57] i'm trying to ec2 test some branches [21:57] they seem to be sinking without trace [21:57] i suppose while trying to send mail or something [21:58] if the failure is too big it can hit gmails size limits [21:58] lifeless: sorry. I was distracted. we can talk now or in 4 hours [21:59] sinzui: now sounds good to me [22:00] is there any way to ask it to just leave the instance running serving the file? [22:00] lifeless: skype? [22:00] poolie: I don't think so [22:04] :/ [22:05] poolie: patch welcome :-) [22:05] poolie: there is an option not to detach from the instance [22:05] you could tail the output [22:06] tail the output of what? [22:07] the hotel wireless drops out occasionally [22:07] i guess i could start an ec2 machine, ssh there and run screen, then run things from that [22:11] poolie, you can use ec2 demo to start the instance; that way you have everything ready to run the test suite when you ssh into the instance [22:11] am i supposed to normally be able to ssh in to the test versions? [22:11] they seem to have a server but it doesn't accept my key [22:13] poolie, I think your key is associated to the ubuntu user there [22:13] oh ok [22:14] no, apparently not? [22:15] I'm pretty sure your key is there, just need to find out under which user [22:16] oh ec2test@ [22:17] deryck and benji: sorry for not replying, i seem to be having IRC connection issues today. i have looked at your branches, and they are a-ok. :-) [22:17] jtv: i am looking at yours now. [22:23] ok, so ssh'd in, the log shows [22:23] Running command: /usr/bin/xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args='-screen 0 1024x768x24' /var/launchpad/test/bin/test -vv --subunit -vvv [22:23] and nothing more [22:23] it does seem to be using cpu [22:27] Project windmill-devel build #37: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/37/ [22:45] hmm, i seem to be getting launchpad bug mail again [22:46] jtv: r=me. i have two suggestions in the MP, but they don't block landing--just things to consider. [22:46] i guess this is to do with the better subscription story stuff being enabled for ~launchpad? [22:46] ah no, it's ~launchpad loosing its contact address i think === jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews [22:48] luckily the better subscription story lets me turn off the firehose [22:52] ooh, the new bug subscriptions are nice :) [23:04] Project windmill-db-devel build #239: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/239/ === matsubara is now known as matsubara-afk === mwhudson_ is now known as mwhudson