/srv/irclogs.ubuntu.com/2012/06/28/#launchpad-dev.txt

StevenKcjwatson: You're dealing with the QA of r15504?00:54
StevenKjelmer has a bunch of QA. :-(00:54
cjwatsonYes, literally just finished it in fact00:55
StevenKcjwatson: \o/00:55
StevenKwgrant: branch-unsubscribe-revokes is looking good so far, ~ 2 hours to go00:56
* StevenK gets disgusted enough to run format-imports again.01:07
StevenKcjwatson: Can we delete delayed copies yet? How about now? Now? :-P01:08
wgrantOnce the custom upload fix is done and pocket queue admin permissions work :)01:08
wgrantI think those are the only two blockers.01:08
* StevenK stabs the branch scanner.01:19
StevenKEvery time I get frustrated, ssh to carob and sync logs it then scans correctly.01:20
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/imports-really-this-time/+merge/11247001:23
wgrantStevenK: lib/lp/app/widgets/tests/test_popup.py is wrong01:24
wgrantAnd wow I completely failed at bugsummaryrebuild01:25
StevenKOh, yeah, I completly missed the utter fail in test_popup01:25
StevenKLet me fix that up01:25
StevenKwgrant: Diff updated01:30
wgrantr=me01:31
wgrantYour nation thanks you for your service.01:31
StevenKwgrant: You have an hour to object to branch-unsubscribe-revokes.02:01
wgrantStevenK: doit02:01
StevenKwgrant: And the garbo job? :-)02:02
wgrantObjection02:02
StevenKwgrant: And the discussion about ubuntu/precise/datereleased over our API in -devel?02:02
StevenKwgrant: Can has a concrete ruling on the garbo job, rather than 'Objection' ?04:16
wgrantStevenK: It can land once the unsubscribe stuff is deployed and we've performed some data checks.04:20
* StevenK stabs lazr.enum and then twists the knife.04:55
StevenKwgrant: So, I've been fighting with a generalisation branch for RBSJ for too long.04:58
StevenKI think we need a seperate job04:58
StevenKAs much as pains to say04:58
wgrantStevenK: Why?04:59
StevenKwgrant: Because I'm getting damn well nowhere05:00
StevenKOr it feels like it05:00
wgrantWhat's the problem? :)05:01
StevenKPerhaps starting with renaming every class I could find was not the best way to start.05:02
wgrantSounds fine to me.05:03
StevenKwgrant: http://pastebin.ubuntu.com/1063704/05:05
wgrantStevenK: Looks not unreasonable. Is there a problem?05:07
StevenKI was chasing through the importfacist again05:07
StevenKTurns out lazr.enum gives unintelligble errors if the first line of a DBEnum is multi-line.05:08
jtvHi lifeless — are you free for a question about job dispatch with celery/rabbit?06:27
lifelessjtv: high latency but yes. Just ask06:39
jtvWe want to dispatch jobs to workers through celery.  But we'd like to get proper transactionality on that.  We looked at django-celery-transaction but it's written from a mubbet-labs “just patch into commit/abort and do your work there” approach.06:40
jtvAs opposed to the “whatever is in the database is the valid state” approach that you'd normally go for.06:41
jtvWe'd like to avoid rolling our own code for transferring committed jobs from the database to rabbit… know of any ready-made alternatives?06:41
jtvThere's django-async, which at least is written by someone who understands this stuff, but it was designed as a lightweight replacement for celery rather than as complementary to it.06:43
lifelessno; in particular you'll need to have something poll, or something using postgresql's push facilities06:43
lifelessI thought the plan was to avoid the need for that by not emitting state; just emitting 'something happened' events and letting the worker read-back ?06:44
lifelessso you will be transactional anyway06:44
jtvWell, sort of.06:44
jtvYes, the plan was to do that.  I hadn't thought of it as a replacement for transactionality of messaging; we'd always have to call back to the central server even if just to see whether the requesting transaction had committed.06:46
jtvAnd hope that we'd not do so too fast for the commit to happen.  :)06:46
lifelesswell, yes, unles you emit the event right after06:54
lifelesswhich may lead to no notification, of course06:55
lifelessjtv: things to watch out for: super big journal tables after doing this for a long time06:55
jtvJournals on the filesystem?  Or do you mean un-vacuumed database tables?06:55
lifelessunpruned specifically06:56
lifelessyou're basically building a queue in the db, be sure it gets cleaned out06:56
jtvSo you are talking about tables in the database then?06:56
lifelessyes06:56
jtvWell there's vacuum for those.  Right now I'm not building a queue in the db; I'm asking if there's a good way to do it.06:57
lifelessI mean lots of rows, not unvaccuumed pages06:57
lifelessother implementations I've seen accumulate forever, failing to delete rows.06:57
jtvThat seems silly.06:57
lifelessyes ;)06:57
jtvSo basically we don't know of anybody getting this right?06:58
jtvAt least, with celery.06:59
lifelessU1 are doing a roll-your-own implementation06:59
lifelessfor their materialised views implementation06:59
lifelessthe only precanned 'this is a robust answer' I know of our there is storm.06:59
lifelessWhich is probably not something you'd want for MAAS.06:59
jtvNo.  I didn't even know it integrated with rabbit.07:00
lifelessit doesn't particularly but it knows how to deal with the general situation07:00
lifelessjtv: it seems to me you're solving a single piece of the puzzle better than the rest of the stack supports it07:01
lifelessjtv: amqp isn't intrinsically transactional07:01
jtvSadly.07:02
lifelessunless you run in specific 2pc mode07:02
lifelesserm, specific trasnaction mode07:02
lifelessthis means, you may suffer dropped messages07:02
lifelessif rabbit is shut down hard at an untimely point.07:02
lifelessThis means, that its no worse to just emit the celery event right after the db commit.07:02
lifelessIts not a new failure mode.07:02
jtvThat is sad.07:03
lifelesswhatever approach is used to deal with 'some numpty/event killed rabbit hard' will also deal with 'the appserver was killed/segfaulted between the db committing and it handing off the event to rabbit'07:03
lifelessI may be wrong; critical analysis welcomed.07:04
lifelessI need to run for a minute, baby->sleep.07:04
jtvI'll be here.07:04
lifelessback, tho my focus won't be here07:08
lifelessits mid-evening now07:08
lifelessI'll keep replying if you want to chew on this more07:08
lifelessjust slower - sorry.07:08
mgzanyone know where the source for the launchpad qa bot is?07:14
nigelbpqm?07:14
nigelbhttps://launchpad.net/pqm07:16
wgrantmgz: That's qa-tagger07:17
lifelessnot opened sadly07:17
wgrantCreatively enough that's lp:qa-tagger07:17
lifelessneeds personal details purged to do so07:17
nigelbheh07:17
wgrantOh, I thought that was free. Sad.07:17
mgzta!07:18
jtvlifeless: some distractions on this end as well.  Anyway, I was also somewhat concerned about immediate failures to handle a job request.  It would seem more sensible if those could abort the transaction that requested them.07:50
jmloh08:03
jmlalso, james_w made something that's a bit like qa-tagger, except it tracks revisions rather than bugs.08:04
jmlunfortunately, I can't remember what it's called or where it lives.08:05
jmlone of the downsides of ec2/canonistack deployment is the lack of memorable hostnames08:06
jtvjml: the openbsd folks had a solution for that — use pokemon names.  But I suspect even that is not a large enough set for EC2.08:19
=== jelmer changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: jelmer | Firefighting: - | Critical bugs: 3.47*10^2
jelmerjtv: /memorable/ hostnames ? :P08:20
jtvjelmer: well I remember pikachu, and that's about the only pokemon I ever heard of.  So it seems to be working.08:20
jelmerthat's also as far as I get..08:21
jmljtv: also, not memorable. as a case in point, my code is running in production on machine named after an obscure fruit.08:21
* jelmer kind of likes the fact that canonical machine names make me learn more obscure English words08:21
jtvCome on, there has to be a way to re-pair my laptop to my bluetooth keyboard!08:22
* jml just had an idea08:23
jtvjml: well, what's the idea?08:25
jmljtv: it's pretty revolutionary08:26
jml(and magical)08:26
jtvCome on, cut to the chase!08:26
jmla table: Column 1 is 'machine name', Column 2 is 'list of services on that machine, in names that developers use to refer to them'08:26
jmlone of those per project08:27
jmland then there's none of this "could you please run X on foo-svc?", "sure. is that snuffleberry?", "I don't know, you deployed it."08:28
jtvThat would be nice, yes… we had something like that on the wiki, once upon a time, but I don't think it was maintained very actively.08:28
jtvI hate that situation.08:28
jmlme too.08:28
jmlI also hope that there isn't actually a machine called snuffleberry.08:29
jmlI've seen a couple of diagrams, and they do the job too.08:29
jmlbut they are a little trickier to maintain & grep.08:29
lifelessjtv: you mean if celery fails to dispatch ?08:30
jtvlifeless: yes08:30
jtvFor example, because the data won't serialize.08:30
lifelessjmm08:31
lifelessso, I'd have thought the django glue would do that immediately, and only defer the dispatch08:31
jtvThat would be nice, if possible.08:31
jtvMaybe it does.08:31
wgrantjml: But then you have the problem of services that have like 5 different names depending on who you ask :)08:32
wgrant(carob:~stevenk/name-to-service is pretty good for LP, though)08:32
jmlwgrant: well yeah, but one problem at a time.08:32
StevenKI didn't know anyone actually used it08:33
* nigelb notices the Critical bug count being less than 3.5 * 10^2.08:37
wgrantnigelb: That's a lie.08:39
wgrantThere's 402 open critical tasks08:39
=== wgrant changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: jelmer | Firefighting: - | Critical bugs: 4.0*10^2
nigelb:(08:43
nigelbI should have kept quiet and lived the lie08:43
czajkowskinigelb: dont comment :)08:46
cjwatsonStevenK: I actually started on a remove-delayed-copies branch last night, although wgrant's right that pocket queue admin needs to be done first.  Other things that come to mind are converting the +copy-packages UI to PCJs (can it perhaps use PCJs for everything now rather than having the dodgy "am I going to be able to copy synchronously" check?  is it possible to update the UI on the progress of a job?), and making ...09:37
cjwatson... Archive.syncSource start failing when it's asked to do a private->public copy that would require a delayed copy.09:37
cjwatson(Or perhaps convert Archive.syncSource to be asynchronous in that case, although that kind of violates its advertised contract.  Might be better to fail and get people to convert to Archive.copyPackage.)09:38
cjwatsonStevenK: Also I know that some bits of PCJs are hidden behind feature flags or disabled and I'd like to understand why.09:38
mgzjam: http://pastebin.ubuntu.com/1064002/09:39
cjwatsonAnd of course go through all the delayed copy tests and work out which of them might be sensibly converted to apply to direct-copies/PCJs.09:40
cjwatsonAh, the soyuz.copypackageppa.enabled feature flag is due to having no way to give feedback.  Anyone want to educate me on how that stuff might work?09:42
cjwatsonbigjools: In bug 575450, you offered mentoring for anyone who wanted to sort out feedback in PPA pages from the new async copying code.  I'm game, since this seems to get in the way of cleanup I've committed to do as part of feature work I've already done.  Do you think it could work in the same way as feedback from distroseries initialisation?09:46
_mup_Bug #575450: Archive:+copy-packages nearly unusable due to timeouts <lp-soyuz> <ppa> <qa-ok> <timeout> <Launchpad itself:In Progress by rvb> < https://launchpad.net/bugs/575450 >09:46
StevenKcjwatson: I'd prefer Archive.syncSource to fail, TBH09:46
cjwatsonStevenK: OK.  That obviously is definitely blocked on pocket queue admin, since we need things to be self-service for the security team before breaking what they're using now.09:47
bigjoolscjwatson: I am a little tired right now, just had twins, so if you can wait a couple of weeks I'll be happy to help09:47
cjwatsonbigjools: hah, congratulations!09:47
bigjoolsta :)09:47
cjwatsongo change one nappy with each hand or something then09:48
StevenKcjwatson: If the distroseries init stuff is making use of IDSJ, it can probably be used as inspiration09:48
cjwatsonStevenK: It is09:48
* StevenK heads off to pick up his wife09:48
cjwatsonThere's a thing where the job calls notifyUserError on failure and that pops up through distroseries-portlet-derivation.pt09:48
cjwatsonSo I can probably monkey-see-monkey-do that if it's broadly a usable approach09:49
bigjoolscjwatson: the plan was to have failed jobs showing on the page and to have someone ack them by deleting them09:49
bigjoolsanyway, cheerio09:49
cjwatsonHm, right, a bit different then09:49
cjwatsonr14665 seems to be a moderate-sized chunk of that09:52
cjwatsonrvba: Do you happen to recall what was left to do in bug 575450?  Your r14665 seems to be approximately what bigjools said above needed to be done09:53
_mup_Bug #575450: Archive:+copy-packages nearly unusable due to timeouts <lp-soyuz> <ppa> <qa-ok> <timeout> <Launchpad itself:In Progress by rvb> < https://launchpad.net/bugs/575450 >09:53
cjwatsonI wonder if it's just cleanup at this point ...09:53
mgzMr Reviewer Please: https://code.launchpad.net/~gz/launchpad/py27_xmlrpc_transport_timeout/+merge/11252809:59
cjwatsonrvba: If the UI does indeed now do what bigjools said it needed to, it is extremely tempting to propose something like http://paste.ubuntu.com/1064032/ for merging10:19
cjwatson(Does it matter if the DB has feature flags that are no longer referenced anywhere in code?)10:21
cjwatsonHm, OK, this runs headlong into bug 79500510:37
_mup_Bug #795005: Asynchronous PPA copying with default series OOPSes <oops> <ppa> <Launchpad itself:Triaged> < https://launchpad.net/bugs/795005 >10:37
StevenKcjwatson: If the DB has feature flags that no longer referenced, they should be removed.10:40
cjwatsonStevenK: Right, but will it make anything fail if they aren't - that is, are there deployment considerations in landing patches that remove feature flags?10:43
StevenKcjwatson: Right, so I've in fact just done this.10:44
wgrantcjwatson: It's fine to remove the code first.10:45
StevenKcjwatson: r15494 drops two related feature flags from the code.10:45
wgrantcjwatson: Nothing breaks if there are unknown flags set.10:45
wgrantOr unknown scopes10:45
wgrantetc10:45
StevenKcjwatson: I was going to ask that the two flags be removed from prod tomorrow morning.10:45
cjwatsonCool.10:50
jamjelmer: mr reviewer, if you please: https://code.launchpad.net/~jameinel/launchpad/py27-parse-response-1018768/+merge/11253710:51
=== matsubara is now known as matsubara-lunch
lifelesscjwatson: flags were designed to fit a relaxed workflow12:02
lifelesscjwatson: vs lazr.config which is designed to fit a strict, but high latency work flow.12:03
czajkowskilifeless: have you come across this issue or is there a step missing ?https://answers.launchpad.net/launchpad/+question/20167812:12
jelmerczajkowski: he should add a release, that's the way to add downloads12:15
czajkowskijelmer: ahh I see12:15
czajkowskiconfusing me aslso12:15
czajkowskithanks12:15
cjwatsonSounds like an opportunity to improve the docs then :-)12:15
jelmerczajkowski: I've replied on the question page12:16
czajkowskijelmer: ack, I can view his screen shot so can see his point12:16
czajkowskicjwatson: indeed12:16
=== matsubara-lunch is now known as matsubara
=== mrevell_ is now known as mrevell
=== Nigel is now known as G
cjwatsonrvba: Also, is it possible that your r14665 fixed bug 812869?  It certainly looks as though it should have done12:56
_mup_Bug #812869: Failed PackageCopyJobs should show up on the PPA page somehow <derivation> <ppa> <Launchpad itself:Triaged> < https://launchpad.net/bugs/812869 >12:56
rvbacjwatson: let me refresh my memory and have a look at the revision and the bug in question :)12:58
rvbacjwatson: that would make sense indeed.  Also, what I've done in my branch is exactly what Julian suggests to do in the description of the bug, for that type of error that is (if the target archive is a ppa).13:03
cjwatsonYeah, that's what I thought13:12
cjwatsonDifficult to easily try it at the moment since async copies are disabled13:12
cjwatsonSpeaking of which:13:12
cjwatsonjelmer: Oh hi Mr. OCR.  Fancy having a look at https://code.launchpad.net/~cjwatson/launchpad/copy-packages-with-default-series/+merge/112557 ?13:12
jelmercjwatson: yep, I'll have a look13:14
cjwatsonI *think* that should let us re-enable async copies in the UI.13:14
cjwatsonAssuming there are no other lurking undocumented reasons.13:14
deryckMorning, everyone.13:21
rick_h_morning13:22
jamcjwatson: I'd like to have a chat with you sometime about how we can get some of the 'when is it safe to cleanup files' policies encoded into Launchpad, rather than having them be as ad-hoc as they are now.13:30
cjwatsonMm.  Well, at the very least it seems as though it ought to be a script in the tree that web0ps can run, rather than it being ad-hoc pastebins.13:33
deryckadeuring, https://plus.google.com/hangouts/_/f9d8daf3da1ea6e3b6c53ff8ed10332dbde5899c?authuser=0&hl=en13:34
cjwatsonUnfortunately the fact that PES have a habit of relying on obsolete distroseries after Ubuntu stops supporting them, and we have to confirm with them that they no longer care, makes it difficult to do it all automatically.13:34
jmlI just hit a timeout loading my branch page :(13:34
jamcjwatson: PES?13:47
jamalso, we can make it manual as much as "we've confirmed it is ok to nuke N, do it"13:47
cjwatsonThe division formerly known as OEM13:48
jamso there is a bit of manual step in there, but all of the validation that we're doing is mostly already done inside launchpad, we just have to realize if we can trust it.13:48
mgzlib/lp/services/doc/timeout.txt seems appropriately named13:49
=== jcsackett changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: jelmer,jcsackett | Firefighting: - | Critical bugs: 4.0*10^2
rick_h_jcsackett: feel like some JS in the morning? https://code.launchpad.net/~rharding/launchpad/bug_yui35_two13:52
jcsackettrick_h_: sure.13:53
jcsackettrick_h_: it's only because i want these changes landed that i'm not going to yell about diff size. :-P13:55
rick_h_jcsackett: well, don't let it fool you, it's 98% "tab over all the linse"13:55
jcsackettrick_h_: yeah, i'm seeing that. i'm just giving you a hard time, anyway. :-P13:56
rick_h_:) I'll send the 'gift beverage' later13:56
rick_h_hopefully I'll have one more of these before EOD13:56
* jcsackett laughs at "gift beverage".14:00
jcsacketti wish diffs were smarter about tabovers.14:01
jcsackettrick_h_: how many tests have you seen in YUI land that rely on .wait() in some form?14:07
jcsacketti'm vaguely concerned about those in relation to gary_poster et al's info regarding tests with programmed delays being problematic for parallel testing.14:08
rick_h_jcsackett: in our code?14:08
jcsackettrick_h_: yeah.14:08
* gary_poster on call14:08
rick_h_there's a solid handful I think, but I think most of that stuff has started to get 'skipanimation' flags and such to help clear that up14:08
jcsackettrick_h_: okay, cool.14:08
rick_h_I've not gone through everything though so can't say for sure14:09
jelmercjwatson: check_copy_permissions properly checks with the source distroseries of each spph if none is specified explicitly; however, copy_asynchronously uses the dest_series of the first specified spph for all specified spphs if no distro_series was explicitly specified.14:16
jelmercjwatson: apologies for the abundant use of the word specified in that sentence..14:17
ivoryjelmer: could you take a look at this please? https://code.launchpad.net/~ivo-kracht/launchpad/bug-436663/+merge/11257614:25
jelmerivory: yep14:25
ivoryjelmer: thanks14:25
vilagmb: for your pleasure https://code.launchpad.net/~vila/launchpad/py27-mail-header-continuation-lines/+merge/11257914:37
=== Ursinha` is now known as Ursinha
sinzuijcsackett, do you have time to review https://code.launchpad.net/~sinzui/launchpad/bug-tag-completions/+merge/11258014:40
jcsackettsinzui: sure.14:40
cjwatsonjelmer: Oh, yes, I see what you mean (after some thought)14:43
cjwatsonjelmer: Fixing14:44
gary_posterjcsackett, I see I was mentioned in passing.  Thank you for keeping that in mind!  The biggest thing is to make sure that you allow for a testing machine being much, much slower than you expect.  We don't want the tests to hang forever, but if it passes in a really long time because of contention on [X random thing I wish I knew but is not apparently RAM, CPU or I/O] then we'd rather give it a nice long while to try14:44
gary_poster and let it pass.14:44
cjwatsonjelmer: OK, fixed now14:45
cjwatsonEr, modulo pushing (pushed now too)14:45
cjwatsonStevenK: A bit to go, but very provisionally the gain from removing delayed copies looks like 1160 LoC14:48
ivorysinzui: jelmer said a ui reviewer should take a look at this and since you are the only one, could you? https://code.launchpad.net/~ivo-kracht/launchpad/bug-436663/+merge/11257615:01
ivorysinzui: i attached a screenshot to the bug description15:01
rick_h_sinzui: so you can set a CSS name override on extending a Widget: http://yuilibrary.com/yui/docs/api/files/widget_js_Widget.js.html#l9515:02
* sinzui looks15:02
rick_h_sinzui: not sure if that helps you with the issue in your MP addendum15:02
sinzuirick_h_, !15:02
sinzuirick_h_, I bet it does.15:02
cjwatsonivory: Fixing that bit of lint would just amount to deleting one line; I'm not a reviewer but IMO you might as well do that15:02
* sinzui wonders how quickly he ca rewite the widget again15:02
rick_h_sinzui: heh, you want me to look over the rest here?15:03
sinzuirick_h_, please do.15:03
sinzuiivory, that is a good improvement.15:04
ivorysinzui: i was a little bit concerned about the little gap next to the bug icon but i have no idea how to fix that15:05
sinzuiivory, one of the links is not using a sprite properly15:06
* sinzui looks at code15:06
sinzuiivory, this looks like one of the macros is bad, but fix it would require a review of many pages that use the macro15:08
sinzuiivory, few mp reference both blueprint and bug, so the issue will rarely be visible15:08
ivorysinzui: so its ok for now?15:09
sinzuiyes15:10
ivoryok then thank you for helping me15:10
jcsackettsinzui: r=me, but there's a short style note on the MP.15:14
sinzuithanks15:14
jcsackettyw.15:14
cjwatsonjelmer: Thanks for the review.  I thought that test_copyPackages_with_default_distroseries was exactly such a test, or am I misunderstanding you?15:15
cjwatsonIt creates two SPPHs with different distroseries, and copies both with to_series=None.15:16
jamcjwatson: we're trying to sort out https://answers.launchpad.net/launchpad/+question/19481715:17
jamI think we've unblocked ubuntu translations to open Q for translations, but it is pending DPM actually exposing Q to users15:17
jam(specifically, unchecking the Hide translations for this release box)15:17
jamI haven't seen dpm around in about a week, so I don't know if there is something blocking. Do you know anything about it?15:17
jamjtv said that the import queue looked good15:18
cjwatsonjam: Right, thanks.  From my point of view the question is a fire-and-forget notification which I am required to emit as part of NewReleaseCycleProcess but otherwise don't care much about. :-)15:18
cjwatsonI don't know anything about dpm's status on it.15:18
jamczajkowski: then I think we can close the question15:18
jamas we took his info, and did our part of it15:18
james_wdpm is on vacation15:19
rick_h_sinzui: couple other suggestions but good stuff!15:19
jelmercjwatson: ah, that's true..15:19
sinzuithank you15:19
jelmercjwatson: did that test fail before r15510 ?15:19
james_whe's back in 7 days15:19
czajkowskijam: grand will do thanks15:19
rick_h_jcsackett: heads up, YUI3.5 doesn't like the selector stuff [id=field.name], it has to be in quotes in 3.5 [id="field.name"]15:19
jcsackettrick_h_: i was gathering that from your updates.15:20
rick_h_jcsackett: so any time we can catch that now the better15:20
cjwatsonjelmer: No - that comes under my comment in the MP about not adding a browser test because there's one that fails already once I remove copy_synchronously15:20
cjwatsonjelmer: I can try to figure out if *that* test would have failed before r1551015:20
rick_h_jcsackett: yea, I've got a google doc with the new things to watch out for. Going to get a bit farther before I wiki/send that out to the list15:20
cjwatson(Too many branches!)15:20
cjwatsonAnd for that matter I ought to test that the failing test passes with r1551015:21
jcsackettgary_poster: ok, i think most of our tests in YUI have a fair bit more padding than they need, so perhaps they'll be alright. and as rick_h_ has mentioned, we're slowly removing a lot of the need for delays anyway.15:23
gary_posterawesome15:24
cjwatsonHm, it doesn't check for the bug fixed in r1551015:24
cjwatsonjelmer: OK, let me stop trying to dodge it and see if I can figure out how to add a proper browser test or two here15:24
jcsackettrick_h_: ah, i see your comments on sinzui's diff. now i understand you're highlighting it. good catch, and thanks.15:25
rick_h_jcsackett: yea, just pushing the word out since you're reviewing/doing JS stuff. I know I hit up a review for ian bringing it up as well15:25
jcsackettrick_h_: yeah. there's a slight mental lag in realizing something is needed and applying that to reviews. :-P15:26
jelmercjwatson: okay, great15:26
cjwatsonjelmer: Perhaps I should convert at least some of archive-views.txt to unit tests while I'm at it ...15:27
cjwatsonI'm rarely confident that I can extend doctests without either (a) breaking something or (b) wanting to shoot myself to ease the pain15:28
jelmercjwatson: You should get some kind of public service medal if you did that.. :)15:28
cjwatsonI assure you it's entirely selfish15:28
jelmercjwatson: I'm mostly concerned about corner case bugs, so as long as the test coverage is decent I'm happy15:29
cjwatsonYeah, me too15:29
cjwatsonSince I'm trying to accelerate making the async copy stuff the only path15:30
cjwatsonOne of those things in Launchpad where it looks like it's been about 90% done15:30
sinzuijcsackett, I will make the changes you ask, but I am not being pythonic. That function is an method argument ending in ");"15:31
sinzuijcsackett, it would be more obvious if I defined the function first, then passed it to the method15:32
jcsackettsinzui: well, i see that one is a creation call, one is an event call binding, and one is a function def. my understanding was that for all of those closing at the same tab level as the start, rather than the enclosed, was preferred.15:34
jmlwtf15:34
jmlanother timeout15:34
jcsackettsinzui: if i'm wrong as goes JS style (or LP's version of it) i'm happy to be told so. :-)15:34
sinzuijcsackett, js hackers have inconsistent style because JS does not require it, and encourages anonymous inline definition to manage scoping. I am very consistent since I know that how I wrote my method calls will not change if I choose to no use anonymous functions15:36
jcsackettsinzui: fair. we should probably at some point then figure out a rule for consistency's sake in our code. but it's not terribly important if you're aginst it -- rick_h_'s points are definitely more key.15:38
rick_h_sinzui: yea, I think in JS you always tend to have at least one closing }; lined up with the start of a block15:40
rick_h_ime that is15:40
rick_h_but you're right that it's more of a practice thing than something jslint, etc will yell about15:40
rick_h_ummm, jcsackett did I ever tell you that you're a great co-worker? https://code.launchpad.net/~rharding/launchpad/bug_yui35_three/+merge/11259015:47
* rick_h_ runs to go fetch some lunch far far away15:47
jcsackettright, everyone else? rick_h_ is why your MP is not being looked at today. blame him.15:52
* jcsackett settles down to a long review.15:52
rick_h_jcsackett: it was only 3 files? not my fault there are nearly 4k long JS files in the tree15:52
rick_h_jcsackett: these are even fewer changes than the earlier set15:52
jcsackettrick_h_: yeah, it doesn't actually look that bad.15:53
jcsackettbut diff size: 7000 has a way of setting one back on one's heels. :-P15:53
rick_h_yea :/15:54
rick_h_makes you feel better, I wasn't going to do a _four, but kind of have to15:54
jcsacketteh, i don't really need to be made to feel better. the only real problem with these branches is that the diff ordering makes it impossible to tell what's just indenting and what's an actual new line.15:55
rick_h_only new lines shold be the top of the files15:55
jcsackettrick_h_: ah, that makes things easier, then.15:56
rick_h_I'm really only changing the top 20 lines of files, and indenting the rest. Oh and each suite.add is now tests.suite.add15:56
rick_h_in this one I had the s/LPClient/Y.lp.testing.helpers.LPClient to fix that bug/code dupe15:56
rick_h_I'll try to note explicitly in the next one.15:57
czajkowski8/c15:58
mgzjam: bug 1018905 filed16:01
_mup_Bug #1018905: lp/services/doc/timeout.txt hangs in Python 2.7 <python-upgrade> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1018905 >16:01
gmbvila, http://paste.ubuntu.com/1064552/. The failure is somewhere before line 266416:05
rick_h_sinzui: can you hit up #315 of the updated MP ?16:12
rick_h_sinzui: sorry, the id=field quotes16:14
sinzuiruse16:14
sinzuisure16:14
gmbgary_poster, jelmer just found our problem: lp.codehosting.codeimport.tests.test_worker.TestBzrImport.test_unsupported_feature  starts but never (apparently ) finishes.16:14
gmbKeeping that test: line gives you 17 tests (not parsing out all the crud we parsed out). Removing it gives you 800-something.16:16
gmbWill poke at it properly tomorrow.16:16
gmbgary_poster, http://paste.ubuntu.com/1064576/ is the subunit stream. The test is at line 70.16:16
jelmergmb: bug 50780416:37
_mup_Bug #507804: damaged streams may not be obvious <subunit:Triaged> < https://launchpad.net/bugs/507804 >16:37
cjwatsonwgrant: I believe I have fixed https://code.launchpad.net/~cjwatson/launchpad/custom-uefi/+merge/111626 in light of your configuration comment, by handling this in publisher configuration as well.  Do you think this is a better approach now?16:37
gmbgary_poster, See that bug that jelmer just pasted ^^16:38
gmbFun times.16:38
=== matsubara is now known as matsubara-afk
gary_postergmb :-) .  I don't see how that subunit bug will be fixed, exactly.  makes the whole thing fragile, but...not sure what else subunit could do other than various heuristics.  Meanwhile, we should fix that test, and then hopefully we'll be ok.  There may be other tests like that though--note that other workers seemed to be generating the "unknown worker" tests too.17:07
cjwatsonjelmer: I've added that test now (though I gave up on the unit test conversion, sorry :-)  I found some relevant tests that were already unit tests instead) and will land that shortly.  Thanks for the feedback.17:51
cjwatsonjelmer: (And the new test failed before r15510)17:52
jmldid anyone here just expire launchpadlib 1.6.0 on pypi?17:56
jmlcause now I can't 'pip install launchpadlib==1.6.0'18:05
jmlwhich means I can't have a virtualenv that reliably looks like lucid18:06
rick_h_jml: yea, and not seeing it on crate.io either.18:09
rick_h_jcsackett: last one https://code.launchpad.net/~rharding/launchpad/bug_yui35_four/+merge/11260918:19
jcsackettrick_h_: on it.18:34
jmlalso oauth is missing18:37
jcsackettrick_h_: r=me.18:45
rick_h_jcsackett: ty much.18:46
sinzuideryck, rick_h_Do either of you have any insight into why I cannot between the items in a choicelist? For example I open bug status, the close button is focused. I cannot tab to the items in the list...though I know all but one is a anchor.18:55
rick_h_sinzui: looking18:57
rick_h_sinzui: sinzui can you tab outside of a form?19:01
sinzuiwell...19:01
rick_h_I'm trying to find something that confirms/denys this but no luck yet19:02
derycksinzui, I recall some bug about this before too.  Seems like we used tabindex to fix it.19:03
rick_h_right, the tabindex docs don't state if they only work inside of forms or not19:03
sinzuirick_h_, no but I just hacked the picker to add tabindexes to the anchors tabbing from the close button goes to the top of the page (leaving the overlay) then eventually returns to 2 of the link many links listed19:03
rick_h_http://www.w3.org/TR/WCAG20-TECHS/H419:03
sinzuithis is madening19:04
rick_h_sinzui: right, but what's the order on the tabindex?19:04
rick_h_it works on dom order by default, so top of the page makes sense19:04
sinzui0 for the button, 1-n for the items in the list19:04
rick_h_try setting 0 on the close button and then 1+ for the links19:05
sinzuisorry, isn't that what I did?19:07
sinzuiah The links to have the tabindexes, but the button did not stick.19:08
* sinzui looks19:08
rick_h_sorry, when you said 0 for the button didn't follow19:08
sinzuirick_h_, I don't appear to be setting tabindex="0" on the close button. There is no error, maybe I added it to some other overlay's button. The link do have a sequence on tabindexes19:16
rick_h_sinzui: yea, and tested that it works sans form no problem19:17
rick_h_so must be a matter of getting the order/relationship going with the rest of the page noise19:17
sinzuiMaybe I should start the index at 100,00019:18
rick_h_hah, there you go19:18
rick_h_so is there some code in the widget setting focus on the close icon?19:19
rick_h_ah yea, there it is19:19
sinzuiyes, after we render we position and set focus...19:20
sinzuibut that is also were I decided to add the tabindex and it does not show19:20
rick_h_using set or setAttribute?19:20
sinzuiI think I need to step through the code to see if I enter that method19:20
rick_h_try setAttribute vs just set('tabIndex')19:20
rick_h_but yea, debugger to make sure you're hitting. If the close button has focus though I'd assume it must get hit19:21
sinzuiah19:21
rick_h_so as a user, I'd think we'd focus on the first choice, and then end on the close button19:21
sinzuidamn it19:21
sinzuiI am a moron19:21
sinzuiI amde the same mistake last week19:21
rick_h_heh, if you're a moron I give up man19:21
rick_h_man, maybe I'll tinker with this widget. Would be so nice if it supported esc for close, tab through, enter for selection19:22
rick_h_totally should be doable looking at the code19:22
sinzuirick_h_, that is exactly what I want to solve19:23
rick_h_ah, very cool19:24
sinzuiI cannot use keyboard to report a bug anymore because the new widgets are missing keyboard support19:24
rick_h_so yea, what I'd do is focus on the first selection item, set tabIndex on all of them, and add a keyUp listener to the bindEvents19:24
rick_h_handling close, select, etc via the event keycode19:24
sinzuiyep19:25
sinzuithere is another bug some where about subscriber overlays not dismissing on esc. I was going to look at that too19:26
rick_h_I've got to run, but let me know if setting a large tabindex with setAttribute works out. I'm curious if hte browser picks up on dynamic index settings19:26
lifelessczajkowski: hi sorry was waaay ED20:08
lifelesscjwatson: btw, user confusion -> we should fix the product, *then* fix docs ;) - ideally. but we may have to do docs as a stopgap.20:08
cjwatsonlifeless: well, quite - but both of those before answering the question but doing neither20:22
cjwatson(which is a tremendously easy thing to fall into, guilty as charged)20:22
lifelesscjwatson: +1 :)20:31
lifelessjames_w: did that pypi weirdness get resolved ?20:58
james_w`lifeless, somewhat21:26
james_w`lifeless, there's probably a message in the canonical-launchpad moderation queue21:26
=== james_w` is now known as james_w
=== jcsackett changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: 4.0*10^2
james_wso you guys can't see my response because I'm not subscribed to canonical-launchpad, and we can't see sinzui's response because he's not subscribed to consumer-applications, hilarity ensues22:32
sinzuiha ha22:32
sinzuiInstead of having mailing lists, Lp, could offer conversation on demand. You start one, invite users and teams, and we let the thread end in a few days22:33
james_wsinzui, was there anything in your response that can't wait until tomorrow?22:35
sinzuino22:36
mwhudsonjames_w: i can give you my notmuch invocations that make subscribing to canonical-launchpad painless :)22:36
james_wheh22:36
james_wsinzui, ok, thanks22:36
mwhudsonmostly NOTMUCH tag -inbox -unread tag:inbox from:script-failures@launchpad.net22:36
mwhudsonoh and something for oops summaries too22:37
sinzuijames_w, I suggested using the series which is often more accurate https://launchpad.net/launchpadlib/trunk22:37
james_wah, ok22:39
james_wI don't know if we can do that in setup.py22:39
* StevenK peers at buildbot.22:56
spms/peers/stabs/23:21
StevenKThat would be nice.23:21
wgrantcjwatson: Let me see...23:48

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!