/srv/irclogs.ubuntu.com/2011/10/25/#launchpad-dev.txt

wgrantlifeless: Sure.00:00
lifelessskype?00:00
wgrantsec00:00
=== _mup__ is now known as _mup_
lifelesswgrant: http://www.salmon-protocol.org/00:21
wgrantOOPS reports MIA?02:26
wgrantLOL02:26
wgrantDate: Tue, 25 Oct 2011 02:26:19 +0000 (UTC)02:26
lifelessask and ye shall receive02:27
wgrantHalf an hour late :/02:27
wgrantwallyworld: Ahh, I think I see now why canAdd*Task ignored the current privacy status.02:38
wgrantSo that AJAX privacy changes show/hide them?02:38
wallyworldwgrant: yes02:39
wallyworldbut it works either way02:39
wgrantHuh, does it?02:39
wgrantIf the bug is public and I make it private by AJAX, the links will not disappear.02:39
wallyworldhmmm. maybe not, i've confused myself02:39
lifelesswallyworld: quick question on bugtask deletion02:40
wallyworldno, i think it works. if it is private, a css class gets added to the links02:40
lifelesswallyworld: do you guard against deleting the last non-series bug (in a given context) ?02:40
wallyworldwgrant:  and the css rule then hides those if body.private is true02:40
wgrantA comment explaining this would be handy.02:41
wgrantThat the hiding is done through CSS based on body.private.02:41
wallyworldlifeless: perhaps not. i guard against deleting the last task02:41
wgrantwallyworld: And if it's not private, then the link class doesn't get added.02:41
wgrantwallyworld: So if I make it private later, the links won't hide until I refresh the page.02:41
wallyworldwgrant: ok, i'll add a comment somewhere, perhaps in the tales02:41
lifelesswallyworld: hopefully we'll do seriesonlytasks (or decide we won't do that at all), but I think we should, until then, honour the data model02:42
wgrantBefore you changed it after my suggestion, this worked.02:42
wgrantlifeless: Which data model?02:42
lifelesswallyworld: you cannot create a bug with only series tasks today02:42
wallyworldwgrant: ah, that's why i left out the public check02:42
lifelesswgrant: ^02:42
wgrantlifeless: That's true, but only because our API is terrible.02:42
wallyworldwgrant: i'll revert that change02:42
lifelesswgrant: no, and we went round this a fortnight back02:42
wgrantwallyworld: Revert the change, but add comments :)02:42
wallyworldwgrant: yes, sure. i knew how it worked but got myself confused02:43
wgrantlifeless: It's true that you can't obtain a bug with only series tasks, but you can create orphaned series tasks.02:43
lifelesswgrant: retargeting a non-conjoined non-series task ?02:44
wgrantlifeless: Right.02:44
wgrantOr through legacy.02:44
wgranteg. bug #4315002:44
_mup_Bug #43150: [SRU] maxima frontends fail to connect <wxmaxima (Ubuntu):Fix Released> <gcl (Ubuntu Dapper):Fix Released by wgrant> <maxima (Ubuntu Dapper):Fix Released> < https://launchpad.net/bugs/43150 >02:44
lifelessouch02:44
lifelessso, I'm merely saying that the current UI and docs and queries assume this isn't the case02:44
wgrantWe discussed this some months ago, remember? :)02:45
lifelesswe've fixed it a bit02:45
wgrantAnd we agreed that it was reasonable to allow.02:45
lifelessI recall agreeing that it exists and we need to handle it gracefully02:45
lifelessit seems to go against the intent of the conjoined work to encourage it02:45
wallyworldlifeless: wgrant: so, do i need to make a change to the deletion check? or leave it as is? ie i simply disallow deleting the last task02:45
wgrantlifeless: Which conjoined work?02:45
lifelesswgrant: the original :)02:46
wgrantDisregard that.02:46
lifelesswallyworld: I'm torn, on the one hand there is an escalated bug which would be solved by having non-series-less bugs02:46
lifeless(SRU's)02:46
lifelesswallyworld: on the other hand this will make those bugs unique and inconsistent with the vast majority of the rest of the system02:47
wgrantThat's true.02:47
wallyworldi'm all for consistency :-)02:47
wallyworldunless there's a really good reason02:47
wgrantWe're sitting just before a number of major model reworks.02:47
lifelesswallyworld: tightening the check up a little would aid consistency in the short term. Like I say, I'm torn.02:48
lifelessI don't *know* that we'll get fallout from having the check looser than the rest of the UI/model behaviour02:48
lifelessI don't *know* that its safe either given how few examples of series-less bugs we have02:48
wallyworldlifeless: so if i create a bug with target=launchpad project, isn't that a series-less bug?  product series = trunk may be implied but the BugTask  object simply references the project, no?02:51
lifelesswallyworld: yes, I said non-series-less bugs02:51
lifelesswallyworld: its not a double negative!02:51
lifelessmake a bug on launchpad02:51
lifelessnominate to a series other than trunk02:52
lifelessdelete the non-series task leaving only the newly nominated task02:52
wallyworldah, ok. i did discuss this with wgrant and he should me how this is now handled in the ui (a recent change) so it was thought that it is ok to procede02:53
wallyworlds/should/showed02:54
StevenKlifeless: You made a comment on an MP of mine yesterday -- I couldn't find anything in my grep'ing, and Curtis couldn't remember anything like that -- happy to be pointed at something.02:54
lifelessStevenK: which MP ?02:54
lifelesscould someone run bin/test -vvt BranchChangedErrorHandling02:54
StevenKlifeless: https://code.launchpad.net/~stevenk/launchpad/extend-subscription-check/+merge/8017302:54
lifelesstell me if it has any test stiplle (unusual output)02:54
lifelessStevenK: ah no, I was noting the abstraction leaks in passing02:55
lifelessStevenK: if there isn't something, there isn't (but perhaps you should create one)02:55
StevenKlifeless: http://pastebin.ubuntu.com/718460/02:55
lifelessah good, I haven't messed up the branch02:56
lifelessthanks02:56
lifelessOTOH test noise fail02:56
StevenKAgreed02:56
lifelessgrr!03:04
lifelesstests fail in ec203:04
lifelessdon't fail here.03:04
* lifeless hates 03:04
mwhudsonisolation fail?03:05
lifelessmwhudson: presumably03:05
lifelessmwhudson: its my use-oops-twisted branch FWIW03:05
mwhudsonbet it's a thread local :-P03:05
lifelessmwhudson: if by that you mean a utility....03:06
lifelessmwhudson: then I won't take the bet :)03:06
mwhudsonheh03:06
StevenKwgrant: Mr OCR, do you feel like reviewing https://code.launchpad.net/~stevenk/launchpad/extend-subscription-check/+merge/80173 ?03:06
lifeless\o/03:07
lifeless    1173  OOPS-2123ED1193  BugTask:+nominate03:07
wallyworldwgrant: i've updated the comments in that branch03:07
lifelessmwhudson: fortunately the culprit is in the previous 100 or so03:16
lifelessmwhudson: \o/ subunit and \o/ --load-list03:16
lifelessmwhudson: testworkermonitorrunnoprocess.test_failure03:19
mwhudsoni guess the oops system doesn't even store state in thread locals, but on disk instead03:20
* mwhudson goes to collect the car after its wof03:20
lifelessmwhudson: IErrorReportingUtility03:20
lifelessmwhudson: utility & global, for the combined win of brain-fuckage03:21
mwhudsonoh yes03:21
lifelesswhich isn't isolated by the default machinery03:23
lifelessso reconfiguring that utility -> boom03:23
lifelesswas a foot gun by me in the branch, but still. FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU03:23
StevenKHow do I get the HTML out of a view?03:49
StevenKview = create_initialized_view() ; html = view() ; I thought?03:49
lifelessStevenK: test_request_daily_build_oops03:52
StevenKWhat about it?03:52
lifelessStevenK: would you happen to know why it generates two oopses, not one, when it only creates one test recipe ?03:52
StevenKNope03:52
lifelessah well, thanks03:52
StevenKI didn't touch that bit of r-d-b03:53
lifeless(another reason why getLastOops causes headaches)03:53
lifelessgrr03:54
lifelessLaunchpad encountered an internal error during the following operation: generating an incremental diff for a merge proposal.  It was logged with id OOPS-2124MPJ1.  Sorry for the inconvenience.03:54
lifelessreally must track that down. its getting tiresome03:54
StevenKlifeless: *Please*03:56
lifelesshah03:58
lifelessit was logging at exception level03:58
lifelessand manually raising03:58
lifeless*fixes*03:58
poolielifeless: non-urgent review some time on https://code.launchpad.net/~mbp/testscenarios/module-scenarios/+merge/8028704:00
lifelesshmm04:07
lifelessI don't think job retries should generate oopses04:07
lifelessstill, ESCOPE04:07
StevenKview() is returning "" :-(04:08
wgrantStevenK: It probably relies on being executed inside a METAL template.04:08
StevenKview = create_initialized_view(team, '+index')04:08
wgrantRight, Person:+index can't be used that way.04:08
lifelessugh, and job running also generates 2 oopses per error04:09
* lifeless files an XXX04:09
StevenKJust remove the job system04:10
StevenKPlease04:10
StevenKwgrant: Thank you for the approve. If you want to help me collapse those two queries into one, that sounds excellent.04:11
wgrantStevenK: Find any bugs that are private and there is a subscription or an assigned task.04:11
lifelessbeware over-combining04:13
lifelesse.g. test the performance of separate vs together04:14
StevenKwgrant: If I can't use Person:+index in create_initialized_view(), what should I be doing?04:14
poolieis bug 871596 really still open? is there any workaround?04:19
_mup_Bug #871596: Not handling administrative shutdown under Oneiric <build-infrastructure> <librarian> <Launchpad itself:Invalid by allenap> <Storm:In Progress by allenap> < https://launchpad.net/bugs/871596 >04:19
huwshimiDo we have any code for generating thumbnails in Launchpad?04:43
lifelesshuwshimi: probably not, depending on what you are meaning04:44
huwshimilifeless: I'm investigating whether we can show small versions of images that are uploaded to Launchpad (e.g. for images attached to a bug). For that we need some code that resizes and probably caches the image.04:47
huwshimilifeless: I'm guessing such code probably doesn't exist04:47
poolie!!04:48
pooliethat'd be nice04:49
lifelesshuwshimi: its been written many times :)04:51
lifelesshuwshimi: this is a perfect candidate for a separate service, it should be a fairly small amount of work to do it04:51
lifelesshuwshimi: librarian for storage, separate link in the bugattachment to the thumbnail, backend to process and upload04:52
lifelessI don't think we're at the volume to need e.g. haystack yet04:52
lifelessbrb04:53
huwshimilifeless: (for when you get back) how long might this take (roughly)? A couple of days, a week?04:57
poolie:) i like your estimation scale04:59
huwshimipoolie: If it's outside that scale, it's not ever happening :)05:01
huwshimipoolie: actually if it's outside of a couple of days it's probably never happening05:02
poolie:)05:02
pooliethat was my concern about markdown :)05:02
pooliei suspect you could write it in under a week but it would take a while to get deployed05:03
huwshimipoolie: Wow, you think there's a week's worth of work for the first stage of markdown?05:04
pooliei think for it to succeed it would have to be tightly scoped so that you could get something done in under a week05:04
pooliehave there been any LEP/feature type things ever done in less than a week?05:05
huwshimipoolie: That's pretty depressing really05:06
lifelesshuwshimi: week(s)05:07
huwshimilifeless: Ok, sure05:07
huwshimilifeless: That also is very depressing05:07
lifelesshuwshimi: you need two schema changes (add field, index it).05:07
poolielifeless: re bug 878140, does logging a warning inherently generate an oops?05:07
_mup_Bug #878140: process-mail.py failed to resolve dns. Raised NXDOMAIN <dkim> <oops> <Launchpad itself:Triaged by mbp> < https://launchpad.net/bugs/878140 >05:07
lifelesshuwshimi: then you need a job to walk things that need doing them and do it05:07
pooliecould https://lp-oops.canonical.com/oops.py/?oopsid=2116INBOUNDEMAIL2 have come from that?05:08
lifelesshuwshimi: lastly you need the actual image resizing code itself (and I would make it a microservice for reusability)05:08
huwshimilifeless: Ah, so writing the code wouldn't take a week or more, just the whole process?05:09
lifelesshuwshimi: yes05:10
pooliehuwshimi: another option is to just serve the whole image and rely on the browser to resize them05:12
pooliefor version 005:12
huwshimilifeless: But maybe close to a week for the code?05:12
lifelesspoolie: see OopsHandler in the codebase. (short story -yes, warnings -> things we need to see -> OOPS)05:12
pooliei see, and it logs the last exception?05:12
lifelessyes05:13
huwshimipoolie: We could, but that would mean loading some rather large images at times05:14
poolieyep05:14
lifelesshuwshimi: the code duration could be a matter of hours, depending on soft things like 'minimum time to get the image resized' and 'do we need parallelisation'05:14
lifelesshuwshimi: there is lots of latency in the landing story today: 4 hours for the column through ec2, 4 hours for it through buildbot, then wait for a fastdowntime window.05:15
lifelesshuwshimi: then for the index on the column, 4 hours for ec2, 4 hours for buildbot, then apply live05:15
lifelesshuwshimi: then for the background job to grab and resize, 4 hours for ec2, 4 hours for buildbot, then wait for a nodowntimedeploy05:16
huwshimilifeless: I'm really trying to judge whether this is something that I want to do myself. If it was something that I could code in about 2 days that would be an ok use of my time, if it was much longer, probably not05:16
poolielifeless: ok so like https://code.launchpad.net/~mbp/launchpad/878140-dkim-nxdomain/+merge/80289 ?05:17
lifelesshuwshimi: and for the image resizing aspect, depending on whether the dev inlines it (simple but grows the LP codebase) or makes a service (more initial overhead, easier management and tuning thereafter) the same ec2 etc, or the delay with LOSAs to get a new service deployed.05:17
huwshimilifeless: So there's no window for actually getting it deployed05:17
pooliehuwshimi: i think it depends a bit how much you want to learn how to write microservices in lp05:17
poolieetc05:17
lifelesshuwshimi: like most things in LP, its going to touch the whole vertical stack: db, deployment, middleware, object model, security rules, interfaces, and thats ignoring whatever template/js changes you want to support the UI05:18
huwshimipoolie: Well I would want to do it in a useful way, I also don't want to over optimise05:18
lifelesshuwshimi: I would say, if you're fairly familiar with that vertical stack, then yes, the actual coding aspect could be <= 2 days. If you're not, you'll spend considerable time fumbling and learning (which is perhaps good in its own right)05:19
huwshimilifeless: Right, so I'm interested in getting to delve into the code base a bit more, I'm not sure building a whole service would be a good thing to start with05:20
lifelesshuwshimi: yes, its hard to find truely small-but-involves-learning things in LP05:25
lifeless:(05:25
huwshimilifeless: haha, yes05:25
pooliemaybe we can quasi-pair on md?05:28
poolielifeless: thanks for the review05:28
pooliewould it be easy to add a test saying "this doesn't oops/warn"?05:29
lifelesspoolie: sure, you need to use one of the logging test helpers, simulate the situation, and check that nothing was logged at or above WARN05:33
lifelessof course, this is vulnerable to skew, as we're assuming that OOPSHandler won't be given a level= parameter when its added in script setup05:33
lifelesspersonally, I would hesitate to test this05:34
huwshimipoolie: I'm keen to help out if there's a way we can do that05:34
poolieare you going to uds (i'm not)05:35
lifelessany test here is vulnerable to two forms of skew I think - the oopshandler config, and the actual exception raised.05:35
poolieperhaps we could spike it for a day or something , maybe next week05:35
poolieright05:35
lifelessso you'd need to make sure you test deeply enough to insulate from that05:36
pooliei found it confusing the oops is unclear about whether the exception traceback indicates the program stopped at that point05:36
poolieto me it certainly does look like it stopped, but apparently it did not05:36
lifelessa bug explaining the confusion would be good05:36
lifelessI think its right to show the tb it did, but not to confuse you05:37
pooliea bug against which project?05:37
huwshimipoolie: No I'm not, I'd be keen for that05:37
lifelesspoolie: to start with LP, which is where OopsHandler is05:37
lifelesspoolie: and/or python-oops-tools which does the rendering05:38
lifelesspoolie: the emit() method on OopsHandler could usefully include the logging level in the message, and whether there was an exception attached05:39
lifeless=> cooking05:40
poolielifeless: ok https://bugs.launchpad.net/launchpad/+bug/88124305:43
_mup_Bug #881243: oops display doesn't make it clear whether the exception stopped the process <Launchpad itself:Triaged> < https://launchpad.net/bugs/881243 >05:43
nigelbMorning.05:53
nigelbstub: You'll find this entertaining :)05:54
nigelbhttp://thedailywtf.com/Articles/The-Query-of-Despair.aspx05:54
stubnigelb: I just hope an ORM was involved or my remaining faith in humanity will dwindle.05:55
nigelb"legacy" application.05:56
nigelbI doubt if an ORM was involved.05:56
jtvWho knows about LP's mailing lists?  Need help with this question: https://answers.launchpad.net/launchpad/+question/17571806:57
lifelesswgrant: 2704 lines07:49
wgrantlifeless: :(07:49
lifelessjtv: the mailing list archiver gets rather behind07:49
jtvlifeless: ?07:50
lifelessjtv: I'm not sure if we've got a bug for that yet; moving it to a backend JSON server is the planned approach to fix it07:50
jtvAh, the question07:50
lifelessyes :)07:50
jtvThanks for looking into it.  “Rather behind” doesn't really cover it in this case though.07:50
lifelessjtv: days isn't uncommon. Its been weeks on occasion07:50
jtvIIRC the last archived message there was a year old.07:50
lifelessjtv: ah! that may need checking by a losa then on the list in question - check that mailman hasn't blerched itself07:51
lifelessjtv: There are probably logs you can poke at on carob to start with07:51
jtvHmm07:51
lifelesss/probably//07:51
jtvI'll try that, thanks.07:51
lifelessthe key thing to know is that mailman handles the mail and forwards it etc07:52
lifelessthe list archive is really just another recipient - it queues it up and then rewrites the index page to link it in when it gets to it07:52
jtvAny chance that it might even be a spam filter?07:55
lifelesswgrant: it could be worse07:55
lifelesswgrant: its mostly mechanical07:55
lifelessjtv: I don't believe so; I would expect no-delivery to list members in that case07:55
wgrantIt's only known to be 4 days out of date.07:57
wgrantI haven't seen any suggestion that an email was sent to the list between the last one in the archive and October 21st.07:57
wgrantThat's very much within mhonarc-is-slow-and-ubuntu-x-swat-is-huge-so-nevermind territory.07:57
wgrantIndeed, October 21st is the first email since then.07:58
wgranthttp://www.mail-archive.com/nunit-dev@lists.launchpad.net/07:58
jtvI wonder why the process-mail.log for the 21st seems to be binary garbage.08:02
wgrantThat sounds irrelevant.08:03
wgrantmailman doesn't have anything named process-mail.log, AFAIK.08:03
jtvWhat are the relevant logs?08:03
mrevellHallo08:04
wgrantAll the mailman logs on forster.08:04
adeuringgood morning08:06
jtvhi mrevell, hi adeuring08:06
adeuringhi jtv08:06
jtvwgrant: hasn't forster retired?08:06
StevenKWhat gave you that idea?08:07
jtvI thought that was the server that loganberry replaced.08:07
wgrantIt was.08:08
=== almaisan-away is now known as al-maisan
wgrantIt is no longer the scripts server.08:08
wgrantIt continues to be the mailman server, however.08:08
jtvSo I'm looking for scripts/forster/mailman-xmlrpc/08:08
wgrantNo.08:08
wgrantWell, probably not the xmlrpc bit.08:08
wgrantxmlrpc is irrelevant here.08:08
jtvOkay, what other mailman logs are there?08:09
wgrantThe logs from mailman, which are probably somewhere.08:09
wgrantmailman/forster08:09
jtvAh, thanks.08:10
jtvSome timeouts there.08:11
=== panta_ is now known as panta
lifelesswgrant: also, no more getLastOops08:30
lifelesswgrant: more than makes up for size IMO :)08:30
nigelbpoolie: Hey, you guys had a circuit breaker thing for the "should make tea" bug right?08:31
nigelbpoolie: Can you link me to that bug if you have it handy?08:32
pooliebug 79532108:32
_mup_Bug #795321: udd importer should make tea while launchpad is down <fastdowntime-later> <Launchpad itself:Invalid> <Ubuntu Distributed Development:Fix Released by vila> < https://launchpad.net/bugs/795321 >08:32
nigelbpoolie: Thanks!08:32
nigelbI ended up needed something like this for work :D08:32
poolieare you going to use it somewhere else?08:32
poolieoh ok08:32
nigelbImplementing it in bash is going to be loads of fun.08:33
lifeless\o/08:37
pooliemrevell, danhg, https://code.launchpad.net/~mbp/launchpad/jobs-link/+merge/8030709:26
poolielifeless: ?09:26
lifelessthere is a config setting to put stuff in the footer09:27
lifelessI'd just set that directly on prod09:27
wgrantCan't do links, though.09:27
wgrantI don't think.09:27
lifelesswgrant: I thought it was html it took09:27
wgrantI hope not.09:27
wgrantAnything that I see that takes HTML gets added to my hitlist.09:28
poolieare you referring to site_message?09:29
pooliei thought that was meant for "end of the world imminent"09:29
poolies//eschaton09:29
pooliethat would be too heavy for this, i think09:29
lifelessall hail our future light cone09:29
wgrantsite_message is used on staging/qastaging/dogfood09:29
wgrantTo say that changes will be lost.09:29
wgrantIt used to be used on edge to say it was running pre-release code.09:30
wgrantIt was originally along the top of the page, but was demoted to the bottom for 3.009:30
lifelessits tasteful but may not support a link09:30
lifelessanyhow, I have no strong objection, it just seems like something better done in config than in code09:31
poolieiswym09:31
poolieotoh there's a fuzzy line between code and config09:31
poolielifeless: i was actually wondering about your \hooray emoticon09:33
pooliewas that for me?09:33
danhgHi poolie: what am I looking at on that link?09:34
poolieah welcome :)09:34
mrevelldanhg, We can talk about that on the phone now. It's your first merge proposal.09:34
poolieyou can do your first code review09:34
lifelesspoolie: implementing circuit breaker in bash.09:34
lifelesspoolie: it was a little ironic09:35
pooliedanhg: mostly if you talk it over with mr that's be good09:35
pooliedon't be too rough on me :)09:35
poolienight all09:35
danhgok09:36
danhggoodnight09:36
=== jtv is now known as jtv-afk
lifelesszomg use-oops-twisted landed.09:42
* lifeless dances the happy dance09:42
bigjoolswgrant: thanks for QAing 747558 for me - only just saw my bug mail.09:49
lifelesswgrant: btw, don't know if you saw but collapsing those private-asset queries into one using joins took it up to 5seconds hot (vs 4ms hot using a union all)09:51
wgrantlifeless: The query was wrong. Not sure if that would make much of a difference, though.09:52
lifelesswgrant: yah, table scans R us09:52
wgrantbigjools: That was the ddeb thing?09:53
wgrantBug #74755809:54
_mup_Bug #747558: PPAs should create backtracable packages <escalated> <ppa> <qa-ok> <Launchpad itself:In Progress by julian-edwards> < https://launchpad.net/bugs/747558 >09:54
wgrantRight.09:54
bigjoolswgrant: did you test just the upload changes I made?09:55
bigjoolsI need to add the copying safeguard and then it's probably ok to release09:56
bigjoolsbut I want to see it working on DF myself09:56
wgrantbigjools: Yeah, I just built a package with some ddebs and checked that the overrides matched.09:56
bigjoolscool09:56
bigjoolswhere is it~?09:56
wgrantDidn't try superseding, because I didn't want to sneak concordia away for too long.09:56
wgranthttps://dogfood.launchpad.net/~wgrant/+archive/dogfood/+packages <- aalib there09:57
bigjoolsconcordia is still on DF anyway09:57
wgrantNeeds process-accepted run, but I checked the BPR overrides in the DB.09:57
bigjoolsrunning it09:57
=== jtv-afk is now known as jtv
=== jtv is now known as jtv-afk
nigelbbigjools: lolcricket :D10:30
* nigelb ducks10:30
bigjools(_._)10:30
nigelbhrm, what's that stand for?10:31
nigelbOr should I not be asking :D10:31
bigjoolsI was mooning you :)10:31
nigelbha10:31
bigjoolsnigelb: still laughing?11:02
=== jkakar_ is now known as jkakar
bachi mrevell12:37
mrevellhey bac12:38
thumpermorning12:55
deryckMorning, all.12:58
allenapMorning deryck.12:59
=== jtv-afk is now known as jtv
bacyo mrevell13:11
abentleyallenap: how's that storm bug coming?13:13
allenapabentley: I've resolved most of the issues; only one very stubborn one remains.13:14
abentleyallenap: oh dear.  Anything I can help with?13:15
allenapabentley: I don't think so... but I'll ping if there is something. Thanks. As of about 10 seconds ago I think we might need to move to a newer psycopg2.13:17
abentleyallenap: Okay.  Good luck with it.13:18
allenapAnd now I'm not so sure!13:18
abentleyallenap: I hate that.13:25
thumperflacoste: ping14:11
=== matsubara is now known as matsubara-lunch
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | Welcome danhg | On call reviewer: gmb | Critical bugtasks: 266
danilosflacoste, hi, I am Danilo from the Linaro team :)14:57
danilosflacoste, asac mentions how there is a very important regression that hits us in https://bugs.launchpad.net/launchpad/+bug/881144, which is time critical; do you think it'd be possible to get someone to look at it today/tomorrow to at least get any idea if we can get some results by Thursday?14:59
_mup_Bug #881144: field.tags_combinator=ALL gives same results as with ANY <bugs> <regression> <search> <Launchpad itself:Triaged> <Linaro Android:Triaged> <Linaro-Ubuntu:Triaged> < https://launchpad.net/bugs/881144 >14:59
danilosflacoste, if not, perhaps we need to focus on a work-around on our side (we can load bug-by-bug through API and filter stuff out that way)14:59
=== al-maisan is now known as almaisan-away
=== beuno is now known as beuno-lunch
nigelbdrat. no bigjools.16:03
nigelbI wanted to poke fun at england's cricket team :D16:03
=== deryck is now known as deryck[lunch]
* sinzui sends all spam to himself before sending to the user so that he shares their pain17:12
=== beuno-lunch is now known as beuno
* sinzui plants face in palm17:16
nigelbsinzui: If you shoot your self in the foot...and then complain... :P17:41
=== salgado is now known as salgado-lunch
sinzuinigelb, My test went fine17:42
sinzuiBut I left my name in one of the headers in the real send.17:42
nigelb:)17:43
=== salgado-lunch is now known as salgado
=== deryck[lunch] is now known as deryck
=== jcsackett__ is now known as jcsackett
thumpersinzui: hi19:53
sinzuiHi thumper19:53
thumpersinzui: how do I get project associations on the stakeholder list?19:53
thumpersinzui: distro really want it now I told them what it is19:54
sinzuithumper, you need to find stakeholder reps to bring it to the list.19:55
lifelessthumper: Sounds like a handwave rather than a LEP :) [I mean, theres a lot of things it -might- mean]20:01
lifelessthumper: its going to be feature level work I think, which means that the various stakeholders have to all agree its position on the list for it to get scheduled [more or less]20:02
thumperI've been told there hasn't been a stakeholders meeting of 6 months20:03
lifelessthe queue already has items in it, and noone has proposed removing them20:03
lifelessthe stakeholder process is about prioritisation, not about getting things done more quickly20:05
* thumper nods20:05
* thumper goes back to the drawing board20:05
lifeless[theory being that with consensus about what to do next, we can avoid chopping and changing mid-project, letting us deliver the projects more smoothly and with less defects]20:07
sinzuithumper, I can brief people were we were in 2009. We had a proposal that Mark asked for UI changes to20:25
deryckabentley_, hi.20:30
abentley_deryck: hi.20:30
deryckabentley_,  I see you got mail for the feature branch passing, but not clear on my end if you got the upgrade branch mail also.20:30
abentley_deryck: No, I didn't get that one.20:31
deryckabentley_, ok, I'll forward to you then.20:31
abentley_deryck: did you know that {foo: 'bar', baz: 'qux'} is different from {baz: 'qux', foo: 'bar'} in Javascript?  Objects used as mappings apparently preserve ordering.20:37
* lifeless headdesks20:37
deryckabentley, are you sure it's the ordering that matters, and not just that js sees two different objects?  i.e. how are you testing this?20:45
abentleyderyck: I'm producing query strings from a mapping, and the order of the items in the query string matches the order the items are added to the mapping.20:46
abentleyderyck: I think I saw this earlier with JSON stringification, too.20:48
deryckabentley, so I'm having a little trouble following the specific example here of how ordering matters, sorry.  But....20:51
deryckabentley, I did know directly comparing the same objects in js won't work.  it sees different objects.20:52
deryckabentley, but this is to do with how js creates/sees objects.  and you usually just compare properties and values, not object to object.20:52
abentleyderyck: {foo: 'bar', baz: 'qux'} => "foo=bar&baz=qux",  {baz: 'qux', foo: 'bar'} => "baz=qux&foo=bar"20:53
abentleyderyck: So even when you serialize it, you get different values for equivalent mappings.20:54
=== mpt_ is now known as mpt
deryckabentley, you would expect {baz: 'qux', foo: 'bar'} to come out "foo=bar&baz=qux" ?20:56
abentleyderyck: I would like a consistent order.  I don't have a particular order in mind.20:56
deryckabentley, is this something in the language causing the issue, though?  Or in how you're doing the serialization?20:58
abentleyderyck: Something in the language is causing the issue, because if mappings were unordered, as in Python, it would be impossible for a serialization to preserve ordering.20:59
deryckabentley, are you doing the serialization yourself or relying on something in yui3?21:02
lifelessabentley: have you seen ordereddict in python 3 ?21:04
abentleyderyck: I don't understand why that's relevant, but I'm using something in YUI3,21:04
deryckabentley, I guess it's not relevant.  Just curious mostly.21:05
abentleylifeless: No, but I have occasionally encountered situations where that would be useful.21:05
deryckabentley, I guess it's not that shocking to me either because js objects aren't really the same as python dicts, even though they seem similar in ways.21:05
abentleyderyck: It was surprising to me, because it's the first language I've encountered that had ordered mappings by default.21:07
sinzuiwallyworld_, wgrant, StevenK: Gerald the Gorilla http://www.youtube.com/watch?v=beCYGm1vMJ022:23
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | Welcome danhg | On call reviewer: StevenK | Critical bugtasks: 266
* StevenK assumes gmb is no longer reviewing.22:44
StevenKwgrant: When you have a tick, glance at the query in https://code.launchpad.net/~stevenk/launchpad/extend-subscription-check/+merge/80173 , lines 51 to 6223:01
wgrantabentley: Any reason you didn't use IJSONRequestCache for storing the mustache template?23:10
wgrantabentley: Using dumps directly is not safe.23:10
wgrantStevenK:23:12
wgranttables=(23:12
wgrant    Bug,23:12
wgrant    Join(BugSubscription, BugSubscription.bug_id == Bug.id)),23:12
wgrantSame with the multi-line where.23:13
wgrantI also find the execute(Union syntax distasteful.23:14
wgrantParticularly since you then have you use .rowcount afterwards.23:14
StevenKwgrant: I've fixed the tables and where. I don't really want to reflow the entire block though. :-/23:21
pooliejesus team roles are such a mess23:21
pooliehow can i find out what access an open team actually has?23:22
wgrantYou can't.23:23
poolieyeah that was really a way of saying "i wish i could"23:23
wgrantStevenK: What reflowing are you talking about?23:28
wgrantStevenK: Also, when you raise the exception on line 68, what sort of string does the policy turn into?23:29
wgrantOpen? OPEN?23:29
StevenKI think it's 'open'23:32
poolielifeless: re bug 881237, would it be too tasteless to just catch Exception around the call to dkim23:32
_mup_Bug #881237: broken dkim key on qq.com causes mail to be dropped <dkim> <mail> <oops> <Launchpad itself:Triaged by mbp> <pydkim:In Progress by mbp> < https://launchpad.net/bugs/881237 >23:32
wgrantPlease try to check.23:32
poolieso that random bad input, causing eg a KeyError or ValueError, doesn't result in the mail being dropped23:33
StevenKwgrant: Hold on, I'll do it now.23:33
pooliethis is kinda papering over pydkim not handling those things cleanly but perhaps it's good to be defensive23:33
wgrantpoolie: Have you read pydkim's code? :)23:33
wgrants/good/necessary/23:34
pooliethere are no tests23:34
wgrantI agree completely with catching Exception.23:34
pooliepresumably because the code has been formally proved to be correct23:34
poolieok thanks23:34
StevenKFormal proof nothing. LP has taught me that you *NEED* tests.23:35
wgrantOur fork is no longer a several-hundred-line function, and it's more correct and tested, but it's still awful awful.23:35
poolienow that upstream seems to have appeared again perhaps we can push them up23:35
wgrantIndeed, I was surprised to see it on github.23:36
* StevenK kills SSO23:36
wgrantSince we had no response from him for several months.23:36
poolieyeah, but isn't that always the way?23:36
poolieactually doing something yourself prompts others into action23:36
StevenKwgrant: What does it mean when icons in the dock have a green background?23:43
wgrantStevenK: s/dock/Launcher/?23:43
StevenKRight23:43
wgrantIt means either that it decided the primary colour of your icon was green, or possibly that your graphics drivers suck.23:44
StevenKSorry, one icon is green23:44
StevenKAnd it changes23:44
StevenKwgrant: The text is "The team subscription policy cannot be Open Team because it is subscribed to or assigned to one or more private bugs."23:45
wgrantI guess that's OK.23:45
wgrantWe really should s/subscription/membership/ everywhere :(23:45
StevenKIf you're happy enough with it, I'll land it.23:46
wgrantSounds OK.23:46
wgrantwallyworld_: But the action *can* be mostly undone.23:48
wallyworld_sort of23:48
wallyworld_i was adhering to the instructions in the bug report23:49
wgrantAs it stands, the statement is a lie.23:49
wgrantIt says that it will mark the bug as not affecting that target, and this action cannot be undone.23:50
wgrantI can create a counterexample by clicking "Also affects project"23:50
wallyworld_i think the intent is to make people really sure they want to delete something23:50
wallyworld_in most all other cases, delete is permanent23:50
wallyworld_perhaps good to be consistent with the warnings23:51
wgrantIn this case the task deletion is permanent.23:51
wgrantThe not-affectingness is not.23:51
wgrantThe only information that is deleted permanently is metadata that probably <10 people look at.23:51
wallyworld_you may be best to take it up with the author of the bug report?23:52
wgrantPerhaps.23:52
wgrantsinzui: Still around?23:52
wallyworld_i don't mind either way what is decided23:52
wallyworld_so why can't i use the construct <p tal:define="foo context/bar"  tal:content="string:${foo}"/>  ? it only likes <p tal:content="string:${context/bar}"/>23:59

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