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

wallyworld__it works locally without doing that00:00
wgrant2.7's set_charset (called by set_payload) encodes it if it's a unicode.00:00
wgrant2.6 doesn't have that check.00:00
wallyworld__huh? my 2.6 does00:02
wallyworld__        if isinstance(self._payload, unicode):00:02
wallyworld__            self._payload = self._payload.encode(charset.output_charset)00:02
wgrantAhhh.00:02
wgrantLucid's does not.00:02
wgrantI don't think I have 2.6 installed on oneiric... let me check.00:02
wallyworld__it's all thumper's fault00:03
thumperit must be00:03
wallyworld__it was going to be a quick patch to help out my old kiwi mate and look what it's turned into00:03
StevenKwallyworld__: Welcome to Soyuz.00:04
StevenKOh. Wait.00:04
wallyworld__:-)00:04
wgrantwallyworld__: See the latest rev on http://bazaar.launchpad.net/~python-dev/python/2.6/changes?filter_file_id=43136%406015fed2-1504-0410-9fe1-9d1591cc4771%3Apython%252Ftrunk%252FLib%252Femail%252Fmessage.py00:05
* wallyworld__ looks00:05
wgranthttp://bazaar.launchpad.net/~python-dev/python/2.6/revision/4235700:05
wgrantCrucially, from the old email.message docs:00:06
wgrant13900:06
wgrant 00:06
wgrant      The message will be assumed to be of type :mimetype:`text/\*` encoded with00:06
wgrant14000:06
wgrant 00:06
wgrant      *charset.input_charset*.00:06
wgrantThe new:00:06
wgrant13900:06
wgrant      The message will be assumed to be of type :mimetype:`text/\*`, with the00:06
wgrant 00:06
wgrant14000:06
wgrant      payload either in unicode or encoded with *charset.input_charset*.00:06
wallyworld__wgrant: well, the only thing to do then is to assume it's broken and code around it in our stuff00:07
wallyworld__what's the policy with upgrading python on our prod environments? i think it will just be easier to hack around it in our code?00:08
wgrantNot hack around it.00:08
wgrantThe old Python behaviour is not buggy.00:08
wallyworld__you sure? "Also makes the way in  which unicode gets encoded to quoted printable for other charsets more  sane (it only worked by accident previously)"00:09
wallyworld__seems like they made some changes to fix broken/unintuitive behaviour00:09
wgrantRight, but set_payload taking Unicode is behaviour that is new in 2.6.6 or 2.6.700:10
wgrantPassing Unicode into Lucid's version violates expectations set out in the docstring.00:10
wgrantIt's certainly an unintuitive response to interface abuse, but it's still interface abuse :)00:10
wallyworld__which means i need to encode outside of set_payload, which is hacking around it00:11
wgrantIt's not hacking around it.00:11
wgrantIt's using set_payload properly.00:11
wgrantset_payload, until a year ago, was intended to be given encoded data.00:12
wallyworld__except that it accepts a charset parameter which implies it will be doing the encoding based on that charset00:12
wgrantThe only reason unicode sometimes worked is because Python 2.x's Unicode support is terrible.00:12
wgrantHow does it imply that?00:12
wgrantIt00:12
wgrantindicates the encoding of the message.00:13
wgrantBut the docstring is pretty clear.00:13
wgrantIt expects the message to be in text/*, encoded in the given encoding.00:13
wallyworld__sure.00:13
StevenKSo it wants UTF-8, not unicode00:13
wallyworld__perhaps i was misusing the term "hacking"00:13
wallyworld__i was being loose with my definition00:14
wgrantPerhaps.00:14
wallyworld__i just meant i have to make changes to accommodate the old interface00:14
wgrantRight.00:14
wallyworld__even though the new one supports what we want00:14
wallyworld__is was using hacking the the sense of "code hacking" ie code writing00:14
wallyworld__anyways00:15
wgrantAnyway, easy fix, hopefully.00:15
wallyworld__yep00:15
wallyworld__so long as my system stays up00:15
* wallyworld__ wishes he had an SSD00:18
wallyworld__wgrant: can you try it now?00:26
wallyworld__wgrant: i wasn't sure whether to use content.encode(charset) or content.encode(charset.output_charset). i used the first one00:28
wgrant  Running:00:50
wgrant lp.code.mail.tests.test_branch.TestBranchMailerDiff.test_generateEmail_with_diff00:50
wgrant  Ran 1 tests with 0 failures and 0 errors in 0.537 seconds.00:50
wgrantwallyworld__: ^^00:50
wallyworld__wgrant: excellent! thanks for your help00:50
wgrantwallyworld__: How does this work with non-UTF-8 files?00:51
wallyworld__wgrant: it works fine. there's other tests which use plain ascii diffs00:52
wgrantASCII diffs are also UTF-8.00:54
wallyworld__perhaps i misunderstood your question00:54
wgrantWhat happens if I try to diff a UTF-16 file?00:55
wallyworld__the charset parameter to addAttachment() is optional00:55
wgrantYes, but BranchMailer always uses utf-8.00:56
wallyworld__the check is isinstance(payload, unicode)00:56
lifelessbzr treats all files as bytestreams for diff00:57
pooliemm kinda00:57
pooliei'm pretty sure a utf-16 file will be reported as 'binary files differ'00:57
lifelessright, but we don't do the diff as unicode00:58
lifelessso diffing a slavic codepage file against the same text in utf8 will show the encoded difference, not the decoded difference.00:58
lifelessUnless that has changed?00:59
pooliethat's correct00:59
poolieit could usefully be changed, perhaps, but that's true at the moment01:00
lifelessand will include slavic codepage + utf8 in the output01:00
lifelessso the output of diff, today, doesn't have a 'safe correct' encoding. File paths we encoded to the supplied encoding, but thats the only bit of user data we have a clear content type for01:00
wgrantThat is my concern.01:00
wallyworld__wgrant: so the isinstance(xxx, unicode) check prevents utf-16 strings from being touched by any utf-8 stuff01:01
wgrantPerhaps, but how does it get a unicode in the first place?01:02
wgrantThere's no unicode-safe way to handle diffs. They have to be treated as bytestreams.01:02
lifelesserm, it stops unicode strings being processed, but the intputs are not decoded, so utf16 would still be there as utf16 (if it doesn't trip the binary check poolie mentioned)01:02
wallyworld__not sure. maybe thumper knows since he raised the bug01:02
wgrantAnd yes, we're probably still going to be declaring UTF-16 as UTF-8, which would be Bad.01:02
lifelessI think he was hoping it was easy; its not.01:02
wgrantIt's easy unless you've dealt with encodings before :)01:03
lifelesspersonally, I'd triage it low, add a task asking for a way to get *a* defined content coding out of bzr diff, and then let the discussion happen.01:03
wallyworld__wgrant: why would we be declaring utf-16 as utf-8?01:04
wallyworld__actually, we are, but that's a bug i will fix01:04
wgrantFix how?01:05
wgrantWe need to investigate how we are getting decoded Unicode diffs in the first place.01:05
wgrantSince that doesn't really make sense.01:05
wallyworld__wgrant: the utf-8 encoding only occurs if the payload is a unicode instance01:06
wallyworld__and since utf-16 is not a unicode instance, we are not declaring the payload to be utf-801:07
wallyworld__via the content type header01:07
wgrantYes, but there's no way that can correctly be a unicode instance.01:08
wgrantSo the special case will either never be used, or there is another bug creating "unicode" diffs.01:08
wallyworld__i'm not sure how the diffs get generated etc. the request was "when we attach diffs to outgoing code review and branch emails can we please utf-8 encode"01:10
wallyworld__so if the diffs are never unicode in the first place, that's a separate issue to solve i guess01:11
wgrantI presume he wants them *declared* as UTF-8.01:11
wgrantThey were probably already mostly encoded in it.01:11
lifelessthe committer and paths will be utf801:11
lifelesswhats probably happening is that we have a TEXT column note a BYTEA column.01:12
wgrantDiffs are in the librarian, or not stored at all.01:12
wgrantNot in the DB.01:12
lifelessor we're treating the text from the librarian as utf8 and decoding it, we'll be getting punning (and sporadic failures when smeone has garbage in their tree01:12
wallyworld__the last part of the request was "we have people with weird names committing or .po file stuff et al"01:12
wgrantStorm will generally correctly kick you in the face if you try to do bad Unicode stuff.01:13
wallyworld__so yes, it's to do with the committer etc01:13
wgrantSounds like file content: PO headers.01:13
wallyworld__yes01:13
wallyworld__and such stuff would be in the diffs. but if the diffs never arrive at the send mail method as unicode.....01:14
poolielifeless, on the command line you do get a defined decoding out of bzr diff01:14
lifelesspoolie: ah, good. I though it was still a bit hairy.01:14
pooliei'm 90% sure if you have a utf-8 locale and you diff from utf8 to cpwhatever, the + lines will have questionmarks01:14
pooliemm01:15
pooliei have seen the bug traffic but i'm not sure what the actual motivating case is01:15
wgrantpoolie: Hm, that's pretty unpleasant.01:15
wgrantThe diff not being a diff.01:15
lifelesswgrant: it has the great advantage of not turning peoples terminals into mojibake01:15
wallyworld__poolie: you mean for bug 861979?01:15
_mup_Bug #861979: utf-8 encode diffs attached to outgoing email <Launchpad itself:In Progress by wallyworld> < https://launchpad.net/bugs/861979 >01:16
pooliewell, i think you can choose between "accurate but not in the right encoding" and "in the right encoding but not complete"01:16
poolieat the api level you can01:16
wgrantlifeless: That's true, but it has the disadvantage of being wrong.01:16
lifelesswgrant: given there is no right answer for a unicode terminal, I find asserting its wrong to be...interesting :)01:16
poolielifeless, thanks, i have seen that but it's not very complete01:16
wgrantlifeless: It is not a correct diff.01:16
poolieif the actual thing is that they have validly encoded file names01:17
pooliethen utf-8 encoding the output diff would be a reasonable improvement01:17
poolieit's a simpler case than having arbitrary binary transforms01:17
pooliewgrant, the question is whether you are generating the diff to feed to patch (to apply it as a binary diff) or to look at it01:17
pooliethe two things need different results01:18
wgrantYes.01:18
wallyworld__so, given all this, am i correct in thinking lp is not given a unicode diff to attach to its emails?01:20
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: wallyworld | Critical bugs: 270 - 0:[########Segmentation fault (core dumped)
wgrantlifeless: Shouldn't bug #869064 be High? It's not a released feature yet.01:25
_mup_Bug #869064: Batched comment loading should update the page URL to include ?comments=all <story-batched-comment-loading> <Launchpad itself:In Progress by gmb> < https://launchpad.net/bugs/869064 >01:25
wgrantBug #867529, too.01:26
_mup_Bug #867529: Dynamic loading comments load on top of page content <regression> <story-batched-comment-loading> <Launchpad itself:Triaged> < https://launchpad.net/bugs/867529 >01:26
wgrantOr do they inherit criticality?01:26
pooliewallyworld__, didn't you already land a fix for this?01:28
wallyworld__poolie: it failed ec2 due to python differences on lucid vs oneiric01:28
wallyworld__so it's still not landed01:28
wallyworld__those issues are now fixed01:28
wallyworld__but is there any point?01:28
wallyworld__if the diffs passed to lp are never unicode?01:29
poolie1- you need to be more precise about 'unicode'01:31
poolie2- it depends on how it's calling bzr (external 'bzr diff', through the api, etc) and what locale it is in01:31
wallyworld__poolie: unicode as in a python string u'xxxxx' ie isinstance(diff, unicode). i'm not sure what the underlying encoding details would be01:32
lifelesswgrant: its behind a feature flag? I thought the flag was toggled ?01:32
poolieit's called inprocess?01:32
wgrantlifeless: I hope it's only released for betatesters...01:33
wgrantbugs.batched_comment_loading.enabledteam:launchpad-beta-testers1on01:33
wgrantbugs.batched_comment_loading.enabledteam:launchpad0on01:33
lifelessfixed01:34
wallyworld__poolie: 2. i'm not sure how it's being called, will have to check. it's for when lp sends out codereview and branch emails. po files have committer info in the header and we want these to come through properly for international names01:34
wgrantlifeless: However, it could possibly be priority inheritance.01:34
lifelesswgrant: possibly; if so gmb can and (hopefully will) say 'its critical cause I'm using it to fix bug ABCDE'01:35
pooliewallyworld__, i think if you call the right api you will get unicode diff results01:44
poolieif there is now way to get them file a bzr bug and we'll help01:44
pooliebut i would be surprised, because it works from the command line01:44
wallyworld__poolie: i think the show_diff_trees api is being used01:44
pooliehm apparently that returns a byte stream, probably utf8 encoded02:08
pooliethe way it is handled in lp seems to suggest it's expected to be a byte stream too02:08
wallyworld__poolie: so the change in lp is to essentially make the Content-Type header say "text/x-diff; charset="utf-8""02:19
wallyworld__i think based on what you said that will be ok?02:19
pooliei think so02:32
pooliedoes it work?02:32
poolieout for a bit02:41
nigelbMorning!03:13
spmo/ nigelb03:15
nigelbohai spm :)03:17
nigelbwallyworld__: How's your love affair with ec2 going? :P03:17
wallyworld__nigelb: well, the problem is fixed. it was a python 2.6 version issue. python email encoding on lucid behaves differently to on oneiric03:22
nigelbwallyworld__: Oh.03:25
nigelbIn a good way or bad way?03:25
wallyworld__nigelb: different. here a link to the diff http://bazaar.launchpad.net/~python-dev/python/2.6/revision/4235703:27
wallyworld__it now accepts unicode payloads and checks that a payload is unicode before it encodes it using the supplied charset03:28
nigelb\o/03:29
nigelbNice find :)03:29
wallyworld__nigelb: wgrant looked at his copy of python 2.6 on lucid to discover the difference in behaviour and provided me the diff03:33
nigelbNeat03:33
lifelessaieieeeeeee04:19
lifelesshttps://bugs.launchpad.net/launchpad/+bug/869631/comments/604:19
_mup_Bug #869631: BugTask:+editstatus timeout closing bug 353126 due to bug subscription lookups <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/869631 >04:19
wgrantlifeless: So the query is returning unrelated mutes?04:21
lifelessyes04:21
lifelessmuting any bug will mute you for all notifications via duplicates04:21
wgrantThat's the production query that's insane?04:21
wgrantOh.04:21
wgrantIsn't that intended?04:21
lifeless*all*04:21
lifelessmute bug 1.04:21
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Confirmed for compscibuntu-bugs> <dylan.NET.Reflection:Invalid> <dylan.NET:Invalid> <EasyPeasy Overview:Invalid by ramvi> <GenOS:In Progress by gen-os> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <LibreOffice:In Progress by bjoern-michaelsen> <Linux:New> <Linux Mint:In Progress> <The Linux OS P04:21
lifelessthen for 12134 a dupe of 456678 you won't get notified *if you would have previously*04:22
wgrantOh!04:22
wgrantUnrelated duplicates.04:22
wgrantI see.04:22
lifelessconstraining the subquery makes it a 2ms query04:25
wgrantHeh04:25
wgrantWhat if you just s/Bug,//?04:25
wgrantThat should fix it too, though it'll still be a subquery.04:26
lifeless3ms04:27
lifelessall in the bug04:32
lifelessbut - wow04:32
wgrantYes.04:32
lifelessits also worrying that its doing this multiple times04:32
wgrantMost of the advanced subscriptions work is like that.04:32
wgrantRepetitious.04:32
lifelessall dupes are handled by one of these queries, why does it need to do it more than once04:32
=== almaisan-away is now known as al-maisan
huwshimiHave a good weekend all06:58
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== vila is now known as vila_at_dentist
=== wallyworld__ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 270 - 0:[########Segmentation fault (core dumped)
mrevellHey there08:01
=== vila_at_dentist is now known as vila
lifelesspoolie: wow, silentghost, wow.08:58
lifelessallenap: the reason its slow to kill the machine is that its a infinite loop08:58
lifelessallenap: but failure in err() isn't the same as failure in a deferred08:59
bigjoolslifeless: yeah we figured that out just now in our call08:59
lifelessallenap: so when it fails after an oops, thats in a deferred. It has no errback()08:59
lifelessallenap: so that triggers a __del__ failure, and round it goes.09:00
lifelessbigjools: cool09:00
bigjoolslifeless: Python dynamic typing sucks :)09:00
poolielifeless, oh in the python bug?09:00
lifelesspoolie: yeah09:01
pooliei agree it's not the nicest part of python09:01
lifelessbigjools: s/Python// and then yes, sure ;)09:01
pooliealso by analogy to other things, you might think that 'callable(x)' *coerces* x to be callable09:02
lifelessbigjools: a friend of mine, erik de casto lopo, *loathes* dynamic typed languages.09:02
poolieas for dict, int, etc09:02
bigjoolsit also is the best thing since sliced bread09:02
lifelesspoolie: I believe thats one of the criticisms of callable09:02
bigjoolsyeah, it requires a different mindset09:02
bigjoolswas hard for me to adjust coming from C++09:02
lifelessbigjools: he loathes c++ too :P [like most of us, he is opinionated ;P]09:03
bigjools:)09:03
StevenKErik is a good guy09:03
bigjoolswhat does he use, $obscure_language?09:03
StevenKOCaml09:03
poolieyes, ocaml09:03
StevenKAnd Haskell09:03
lifelessand C :)09:04
lifelesshttp://mstation.org/erikdecl.php09:04
pooliei was writing some python just now and thinking how much better it would be in a functional language, up to the point i needed a library09:04
lifelessa little dated interview, before his functional phase AFAICT, but still gets him about right ;)09:04
poolieoh i thought that was meant to convey that he liked php :)09:04
bigjoolsI remember using proof by induction with functional languages.  Head fuck.09:05
bigjoolsphp is right up there with perl09:05
bigjoolsor is that down there... :)09:05
lifelessbigjools: btw, buikld status 6 + log -> what does that mean ?09:06
bigjoolslifeless: need a bit more context than that!09:06
StevenKBuild Status 6 == BUILDING09:06
StevenKBut it has a log set09:06
StevenKAnd date_finished09:06
lifelessbigjools: there was a bug filed by spm yesterday09:06
bigjoolsit's bug 71796909:07
_mup_Bug #717969: storeBuildInfo is sometimes ineffective <boobytrap> <buildd-manager> <qa-untestable> <Launchpad itself:In Progress by jtv> < https://launchpad.net/bugs/717969 >09:07
lifelessbigjools: cause nagios etc09:07
lifelessStevenK: thanks09:07
bigjoolslifeless: dupe it to that one then09:07
bigjoolsjtv is working on it09:07
lifelessbigjools: I figured jtv would want to look at it, but I was also curious about what it means09:07
bigjoolsit's a transaction issue across Deferreds09:07
StevenKBut how? storeBuildInfo() sets the log and so on, doesn't it?09:07
lifelessbigjools: well, I think the bug is about data cleanup - or will you sort them all out at once once root cause is fixed ?09:07
bigjoolswhat's spm's bug?09:08
lifelessbug 86891709:08
bigjoolsStevenK: we found a load of places where a commit() in one callback was committing more than it should09:08
_mup_Bug #868917: broken build alert <canonical-losa-lp> <ops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/868917 >09:08
bigjoolslifeless: I say dupe it for now unless proven otherwise, 717969 is the most likely cause.  /me dupes09:09
lifelessbigjools: do we need to do the data cleanup for it ?09:10
bigjoolsyes09:10
allenaplifeless: Cheers for the explanation. I thought it was probably something like that, but it's good to know exactly what.09:10
lifelessallenap: (thats a theory, but it fits all the facts I know about this)09:10
bigjoolslifeless: I believe the losas have a script09:11
cjwatsonbigjools: are you up for a chat about bug 572128 nowish?10:02
_mup_Bug #572128: Ubuntu Archive translations are missing Index metadata file <regression> <Launchpad itself:Triaged by cjwatson> <debmirror (Ubuntu):Confirmed> < https://launchpad.net/bugs/572128 >10:02
bigjoolscjwatson: sure, good timing10:04
bigjoolscjwatson: want to jump on voip/skype?10:04
=== al-maisan is now known as almaisan-away
wgrantbigjools, cjwatson: Did you get that sorted out? I guess it's pretty urgent.11:19
bigjoolsyes11:26
cjwatsonbigjools: there's an XXX from cprov suggesting using a generic Release parser, and I really don't want to perpetrate even more similar horrible code - would it be OK to use debian.deb822.Release to test the contents of Release files?11:31
bigjoolscjwatson: hell yes11:31
cjwatsonthen I might fix the existing code while I'm here, too11:32
bigjoolschampion :)11:32
bigjoolsAttributeError: type object 'ZopelessDatabaseLayer' has no attribute 'switchDbUser'11:33
bigjoolswaaaaaa11:33
wgrantbigjools: You need to use LaunchpadZopelessLayer for switchDbUser11:34
wgrantbigjools: BUT11:34
wgrantbigjools: As of two weeks ago that's a deprecated API.11:34
wgrantUse lp.testing.dbuser instead.11:34
wgrantWorks in any layer.11:34
bigjoolsI am not using it, my parent test class is11:34
bigjoolsdeep in the publisher11:34
wgrantUse LaunchpadZopelessLayer, or fix your parent to use lp.testing.dbuser directly.11:34
wgrantswitchDbUser is now just a trivial wrapper.11:35
bigjoolsgoing former for now, although startup time PAIN11:35
wgrantThe Zopeless layers will soon be abolished, but I need to sort out different security policies and blah.11:36
bigjoolswhy?11:36
wgrantBecause there's nothing special about them any more.11:36
wgrantBasically, they run in PermissiveSecurityPolicy instead of LaunchpadSecurityPolicy, and they don't have WSGI interceptors installed.11:36
wgrantApart from that they are interchangeable.11:36
bigjoolsso I can just have a DatabaseLayer?11:36
wgrantYou probably actually want DatabaseFunctionalLayer, but yes.11:37
wgrantWatch out for the security policy difference, though.11:37
bigjoolsI probably don't11:37
wgrantYou don't need the CA at all?11:37
bigjoolsCA?11:37
wgrantComponent Architecture11:37
bigjoolsyes, but I don't want the bloody librarian11:38
wgrantDatabaseFunctionalLayer.11:38
wgrantUnless the layer says "Launchpad" or "Librarian", there's no librarian.11:38
bigjoolsgood11:38
bigjoolswfm11:39
wgrantDatabaseFunctionalLayer is basically the same as ZopelessDatabaseLayer, except that the order of the name is inexplicably different and the security policy is different.11:39
wgrantAnd, until two weeks ago, stuff needed to use *Zopeless* if it wanted to change DB users.11:39
wgrantBut that was all BS historical crap.11:39
wgrantWhich I deleted.11:39
bigjoolsyeah11:39
bigjoolsman, storm is really frustrating sometimes11:40
wgrantOh?11:40
bigjools"expected int, found Reference"11:41
wgrantAh.11:41
wgrantWell, that's sort of reasonable.11:41
wgrantWhat's unfortunate is that you can't do Reference == Reference11:41
bigjoolsnonetheless frustrating11:41
wgrants/unfortunate/pointless/11:41
=== bac changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: bac | Critical bugs: 270 - 0:[########Segmentation fault (core dumped)
jmlwgrant: fwiw, ZDL came after DFL12:04
jmlwgrant: so now the only difference between "zopeless" and "functional" is default security policy, right?12:05
=== almaisan-away is now known as al-maisan
danilosjcsackett, hi, I have a feeling that bug 627631 was not really fully solved, and bugtasks for other applications have gone (like translations) in our reorg: can you confirm that suspicion I have? :)14:35
_mup_Bug #627631: Queries need to be updated to use usage enums, where possible <bridging-the-gap> <lp-registry> <qa-ok> <Launchpad itself:Fix Released by jcsackett> < https://launchpad.net/bugs/627631 >14:35
sinzuidanilos, many were reintroduced after the branch landed.14:40
danilossinzui, fwiw, I only saw one for official_rosetta with an XXX from jcsackett pointing to the bug above (other usages of official_rosetta seem to be in tests)14:42
sinzuiI added two official_malone recently. I was reading the schema. I think we need to change the schema to make it obvious that official_* is not always correct14:43
danilossinzui, I think we can remove the official_rosetta with that one fix if that was the ultimate goal14:44
sinzuiyes I think so to14:44
sinzuijcsackett, pointed out my mistake and said we might be able to fix everything on in a single branch14:45
cjwatsonbigjools: https://code.launchpad.net/~cjwatson/launchpad/i18n-index/+merge/78618 for your delectation and delight15:12
bacsinzui: do you know how the mechanism for automatically hiding the notification box works?15:15
sinzuibac: no. I do not think I have ever seen a notification hide15:16
sinzuibac: do you mean the click to hide that benji had worked on?15:17
bacsinzui: or maybe it hid so fast you didn't notice!15:17
bacsinzui: no, it is autohiding now, at least for the bug_acknowledgement_message15:17
bacsinzui: i've searched for the JS that is doing it but haven't found it yet15:17
sinzuiI am clueless15:18
bacsinzui: as described in bug 84616315:18
_mup_Bug #846163: bug filing notice is removed before the user can read it <regression> <ubuntu-qa> <Launchpad itself:In Progress by bac> < https://launchpad.net/bugs/846163 >15:18
bacsinzui: thanks anyway15:18
baci thought it would be somewhere like client.js...15:18
benjisinzui: unfortunately I was never able to get the click-to-hide stuff just right, so I took it out15:18
bacnow it is blink-to-hide15:18
* danilos blinks15:19
sinzuibenji, yes, I recall that. I assumed that bac was talking about a replacement implementation15:19
benjiah15:19
abentleyflacoste: would it be terrible if CanonicalConfig.process_name was None when sys.argv is unavailable?15:29
cjwatsonbigjools: incidentally, I've run the soyuz tests now, as expected no problems there15:36
bigjoolscjwatson: excellent15:39
bigjoolsI wish mine would pass15:40
=== beuno is now known as beuno-lunch
=== al-maisan is now known as almaisan-away
dobeyis there any way you guys can get oops logs synced faster? like on-demand? :)16:21
dobeyor on-crash as it were16:22
deryckabentley, hey…. I have to take a long lunch today to help Wendy with something shop related.  But I'll be around longer this afternoon.16:22
cjwatsonbigjools: is that merge looking plausible?  sorry to rush, I just really want to get this into ec2 today if possible so that there's some chance of deploying it on Monday ...16:23
abentleyderyck: okay.  I'll be taking lunch later than usual, so we may still miss :-)16:23
deryckah, ok :)16:23
bigjoolscjwatson: yeah, nearly done reviewing it16:24
bigjoolscjwatson: if you want to start making changes now, you need to fix the tests to make sure all the uses of open() close the file16:25
bigjoolsso lots of with: :)16:25
cjwatsonhm, right16:25
cjwatsoncan I get away with just changing the ones I was touching anyway?  it's an endemic problem in that test file16:26
bigjoolsyeah I see :/16:28
bigjoolsyeah fix those16:28
bigjoolscjwatson: also, we generally use assertEqual(expected, observed) so that the matcher debug output is correct16:29
cjwatsonaha, ok, I couldn't see docs of which way round it went16:29
cjwatsoncool16:29
bigjoolspycharm tells me :)16:29
bigjoolscjwatson: let me know when you make the changes and I'll land it16:32
cjwatsonok, working on those now16:33
dobeyeww16:35
dobeyAttributeError: 'LaunchpadTimeoutError' object has no attribute '__traceback__'16:35
bigjoolscjwatson: I need to dash, either get someone else to ec2 land it or leave me an email16:37
=== beuno-lunch is now known as beuno
=== deryck is now known as deryck[lunch]
=== cody-somerville_ is now known as cody-somerville
cjwatsonI've made the changes bigjools requested to https://code.launchpad.net/~cjwatson/launchpad/i18n-index/+merge/78618; could somebody send it to ec2 land for me?17:12
flacosteabentley: no, it wouldn't be perfectly fine, it's only used to find a config file and defaults to launchpad-lazr.conf if the conf file doesn't exist17:43
flacosteabentley: i'm curious though, what can make sys.argv not available?17:43
bachi flacoste, do you know of any work recently to make request.response.notifications hide themselves?  i'm trying to find the JS that does it but can't locate it.17:48
flacostebac: you mean the code that allows you to dismiss notifications?17:49
bacflacoste: no, the blue box shows up but disappears after 1/2 second or so17:49
bacon its own17:49
flacostebac: hmm, no, i'm not aware of anything that might have introduced this17:49
cjwatsonbac: can I have a quick review of https://code.launchpad.net/~cjwatson/launchpad/precise-sync-testing/+merge/78646 ?17:49
baccjwatson: sure17:49
bacflacoste: ok, maybe it is an unintended consequence of something else, like maybe the privacy notifications17:50
baccjwatson: approved.  do you need me to land it for you?17:54
cjwatsonbac: yes please (sorry for delay, was sorting out dinner)18:10
baccjwatson: will do18:10
cjwatsonbac: if you could also land https://code.launchpad.net/~cjwatson/launchpad/i18n-index/+merge/78618 (already approved by Julian) that would be marvellous18:10
baccjwatson: man, now you're getting pushy!  :)18:10
baccjwatson: could you please set commit messages on both merge proposals, if not done already?18:11
cjwatsonalready done on i18n-index, will do so on precise-sync-testing now18:13
cjwatsondone; don't know if the latter needs [no-qa] or similar18:14
cjwatsonor if that gets added by tools18:14
baccjwatson: i've sent them both off to ec2.  i forgot to mark the one [no-qa] but you can tag the bug after it gets deployed to qastaging18:40
baccjwatson: after today i'm gone for a while, so you'll have to get someone else to follow up with these branches if they don't land18:41
=== deryck[lunch] is now known as deryck
cjwatsonbac: thanks!19:19
bacnp19:19
abentleyflacoste: When run under mailman, apparently.  If anything in lp_sitecustomize.py imports canonical.config, mailman starts spewing errors.  AIUI, this is expected behaviour for embedded interpreters: http://bugs.python.org/issue83915119:40
flacosteabentley: ah ok, so yes, guarding the assignment of process_name based on sys.argv is the right thing to do19:41
flacosteeverything should still work if self._process_name is None19:41
benjiI have an open question which is about changing the maintainer of a project.  Any hints as to how to do that?20:00
lifelessbac: flacoste: its the ajax notification support added by wallyworld20:02
lifelessbac: the first ajax request completes, has no notifications in it, and so the existing ones are nuked20:02
benjiI suspect I need a registry team member.20:02
flacostebenji: click on the maintainer and select somebody else?20:02
flacostebenji: you are one20:02
flacosteby virtue of ~launchpad20:03
lifelessbac: I think I suggested in the bug, to put a X button on the notifications and have the ajax embedded notifications only ever *add* to them.20:03
sinzuibenji, click on the edit icon next to the maintainer name20:03
benjiflacoste: the maintainer is a link to the user's page and there isn't an edit icon for maintainer20:03
* sinzui looks20:04
flacostebenji: on https://launchpad.net/launchpad-project, do you see the edit icon on the maintainer?20:04
sinzuibenji, sorry. I was thinking team20:04
sinzuibenji, only a LOSA can change a project maintainer20:04
flacosteor if you already the maintainer20:05
flacostewhich explains why i see it on launchpad-project20:05
baclifeless: do you know when that change landed?20:05
benjiflacoste: I do there but not on https://launchpad.net/fusionforge20:05
flacosteyep, what sinzui says: ask a losa20:05
lifelessbac: end of the recipes project20:05
benjisinzui: awesome, thanks20:05
lifelessbac: they were doing ajax build queueing or something like that and needed to show a warning / notification as a result of the call20:06
baclifeless: so that was a good while ago20:06
lifelessyes; we have a deluge of bugs ;)20:06
baclifeless: i've been going through our JS code but cannot find the relevant code.20:07
lifelessbac: wallyworld__ tried to fix it at the time, and I think he did, but something unfixed it shortly after and we didn't notice immediately20:07
lifelessbac: huh.20:07
bacthere is a section in client.js that deals with notifications20:07
sinzuibenji, I do not know why I advised you badly the first time. I was thinking a few hours earlier that If I could temporarily change project maintainer, I could fix 777 licenses20:08
benjisinzui: heh :)20:08
lifelessbac: rev 1277920:08
baclifeless: thanks!20:09
lifelessbac: is the most recent thing - I remember now. wallyworld__ made it so that choosing to reset the notifications is explicit (rather than them always resetting)20:09
bacwow, april20:09
lifelessbac: this implies that the reset that is happening is explicit (and wrong) - it may be right other times, which means we have an unreconcilable situation and will need to find some way to cut the knot20:10
lifelessbac: I found it by doing bzr log and looking for 'notification' until I saw one that looked relevant ;)20:10
sinzuistatement_timeout I should use when suggesting queries to in production? 2 seconds20:25
lifelessyes20:30
lifeless2000 ms20:30
sinzuithank20:36
sinzuis20:37
lifelessn20:37
lifelesso probs20:37
lifelessI'm reminded of captain kirks speech patterns20:37
sinzui:)20:37
timrcsinzui, Did cody-somerville point you at our automated PPA creation code yet?20:42
cody-somervilletimrc, No.20:42
timrc:(20:43
lifelessflacoste: bug 757298 - I've just commented - it was critical by inheritance20:44
_mup_Bug #757298: database bloat report ordering needs tuning <critical-analysis> <qa-ok> <Launchpad itself:Fix Released by stub> < https://launchpad.net/bugs/757298 >20:44
flacostelifeless: ack20:45
lifelessflacoste: I've commented to that effect (via email so not there yet) but not changed the status20:46
lifelessflacoste: I think it could go either way20:46
flacostelifeless: i'll change the status (and the category in my analysis) if I'm swayed by your argument :-)20:46
lifelessflacoste: :)20:47
lifelessflacoste: so the argument is that index bloat had caused timeout storms twice already by april20:47
lifelessflacoste: and that the report helps us get on top of it earlier20:47
flacostethat's fair20:48
sinzuilifeless, I wanted to run this in production, but it timesout under cold cache: http://pastebin.ubuntu.com/704176/ Do you have thoughts about making this faster? Should I take the extra pain of writing a garbo job, land, released, revert?20:54
lifelessgarbo please20:54
sinzuiokay20:54
lifelessor20:54
lifelessand this is a little radical20:55
lifelesscould an API script do it ?20:55
lifelesssinzui: the second half - the 77 rows - that should be totally fine on prod20:55
sinzuiwell interesting proposal. I the the first part that is fine under cold cache is doable over api20:55
sinzuiI do not think the second part that is slow is doable. But I have yet to think about all the cases that those 77 packages are missing20:56
lifelesssinzui: ah I see your times in -ops20:56
lifelesssinzui: your methodology has a hole in it :)20:56
sinzuiyep20:56
lifelesssinzui: try this: set the statement timeout to 15 seconds; run the *select clauses only* for both queries outside a transaction; set the statement timeout to 2000; BEGIN; do the INSERT queries; ROLLBACK;20:57
sinzuiah, build a hot cache20:58
lifelesswe care about the duration of locks, not the overall load [well we care about both, but you see what I mean]20:58
sinzuiI do20:58
lifelessthere is some overhead you can't pre-load when inserting into the table, because indices have to be updated (which means reading them in)20:59
lifelessso to test this a second time, use a different slave20:59
lifelessas long as we rollback, testing something like this on a slave is fine20:59
sinzuiokay thank is very helpful to know21:00
lifelesssinzui: another strategy is to run the exact query in a loop with rollback and low timeout until it works21:34
lifelesswe'll release any locks every (say) 1 second [the timeout] and thus won't cause timeouts21:35
flacostelifeless: should yuo be assigned to bug 788518?21:48
_mup_Bug #788518: staging services share OOPS prefix <Launchpad itself:Triaged> < https://launchpad.net/bugs/788518 >21:48
flacostelifeless: as your current work will fix this21:48
lifelessflacoste: it won't really; it will just mean we get the reports.21:50
lifelessflacoste: we will still want to identify each script properly, which means a different set of work to auto-assign reports for scripts by the script name21:51
lifelessflacoste: which my work will enable but not itself do.21:51
flacosteok21:51
lifelessflacoste: I may, later, do that21:51
flacostebut the fact that we get the report means that the priorit drop at least21:51
lifelessyes, I agree - once my work lands :)21:51
flacostelifeless: well, now it's on your radar ;-)21:53
cjwatsonhmm.  lp:~cjwatson/launchpad/i18n-index failed EC2.  The end of the log goes:21:54
cjwatsonsuccessful: lp.archivepublisher.tests.test_publisher.TestPublisher.testReleaseFile21:54
cjwatsonWARNING: A test appears to be hung. There has been no output for 600 seconds.21:54
cjwatsonbut I've run the next test along locally (testReleaseFileForPPA) and it succeeds - can anyone suggest a possible gotcha I might be running into?21:55
lifelessmight be a later transition, or a layer test teardown - they run after tests complete22:01
lifeless(also layers are evil, this is one of the data points for why)22:01
wgrantsinzui: I think we are nearly getting somewhere!22:50
wgrantcjwatson: Could you forward me the output?22:52
wgrantcjwatson: Is it possibly the apt-ftparchive hang in mvo1? I don't think the ec2 images have mvo2.22:53
wgrantBut I'm not sure if you've changed the test to actually exhibit the hang...22:54
cjwatsonI think the test is testReleaseFileForPPA, which would not be a-f22:55
wgranttestReleaseFileForI18n will probably hang.22:55
wgrantIt sets include_long_descriptions = False, and then calls a-f.22:56
cjwatsonforwarded to you22:56
wgrantThanks.22:56
cjwatsonoh22:56
cjwatsonthat would indeed be next alphabetically22:56
cjwatsonyep, in a local run it's22:56
cjwatsonsuccessful: lp.archivepublisher.tests.test_publisher.TestPublisher.testReleaseFile22:56
cjwatsontest: lp.archivepublisher.tests.test_publisher.TestPublisher.testReleaseFileForI18n22:57
wgrantGreat.22:57
cjwatsonso this is artificial and we need to get ec2 images upgraded22:57
wgrantI'll get the fixed version onto buildbot while we have a LOSA, and sort of buildbot images today.22:57
cjwatsonthanks; does that indicate bypassing ec2 then, or do you want to upgrade the ec2 images too?22:57
wgrantEr.22:58
wgrants/sort of buildbot/sort out ec2/22:58
cjwatsonaha23:03
wgrantWe're in a fairly good position QA-wise, so as long as I can get buildbot sorted out before thedac disappears, we should be able to deploy this at 0830 on Monday :)23:04
cjwatsonAwesome23:05
cjwatsonThat will make my next week suck a bit less23:05
wgrantThat's the hope.23:05
wgrantKeyboardInterrupt lp.archivepublisher.tests.test_publisher.TestPublisher.testReleaseFileForI18n23:09
* wgrant upgrades apt-utils to lucid-proposed23:09
wgrant  Ran 30 tests with 0 failures and 0 errors in 27.679 seconds.23:11
wgrantSuccess.23:11
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 269 - 0:[########Segmentation fault (core dumped)

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