/srv/irclogs.ubuntu.com/2011/03/31/#launchpad-dev.txt

LPCIBotProject windmill build #122: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill/122/00:35
=== groo_ is now known as groo__
lifelesswgrant: you've been nominated to coordinate killing poppy, if thats ok with you and sinzui00:43
wgrantlifeless: Killing poppy? You mean moving to poppy-sftp before the rollout?01:02
wgrantOr do you mean renaming poppy-sftp to something sensible, which I would also gladly do?01:02
lifelesswgrant: moving to the new service before the db deploy01:15
lifelesspartial scheduled downtime; I've mailed mrevell for a slot on monday01:16
wgrantlifeless: Yeah, saw that. I'll chat with mrevell tonight.01:18
wgrantThanks.01:18
lifelesswgrant: cool, and *thank you*01:21
=== poolie__ is now known as poolie
lifelesswgrant: I don't understand why https://bugs.launchpad.net/launchpad/+bug/745799 shows librarian access01:34
_mup_Bug #745799: DistroSeries:+queue Timeout accepting packages <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/745799 >01:34
wgrantlifeless: It grabs the changes file to send emails.01:35
wgrantIt's on a POST, right?01:35
lifelessyes01:35
* wgrant looks at the OOPS.01:36
lifelesswe should probably store that stuff in -db [massively more resourced] and clear it on completion01:37
wgrantPossibly, although DDs will change where this is required.01:37
wgrantHmm.01:37
* wgrant stabs SPFP.01:37
lifelessStevenK: Revision 1269601:38
wgrantI'm not even sure why it's using SPFP... except maybe for conflict checks.01:38
wgrantWe really need to merge the copier and uploader and queue conflict check mechanisms.01:38
wgrantErm.01:38
wgrantWhy are the PackageDiff queries so slow?01:39
wgrantCould you EA them?01:39
lifelesssure01:39
lifelessjust qaing stuff first01:39
wgrantThanks.01:39
lifelessso we cna fix person:+branches01:39
wgrantGreat!01:39
lifelesswgrant: thoughts on https://bugs.launchpad.net/launchpad/+bug/740640 ?01:40
lifelessqa wise01:40
wgrantlifeless: Deploy it. The non-AJAX stuff looks safe, the AJAX stuff is bad but needs user interaction behind a flag.01:41
wgrant(and it's already broken on prod)01:42
lifelesswgrant: you've looked at subscriptions - -1270401:42
lifelessbah01:42
lifeless1270301:42
wgrantI'm even in the relevant team on qas now.01:43
wgrantCHecking.01:43
wgranthuwshimi: Ah! The privacy overlay!01:45
lifelessanyone know the time dimension in staging restore logs ?01:45
lifeless725,77801:45
lifelesse.g. is that milliseconds, seconds, minutes?01:45
wgrantI presume ms... aren't there timestamps around it?01:46
huwshimiwgrant: Indeed01:46
wgranthuwshimi: Not quite pretty yet, but looks like a good start.01:47
lifelesslooks like redoing trusted.sql was /way/ more time than the heat migration01:47
wgrantHm, that's really unlikely.01:47
lifelesswgrant: and yet...01:48
wgrantSo I think you're reading it wrong :)01:49
wgrantlifeless: We are QAd.01:50
wgrantHm.01:50
wgrantExcept that we are bad.01:50
wgrantr12697 still has the sprites breakage, right?01:51
wgranthuwshimi: ^^01:51
lifelessanyhow01:52
lifeless2011-03-31 00:44:24 INFO    2208-59-0 applied just now in 495.6 seconds01:52
lifelessso, fine.01:52
wgrantYeah.01:52
wgrantNot good, but fine.01:53
huwshimiwgrant: That's right01:53
wgranthuwshimi: I'll tag it.01:53
wgrantLet's deploy 12696.01:53
wgrantUnless the fix is coming RSN.01:53
wgrantHmm, will be on qas in three hours.01:54
wgrantTYhere's only one interesting performance fix between 12696 and the fix, so I think we might as well deploy now.01:55
lifeless+102:01
wgrantRequesting.02:01
lifelesswant to queue it? I'll get onto those explains02:01
lifelessthanks!02:02
wgrantThanks. I don't see why they should be so slow.02:02
* lifeless hopes he got the tone right in his last email02:02
lifelessdoes that include ajax times?02:03
lifelesswgrant: you're talking about the 5x574ms queries ?02:04
wgrantNo.02:04
wgrantlifeless: Yes, those queries.02:04
wgrantAJAX log is 1269902:04
lifelesswgrant: its one slow one02:07
lifelessquery 56902:07
lifelessthe data isn't on qas yet, will see about prod02:09
wgrantThanks.02:09
lifelessoopses are looking good - product:+code-index is only a soft timeout now02:12
wgrantExcellent.02:12
lifelessand > 300 are +branches/+registeredbranhces02:12
wgrantYour fix unbreaks Person:+registeredbranches too, right?02:12
lifelessit should02:12
wgrantHeh02:12
lifelessI didn't explicitly test02:15
lifelessbut to have a different cause would be excitingly coincidental02:15
* wgrant growls at qa-tagger.02:15
wgrantDon't add more items for me to the db-stable report 30s after I look at it.02:16
huwshimiwgrant: Sorry I had a bit of a brain failure when I tagged that as qa-ok, I was forgetting about the sprites thing.02:17
wgranthuwshimi: It happens. I always check the bugs manually before deploying.02:18
huwshimiwgrant: Yeah thanks.02:18
lifelesswgrant: you're doing 721591 ?02:23
wgrantlifeless: Yes, just waiting for mawson to catch up.02:24
wgrantPublishing is slow.02:24
lifelessno worries02:24
lifelessjust seeing if the bugmessage.visibilty move regressed bugtask performance02:24
lifelessOOPS-1916QS19 suggests it may have02:25
StevenKwgrant: Ah ha, that explains why mawson's code was up-to-date when I updated it. Let me know when you're done and I'll play with it.02:25
wgrantlifeless: It could have, but it should be fixable.02:25
lifelessah, hitting reload enough worked02:26
lifelessso if it has regressed its tolerable02:26
lifelesswow02:27
lifeless8 ajax requests for bugtask:+index02:27
lifelesshuwshimi: another tweak - show the count in the collapsed log02:28
lifelessAjax Requests (8 in 12s)02:28
lifeless(just enumerate & sum)02:29
wgrantStevenK: All yours.02:35
huwshimilifeless: Sure.02:36
lifelessgnar, new bugtask heat indices don't want to be used02:36
StevenKwgrant: Thanks, I'll be evil after lunch.02:41
pooliehi all02:42
wgrantStevenK: What DSD malice are you up to?02:42
StevenKwgrant: The job runner.02:42
wgrantAha.02:43
poolielifeless, i like your downtime page02:44
lifelesspoolie: thanks!02:44
pooliere bug 746486, couldn't you just remember a mapping from transaction-id to url?02:45
pooliehuwshimi, ^02:45
huwshimipoolie: But how do we create that mapping?02:47
wgrantI found a YUI bug report asking for this sort of thing.02:48
wgrantThere's no way to do it at the moment :/02:48
wgrantUnless we patch Y.io, I guess.02:48
pooliewow02:50
wgrantYes :/02:52
wgrantIt's a bit crap.02:52
poolieit's not possible to dig the transaction out of the yui internals?02:52
pooliei believe you, i'm just surprised02:53
poolielifeless, what did you mean by "blueprints linked bugs" has "inline editing of lists of bugs"02:56
pooliewhen i look at a blueprint page with linked bugs it does not seem to have any inline edit controls02:56
wgrantthumper: You've hacked lazr.restful a bit, haven't you?03:18
thumperkinda03:18
wgrantI need to change the JSON encoder that it uses. Do you have hints for using a non-released version in a dev LP instance, or should I just create a test egg?03:19
thumperwell... I don't personally have a preference03:20
thumperto test you can easily just create a test egg03:20
thumperand not add it to the branch03:20
wgrantSure.03:21
thumperif I have a resultset designed to bring branch Branch objects03:40
thumperhow can I change the resultset to just give me the Branch.id column?03:40
wgrantthumper: Look at .values03:42
wgrantresultset.values(Branch.id)03:42
thumperwgrant: cool, ta03:42
wgrantwallyworld: You can't do the escaping inside update_field?03:43
thumperwgrant: I mentioned that in one of my review replies03:43
wgrantIt was my initial suggestion, and I still think it's the right place to do it.03:44
wgrantThe latest version is less bad, but it's still the wrong layer.03:44
wallyworldwgrant: sorry, i misunderstood. i'll rework it03:44
wgrantwallyworld: Thanks. While your previous versions will work, I want it to be hard to misuse, or people are going to misuse it.03:45
wallyworldwgrant: are we sure update_field is used universally and will capture all cases?03:45
wgrantwallyworld: No.03:45
wgrantBut it should be.03:45
thumperI know it isn't used universally yet03:45
thumperit is still a recent (ish) change03:46
wgrantthumper added the event recently, though...03:46
wgrantSo update_field may be the only consumer of that event.03:46
thumperI think it is03:46
thumperwe may however need to tweak it03:46
wgrantI want these abstractions to be neat, so people don't have to care about escaping.03:46
wgrantThey can just do the simple thing, and it will do the right thing for them.03:47
wallyworldwgrant: agreed :-)03:47
thumperas I think there are places where it expects a plain string03:47
thumperand other places where it expects real HTML03:47
thumperwe may want two methods03:47
wallyworldthumper: that's my worry too03:47
wgrantthumper: Hm? Are there are more than two cases?03:47
thumpertwo methods is fine03:47
thumperwgrant: yes03:47
wgrant1) Given HTML. Needs not to be escaped.03:47
thumpertitles03:47
wgrant2) Given non-HTML. Always safely escapable, sometimes needs to be escaped.03:48
thumperassignees which is a link to a person03:48
thumperwgrant: the question becomes how to determine the HTMLness of the param03:48
thumperI suppose we could have the new_value_html be a Node03:48
thumperand check that03:48
wgrantthumper: Exactly.03:49
thumperthen there is still one method03:49
thumperwallyworld: make it so03:49
wgrantMy suggestion is to parse all HTML values into Nodes before giving them03:49
wgrantto the callbacks. This lets update_field distinguish between safe and03:49
wgrantunsafe values.03:49
thumperthat makes a certain amount of sense03:49
wgrantThis is similar to what I am doing to our templates at the moment.03:49
* wallyworld switches branches again03:50
wgrantUnity, you were doing so well. You had not crashed for three days.03:56
StevenKHah04:06
huwshimiA simple review for someone: https://code.launchpad.net/~huwshimi/launchpad/browse-links-746104/+merge/5566704:15
huwshimithumper? wgrant? ^04:15
* wgrant looks.04:16
wgrantDifficult.04:16
wgrantStevenK: Want a very difficult mentor review?04:17
StevenKwgrant: No? :-)04:18
thumperdone04:18
wgrantThanks thumper.04:19
StevenK2011-03-31 03:19:20 INFO    Ran 48 DistroSeriesDifferenceJob jobs.04:19
StevenK2011-03-31 03:19:20 DEBUG   Removing lock file: /var/lock/launchpad-rundistroseriesdifferencejob.lock04:19
StevenK\o/04:19
wgrantBut did they work?04:20
lifelessdo we have a bug for the loggerhead test fail ?04:20
wgrantThere is a loggerhead bug. Not sure about a launchpad one.04:20
lifelessah 74573804:20
StevenKwgrant: That's the next question.04:30
StevenKBut first, tea.04:30
* StevenK tries to work out how to disable the annoying update-motd stuff04:38
LPCIBotProject windmill build #123: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill/123/04:40
=== Ursinha-bbl is now known as Ursinha
lifelessok, buildbot should succeed *next run*04:49
* StevenK finds another DSD bug04:50
StevenKThis is just a wart, nothing bad04:51
StevenKwgrant: I'm having trouble finding the code that lists the differences for DSDs, can I have a quick hand?05:14
StevenKwgrant: I'd like to hide the child difference line if dsd.base_version == dsd.source_version05:14
wgrantStevenK: You want to hide the child diff, you mean?05:15
StevenK        * 3.6.2.0-3 to Maverick version: 3.6.2.0-305:15
StevenK        * 3.6.2.0-3 to Sid version: 3.6.3.0-205:15
StevenKI'd like to not display the first line, since they're the same and the diff will be empty05:15
wgrantStevenK: Grep around in lib/lp/registry/templates, I guess.05:22
wgrantI think Unity just survived me pressing Ctrl+Alt!05:22
wgrantYes, I can press Ctrl+Alt reliably now.05:22
wgrantThis is a good start.05:22
wgrantAh no, broken again.05:23
StevenKwgrant: I can't see anything obvious in lib/lp/registry/templates/distroseries-localdifferences.pt05:27
wgrantStevenK: distroseriesdifference-listing-extra.pt05:29
StevenKwgrant: Ah ha! Thanks.05:31
wgrantthumper: Still around?05:34
wgrantthumper: Do you recall why we wanted hybrid JSON/XHTML representations in the client cache? We can restore them now, if we want.05:37
pooliehuwshimi, while you're doing css-easy bugs, it would be nice if the textareas for entering bug and mp comments used the same monospace font as the comments are finally shown in05:39
pooliei think there's a bug for this05:39
huwshimipoolie: I think I've seen that bug05:39
pooliejust if you're running low :)05:39
wgrantIn https://code.launchpad.net/~wgrant/lazr.restful/bug-684430 I've changed lazr.restful to give XML-escape-safe JSON in most cases. But this will somewhat bloat XHTML representations that are delivered inside application/json... do we care?05:40
wgrant(<, >, & get translated to \uXXXX)05:40
huwshimipoolie: Are you thinking of this bug: 713366?05:41
wgrantIf we care, then I can shuffle things so it only affects the TALES function, but that seems overcomplicated.05:41
pooliewgrant i doubt that would ever impact performance05:41
pooliecompared to all the round trips05:41
wgrantpoolie: Right.05:41
poolieis there any chance any client libraries will fail to understand it?05:41
wgrantNo.05:41
wgrantEven cjson understands this, and cjson is pretty bad at complying with the spec :)05:42
pooliei can't think of any other consequences then; can you?05:42
wgrantThe only negative consequences are ugliness and slight bloat.05:42
wgrantIt's still perfectly correct.05:42
pooliemm05:42
poolieit's not really optimized for human reading now05:43
wgrantIndeed.05:43
poolieso a weak approval from me05:44
wgrant(ugliness also in terms of escaping where we don't need to. but it's not like HTML escaping, because the strings are exactly equivalent once the JSON is parsed)05:44
poolieor rather enthusiastic but non-authoritative05:44
wgrantHeh05:44
wgrantThanks.05:44
wgranthttps://code.launchpad.net/~wgrant/lazr.restful/bug-684430/+merge/5567805:56
LPCIBotProject db-devel build #507: FAILURE in 5 hr 21 min: https://lpci.wedontsleep.org/job/db-devel/507/05:57
wallyworldwgrant: i think my xss fix may be ok now?05:57
wgrantwallyworld: Let's see.05:59
wgrantwallyworld: You use get('innerHTML'), but can't you just set the Node as the content directly? I don't really know YUI, but from my experimentation that seems like it should be possible.06:00
wgrantIndeed, you already do that in multicheckbox.js06:00
wallyworldwgrant: which line nr?06:01
wgrantlp.ui.js, 81 in the diff.06:01
wgrantIn picker.js you've lost a containing <span>. That doesn't matter at all?06:02
wallyworldwgrant: yes, i missed that one. as you say i changed in elsewhere. i'll fix06:02
wgrantThanks. This looks really good.06:02
wallyworldwgrant: also, your lazr restful mp - you need to update news.txt and other stuff. i've already got a mp almost ready to land. i can merge in your stuff once approved and it can be done in one go if you like06:03
wgrantwallyworld: I've already added a NEWS.txt entry. But yes, we should probably release both as 0.18.1.06:04
wgrantWhat's your change?06:04
wallyworldwgrant: https://code.edge.launchpad.net/~wallyworld/lazr.restful/propogate-notifications/+merge/5469006:04
wgrantAh, right.06:04
wgrantthat one scares me :)06:05
wallyworldwhy? :-)06:05
wgrantVery handy, but scary.06:05
wallyworldit replicates what we already do06:05
wallyworldfor page loads06:05
wallyworldbut also now via xhr calls06:05
wgrantYeah, but it's really racy.06:05
wgrantI am very wary of adding 10x the opportunities for races.06:06
wallyworldi can see what you mean, but given how we use ajax atm, it should be ok06:06
wgrantI would prefer it if the lazr.restful operations would use a separate notification system that didn't use the session, just returning them within the request.06:06
wgrants/system/provider/06:06
wgranteg. if you comment on a bug then quickly load another one, the notification comes up on the wrong page.06:07
wgrantThis is going to make that a whole lot worse.06:07
wgrantHowever, I guess that fix is on the LP side, not in lazr.restful.06:08
wgrantSo this change is probably OK to land. Do you have the LP changes yet?06:08
wallyworldwgrant: yes - currently being reviewed. i have a pipe. 1st one for the core infrastructure changes, next one for the actual end functionality06:09
wallyworldwgrant: https://code.edge.launchpad.net/~wallyworld/launchpad/show-ajax-notifications/+merge/5434206:10
lifelessstub: so I'm thinking a -1 and -2 patch *in case* qa is stalled and my updating indices patch doesn't get through in time for the deploy06:11
wallyworldwgrant: re your earlier comment. the notifications are returned with the response to a given request06:11
lifelessstub: that way we /can/ do it live if we need to06:12
stublifeless: sure.06:12
wgrantwallyworld: I'm not sure how well that's going to interact with my markupsafe changes, but I guess I'll see when I get to that.06:12
lifeless(-1 to drop the index that is superceded, -2 to add the two new ones). We may need to change the other indices, but I'd like to wait for performance data before doing that.06:12
lifelessstub: ok, I'll prep06:12
wgrantwallyworld: But the normal LP notification infrastructure uses the session, so they can leak cross-request if timing is bad.06:12
wgrantwallyworld: We may later need to fix this for API requests, but it seems well layered so that should be easy.06:13
wallyworldwgrant: atm, i'm not changing the backend implementation wrt content/escaping or mechanics of generating notifications. i'm just providing the transport so that xhr calls can get notifications pushed through06:14
wgrantwallyworld: In the bit around line 32 of the blueprint-title-fix diff, any reason you're escaping and setContent instead of using default_value.set('text', default_value)?06:15
wgrantUm, obviously without using the same variable name twice.06:16
wallyworldwgrant: cause i didn't know about set('text', ...). my js/yui foo is improving but i'm not an expert clearly :-)06:16
wallyworldwgrant: so does set('text'...) escape correctly etc?06:16
wgrantwallyworld: Yeah, me neither... I know a bit of jQuery, but my only real YUI experience is this week.06:16
wgrantwallyworld: It doesn't need to escape, since it is using the DOM.06:17
wgrantBut effectively, yes.06:17
wallyworldwgrant: ok, so under the covers it will render correctly i guess i what i'm asking. i'll change it and retest06:17
wgrantlifeless: Thanks.06:17
wgrantwallyworld: I'm going to try to break it locally, since I don't quite understand what a couple of the bits do.06:18
wgrantI need to learn more about our JS :/06:18
wallyworldwgrant: break away :-)06:18
wgrantwallyworld: Does the new object from the event get stored somewhere that I can get to in the console?06:21
thumperwgrant: ask me again tomorrow when I'll have time to give you a full answer06:22
wallyworldwgrant: you mean the new_value key of the dict?06:22
wgrantwallyworld: I ideally want to see the whole object, I guess.06:22
wgrantHmm, something's still wrong.06:22
wallyworldwgrant: you may need to set a breakpoint as it's just passed around and not stored anywhere06:23
wgrantwallyworld: If you load a blueprint, change the title to have '<boo>' in it, refresh the page, then change another field (eg. Approver), the breadcrumb flashes green on the first change.06:23
wgrantSo we're still doing something slightly wrong.06:23
lifelessugh06:23
lifelesswhy does launchpad forget I merge into db-devel every day now ?06:24
wgrantlifeless: Oh, so it's not just me.06:24
wallyworldwgrant: you mean the first change after refreshing the page?06:24
wgrantwallyworld: The first change after refreshing the page makes the breadcrumb flash, yes.06:24
wgrantwallyworld: So the cache value is wrong, somehow.06:24
lifelessstub: can has tick? https://code.launchpad.net/~lifeless/launchpad/bug-618406/+merge/5568006:24
wgrantOr the new value is just different, despite being the same.06:24
wallyworldwgrant: could be the stupid <p> wrappers06:25
wallyworldi'll have a look06:25
wgrantwallyworld: Yeah, I'm guessing so.06:25
wgrantThanks.06:25
wgrantwallyworld: It's possibly related to the fact that there is no HTML cache to compare against.06:25
wgrantThis can be fixed now, though, since we are escaping JSON properly.06:25
wallyworldwgrant: well, the html is just presentation. it's the underlying values which are compared06:25
wgrantwallyworld: Ah, OK.06:26
wallyworldso the <p> comment i made is likely wrong06:26
wallyworldwgrant: for example, an assignee attribute may be fred but the html property will be <a> href=...~fred...</a> etc06:27
stublifeless: tick06:27
wgrantwallyworld: Right, but I wasn't sure if it compared the HTML values too.06:27
wallyworldwgrant: no, it doesn't06:28
wgrantstub: Ah, thanks, forgot to reply to that email, but you said what I wanted to :)06:29
stubI hereby apologise for INotificationRequest. My only excuse is I didn't know better, many years ago when I wrote it :)06:31
lifelessstub: hahaha06:31
lifelessstub: do you mean about the session aspect, or some other aspect ?06:31
stubre: session, it was written correctly first off with state being passed in the URL. But that was deemed too ugly so I had to break it.06:32
lifelessthats right06:32
stubI'm talking about notifications being HTML strings06:32
lifelessah!06:32
stubThink Curtis fixed that06:32
lifelessrighto, that makes more sense (I distinctly remembered discussing the session aspect with you at the time)06:33
lifelessI have an idea for fixing the urls.06:33
wgrantstub: I'm hopefully getting to fixing that stuff tomorrow.06:33
lifelessif we :06:33
lifeless - put notifications in their own place (perhaps in the session db still)06:33
stubIIRC, the fundamental problem is it is impossible to differentiate one browser window from another reliably.06:33
lifeless - with an association to a user (as only logged in folk can trigger notifications)06:33
wgrantstub: Yes :/06:34
wgrantThe easiest way to fix this is probably to just continue AJAXifying everything.06:34
lifelessthen we could use a very short short (primary key in the table) reference to select the notification to show06:34
poolielifeless, hi06:37
pooliecan you give me a url showing inline bug list editing?06:37
lifelesspoolie: hi, sorry, edistracted06:37
poolienp06:38
lifelessthere are some in 72702306:38
pooliei just had no idea that was actually implemented so i was curious to see it06:38
lifelessthe blueprint thing I'm going off an escalated bug06:38
lifelesswhich I think was fixed06:38
lifelessthat you couldn't change the status of linked bugtasks on a blueprint06:38
lifelessI may be misremembering06:39
stublifeless: I suspect the existing mechanism is good enough rather than polluting the URLs with a query parameter. Cure seems worse than the problem (which is rare to trigger (?), and harmless).06:39
lifelessanyhow, I'm basically massively skeptical of any per-bug rules until we have /any/ bug stuff working really well06:39
poolieseparately, i just got a timeout again  OOPS-1916L440 on my code homepage06:39
lifelessstub: its certainly low priority06:39
poolieis that a regression of bug 74531006:39
_mup_Bug #745310: Person:+branches timeout <qa-ok> <regression> <timeout> <Launchpad itself:Fix Released by lifeless> < https://launchpad.net/bugs/745310 >06:40
poolie(if known, np)06:40
lifelessstub: I can reproduce it really easily; I have  ascreen shot around somewhere with 8 or so notifications on one page06:40
lifelesspoolie: I'll look at the OOPS. my WAG is that the page was poor before the regression, and thus is just timing out naturally because ithasn't been optimised (just restored to its prior behaviour)06:40
stubyer, but you have to try hard. People are less likely to be submitting 8 tabs simultaneously now that Launchpad performance sucks so much less.06:41
pooliei wonder06:41
wgrantstub: And we do lots of stuff by AJAX now, which can do notifications without the session evil.06:41
stubwgrant: If you pull in the notifications asynchronously, you still have to somehow identify *this* window's set of notifications vs. *that* window's set of notifications.06:43
wallyworldwgrant: the issue was that when a page first loads, the cache contains the escaped value, but then the update_cahced_object() function stuffs the unescaped new value into the cache. this is how it always has been so i'll fix it06:43
=== almaisan-away is now known as al-maisan
wgrantOh.06:44
wgrantwallyworld: My lazr.restful branch fixes that.06:44
wgrantwallyworld: The cache now contains the unescaped value.06:44
wgrantHow did I not think of that :/06:44
wgrantLet's see if it works now.06:44
wallyworldwgrant: ok, then i won't change it on my side06:44
wgrantwallyworld: Yeah, new lazr.restful fixes it.06:46
wgrantGreat.06:46
wallyworld\o/06:46
wgrantSo, I'm not quite done yet, but I think this infrastructure may just about be correct.06:46
wgrantThen we can deploy it eeeeeverywhere.06:46
wallyworldwell it's certainly a big improvement on what it was.06:47
wallyworlddid you head spin around when you said "eeeeeeverywhere"?06:47
wallyworldwgrant: can you let me know when your lazr-resful mp is approved so i can roll it into a single 18.1 release? thanks.06:49
wgrantI need to work out how to land it.06:49
lifelesslp-land06:49
wallyworldi was just going to merge it into mine directly06:50
wgrantMight as well land separately, or it's going to be confusing to people looking through the history.06:51
wgrantlifeless: You haven't by any chance added a long-poll change notification service to LP while I wasn't watching, have you?06:51
wallyworldok06:51
lifelesswgrant: sorry no06:51
lifelesswgrant: I know where one is we can pick up and use06:51
lifelesswgrant: or I have some ideas on a variant06:52
wgrantDamn.06:52
lifelesswgrant: I think this is fine06:53
lifelessthe race is lower on faster requests06:53
wgrantSure.06:53
lifelesswgrant: I agree we should improve it, but perfect enemy of the good06:53
wgrantOh, lazr.restful isn't PQM.06:54
wgrantHandy.06:54
wgrantwallyworld: Mine's landed.06:59
wgrantNow, let me finish up reviewing your client fixes.06:59
wallyworldwgrant: thanks. will grab it. hopefully my mp will get approved tonight.06:59
wgrantwallyworld: One thing: testtools is only a test dep, so it shouldn't be in requires.06:59
wallyworldwgrant: ah ok. i was just going by what i though the review comments said i had to do. i actually agree with you that it needent be listed as a dep. i'll have another look.07:01
poolielifeless, sorry, i'm tired and i'm probably just being thick, but i can't see why a lock bit would have any performance impact07:02
wgrantwallyworld: I didn't read the comments at all.07:02
wgrantwallyworld: Do we need getHTMLOrDefault? I can't think when we'd need a fake HTML representation for something that doesn't have an HTML representation.07:08
wallyworldwgrant: i put it there as a "failsafe" so that something sensible would still be displayed if there were no explicit html included07:09
wgrantwallyworld: I think we probably want to crash in that case, no?07:09
wallyworldwgrant: not sure. i can see both sides.07:10
wgrantBecause that function does some slightly questionable stuff, so it would be nice to demolish it if it's not really useful.07:11
rvbaHi lifeless. A question about qa-ing changes. If you look at 737165 ... you can see I've qa-ed this (on dogfood, with the help of bigjools because qa-ing this required admin rights to set a feature flag) but it got flagged qa-needstesting again. Not sure what to do at this point.07:13
rvbahttps://bugs.launchpad.net/launchpad/+bug/73716507:13
_mup_Bug #737165: Add search option for higher versions of local packages <derivation> <qa-needstesting> <Launchpad itself:Fix Committed by rvb> < https://launchpad.net/bugs/737165 >07:13
rvbaI suppose I should just tag it again qa-ok ... but I prefer to check with you first ...07:15
wgrantrvba: Yes, just tag it again.07:15
wallyworldwgrant: i'll look at removing it. leave it with me07:15
wgrantqa-tagger ignores old tags, since bugs can be reused.07:16
rvbaall right07:16
wgrantwallyworld: Thanks. Apologies for being so nitpicky, but this stuff will hopefully be used everywhere eventually, so I want to get it *really* right now.07:16
wallyworldwgrant: np at all. i agree with the need to get it as right as possible.07:17
=== al-maisan is now known as almaisan-away
lifelessrvba: things get tagged every time that they show up on the landing branch07:28
lifelessrvba: tagging them ok orotherwise before the taggers get to them just means you'll need to do it again07:29
lifelessrvba: ah, as wgrant explained ;)07:29
rvbalifeless: I get it now ;-). I'll make sure to check that every time I receive a mail from the buildbot.07:30
wallyworldwgrant: tis done07:36
wgrantWoo.07:36
wgrantThis change has made the code 15 lines shorter, which can only be a good thing.07:37
wgrantwallyworld: As I said on the MP, _defaultFormatter is a bit odd and I don't understand its purpose.07:38
wgrantIt's still using innerHTML, so it smells bad.07:38
wgrantIt might be right, but I don't know.07:38
wgrant161+        // If there is no html representation, the raw cache value should be07:39
wgrant162+        // properly wrapped inside a node.07:39
wgrantThat test comment's wrong now, right?07:39
wgrantThe test itself seems to be correct.07:39
wallyworldwgrant: bugger sorry. comment is borked07:39
wallyworldwgrant: _defaultFormatter is required to return text, and now getHTML wraps stuff inside a node, so get get('innerHTML') is necessary07:43
lifelesspoolie: all software sucks.07:43
lifelesspoolie: some software sucks more07:43
wgrantwallyworld: Hm, so it will return HTML or unescaped text, right?07:43
wallyworldwgrant: although the null case needs to be checked now07:43
wgrantAnything that calls it is probably broken, then.07:43
lifelesspoolie: for performance in launchpad the question isn't 'can it have a performance impact', it is 'is the performace impact low enough'07:43
lifelesspoolie: we have, you might say, a target rich environment07:44
lifelesspoolie: there are practical limits beyond which theoretical models just fail - like in python profiling, actual measurement is the key things07:44
lifelesspoolie: I suggest that if you want a better metric than my hunch as expressed, that it needs coding up and scale testing07:45
wallyworldwgrant: yes, I think it returns html (when asked to do so) but that html is expected to be safe07:45
wgrantwallyworld: Hm, so the caller sets use_html?07:46
wgrantAs I said, this might well be fine, it just seems odd to have a function return both trusted and untrusted strings.07:47
wgrantDepending on the situation.07:47
wallyworldwgrant: yes, see text-area-editor.pt07:47
lifelessprinciple of least suprise07:48
wallyworldthat's the only place that sets it to true07:48
wgrantAh, I see.07:48
wgrantI might file a bug for that.07:49
wgrantSince it's mildly insane.07:49
wgrantAnyway, approved.07:49
wgrantlifeless: Still around to mentor?07:49
wallyworldwgrant: thanks07:50
lifelessin a few minutes07:50
LPCIBotProject windmill build #124: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill/124/08:04
wgrantlifeless: Thanks.08:14
lifelessgrah08:21
lifelessanother compiler layering bug08:21
adeuringgood morning08:42
=== almaisan-away is now known as al-maisan
wgrantMore conflicts :(09:14
lifelesscan has review https://code.launchpad.net/~lifeless/launchpad/bug-618406/+merge/55703 ?09:20
lifelessstub: one more if you have time https://code.launchpad.net/~lifeless/launchpad/bug-618406/+merge/5570309:51
LPCIBotProject devel build #595: FAILURE in 5 hr 5 min: https://lpci.wedontsleep.org/job/devel/595/09:51
StevenKallenap: https://code.launchpad.net/~stevenk/launchpad/dsd-hide-child-diff/+merge/5568509:52
allenaplifeless: I'll take it.09:52
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
stublifeless: done09:55
lifelessstub: thanks10:05
lifelessallenap: Thanks, but stub got there ;)10:09
allenaplifeless: No worries, I'm happy :)10:09
stubdb-devel qa is all green (sorry about those patches! I need some better reminder system for qa todo)10:11
stubHmm... so my ec2 instance is terminated, but no results :-(10:14
stuboh... there they are10:15
stubDo we have any scripts that still need LibrarianLogger? Its a pain and I think the noise problems it solved no longer exist.10:17
lifelessdunno; fine to nuke IMO10:18
lifelessstub: I check both deployment reports as part of 'starting work' and 'wrapping up10:18
lifeless'10:18
lifelessdaily10:18
=== al-maisan is now known as almaisan-away
lifelessnight all11:35
deryckMorning, all.12:12
bigjoolsallenap: did you say you were fixing the db-devel conflict ?12:16
=== almaisan-away is now known as al-maisan
* jml has spent the morning defacing sheets of creativity-sized paper.12:48
* henninge lunches12:49
=== matsubara-afk is now known as matsubara
bigjoolsjml: is that a euphemism?13:02
jmlbigjools: heh. no.13:03
bigjoolsjml: guess where I do most of my thinking :)13:03
jmlbigjools: :D13:03
danilosallenap, hi, care to give me a quick review of: https://code.launchpad.net/~danilo/launchpad/revert-xss-workaround/+merge/55738 (all removal of something we landed earlier :)13:06
wgrantdanilos: Yay, thanks.13:07
daniloswgrant, heh, you are welcome :)13:07
wgrantdanilos: If you run into any more escaping issues like that, *please* whine at me until I fix them before working around them like that :)13:08
daniloswgrant, heh, if all it takes is whining at someone, I'd be happy to :)13:08
daniloswgrant, fwiw, I do agree with your position, and I brought it up multiple times (in pre-imp, MP, ... :), but we are also working against a deadline13:09
daniloswgrant, now that I know the proper address to whine at, all the better :)13:09
jmloh yeah13:11
jmlcolo13:11
wgrantdanilos: Maintenance squads are handy for this sort of thing.13:11
jml...13:12
wgrantOh dammit.13:14
wgrantThe new superlong buildd connection timeout sucks.13:14
jmlwhycome13:20
wgrantOne could previously kill a build from a hung builder by disabling the builder.13:22
wgrantThe connection would time out after a reasonable interval.13:22
wgrantAnd the next scan would see that the builder was disabled.13:22
wgrantBut now the connection timeout is something like a day.13:22
wgrantSo that doesn't work so well.13:22
bigjoolss/builder/virtual builder/ :-)13:23
wgrantYeah.13:23
wgrantBut I like to pretend that armel doesn't exist, and the others don't hang, so...13:24
bachi allenap, have time for a review?13:26
jmlffs.13:30
jmlI should release testtools already.13:30
LPCIBotYippie, build fixed!13:32
LPCIBotProject db-devel build #508: FIXED in 5 hr 27 min: https://lpci.wedontsleep.org/job/db-devel/508/13:32
jelmerjml: you should.13:32
allenapbac: Certainly :)13:33
allenapdanilos: But I'll do yours first.13:33
bacallenap: great: https://code.edge.launchpad.net/~bac/launchpad/bug-745660/+merge/55636  -- most of the 700+ lines are a file deletion13:33
allenapbigjools: I think I fixed the db-devel conflict... I have my fingers crossed.13:34
allenapbigjools: No I didn't.13:34
bigjoolsallenap: yeah :(13:34
bigjoolsnagbot is still nagging13:35
allenapPQM swallowed my branch and defecated it into /dev/null.13:35
wgrantbigjools: I didn't think of this consequence when I sped up PQM :/13:35
allenapI'll have another go.13:35
wgrant(buildbot-poller only tries to merge again if there's not already a merge in the queue, so the OMG-so-slow PQM slowed down the spam too)13:35
rvbaallenap: a small MP to review if you have the time https://code.launchpad.net/~rvb/launchpad/dds-fix-localpackagediffs-745776/+merge/5570413:50
allenaprvba: Should do.13:51
rvbaallenap: great13:51
deryckhenninge: ping for standup14:00
adeuringallenap: could you please have a look at this mp: https://code.launchpad.net/~adeuring/launchpad/js-translation-2/+merge/55575 ?14:16
allenapadeuring: I'll probably get to it, sure.14:18
adeuringallenap: thanks!14:18
danilosallenap, btw, thanks for the review :)14:30
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
allenapdanilos: No worries. It was an easy one!14:34
=== matsubara is now known as matsubara-brb
gary_posterhey allenap, jcsackett, would love a review of https://code.launchpad.net/~gary/launchpad/bug741684/+merge/55656 and follow-on branch https://code.launchpad.net/~gary/launchpad/bug741684-2/+merge/55657 when you have a moment.14:53
jcsackettgary_poster: looking at the first of those now.14:53
gary_posterawesome thank you jcsackett14:53
LPCIBotYippie, build fixed!14:55
LPCIBotProject devel build #596: FIXED in 5 hr 4 min: https://lpci.wedontsleep.org/job/devel/596/14:55
jcsackettgary_poster: i don't think you have any reason to worry about problems with caching initial_message; to my knowledge, one of the reasons we access initial_message is b/c it *doesn't* change, so we can use it as a reference.15:00
gary_postercool, thanks15:01
jcsackettso it's a pretty excellent candidate for cache.15:01
gary_posterawesome15:01
jcsackettgary_poster: what's the reason for LeftJoining on BugActivity from BugNotification? can you have a situation where a notification has no corresponding activity?15:02
gary_posteryes, jcsackett.15:02
jcsacketthuh.15:02
* jcsackett makes note that he misunderstands what bugactivity must be.15:03
jmlI want to run a process from a Python script. I want to collect the stdout and the stderr. I want to be able to get the "pure" stdout, unmixed with stderr, but I would also like to be able to have a combined stdout/stderr that looks a lot like hat you would get if stdout & stderr went to the same pipe15:03
jmls/hat/what/15:04
gary_posterjml, ec2 test does something like that IIRC.  It's not easy nor perfect15:06
james_wjml, you're not going to like it, but there is code at http://bazaar.launchpad.net/~james-w/ubuild/trunk/view/head:/ubuild/background_runner.py that works15:06
jmlgary_poster: actually, it doesn't. I'm fixing ec2 test to do that :)15:06
jmljames_w: your powers of prediction are amazing :)15:07
jmljames_w: I think I could justifiably switch to using Twisted rather than do that.15:08
jmlhmm.15:09
jmlmaybe I can do something where I set up a couple of forking streams and replace p.stdout & p.stderr with them15:10
jmlsomething roughly equivalent to p.stdout = MultiStream(pure_stdout, mixed_output); p.stderr = mixed_output15:11
jmlugh, no, wrong direction15:15
=== matsubara-brb is now known as matsubara
deryckhenninge: did you want to chat about js at all?  Or you're good?15:23
=== al-maisan is now known as almaisan-away
henningederyck: at the moment I am good.15:24
henningethanks for asking15:25
deryckhenninge: ok.  I'm stepping out of the office for a lunch outside the house.  In about an hour.15:25
deryckadeuring: ^^  just fyi15:25
adeuringok15:25
henningeok15:25
gary_posterjcsackett, on calls, so sorry for "succinct" message15:32
gary_posterbug activity is not always generated15:32
gary_posterIIRC, comments don't always have one, for instance15:32
gary_posterI don't remember the details, but I do remember that it is not always there15:32
jcsackettgary_poster: dig. no worries for the succinctness. :-)15:33
gary_poster:-)15:33
gary_posterthanks15:33
jcsacketti am surprised that creating a comment could not count as activity; seems to break my mental model of what should be happening. :-)15:35
jcsackettbut then, that happens all the time.15:36
gary_poster:-)15:37
LPCIBotProject windmill build #125: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill/125/15:38
bacallenap: thanks for the review and the suggestions!15:51
allenapbac: You're welcome.15:52
baci wasn't aware about cmp.  good to know.15:52
jcsackettgary_poster: r=me on part 1. looking at the second bit in just a few.15:53
gary_postergreat, thanks again jcsackett15:54
jmlUrsinha: I'm looking at https://bugs.launchpad.net/launchpad/+bug/71583215:55
_mup_Bug #715832: ec2 land adds duplicate tags to the merge proposal's commit message <build-infrastructure> <ec2land> <ec2test> <Launchpad itself:Triaged> < https://launchpad.net/bugs/715832 >15:55
jmlUrsinha: I think you originally changed autoland to edit the commit message15:56
jmlUrsinha: what was the motivation behind that?15:56
gary_posterjcsackett, while it is still in your head, I'd love to get your ideas on reducing the churn in that for loop.  mumble would be fine--I could take notes for a third branch, or comments, or future work, or something.  It would be a shame to lose your idea though.15:59
jcsackettgary_poster: what does the ProxyFactory decorator do? is that the one that throws a security proxy on returned data?15:59
gary_posterjcsackett, exactly15:59
jcsackettgary_poster: my notions on it are still churning--i'm not certain i *have* a solution, just i see that the DB call is happening at roughly a similar O() as before, so could still be an issue.16:00
gary_posterjcsackett, gotcha.  If there are no teams without preferred emails, and only one notification at a time, you are right, the changes in the loop are small.16:05
gary_posterI know we have multiple notifications at a time, though; and I actually ought to see how many teams we have with and without a preferred email--I bet that's a relatively simple SQL select I can make on staging.16:05
gary_posterSadly, I don't see a way to simplify this further and maintain the desired functionality.  That isn't to say that there isn't onem of course.  If there are more problems, it will be interesting to see what we can do.16:05
jcsackettgary_poster: yeah, i think if we reach a point where further changes are needed, we're going to have an interesting time of it.16:06
jcsackettthat said, and as i said in the review, the actual DB stuff itself is cheaper than it was thanks to your changes, which is a huge help. and the situation in which your other changes doesn't help should be an edge case.16:06
gary_posteryeah, hope so. Thanks.16:07
jcsackettgary_poster: on part 2, you the goal of _get_recipients_for_team is to get emails for every Person (who is not a Team) that has membership in the team, whether directly or via another team, right?16:10
gary_posterjcsackett, not precisely.  The logic is similar to that described in get_recipients:16:11
gary_postera team with a preferred email is its own recipient, with no transitive walk down.16:12
jcsackettaaah, missed that bit.16:12
gary_posterif a team does not have a recipient, then you need to do a transitive walk down to find what does16:12
gary_poster(which can be a person or a team)16:12
jcsackettright, now it all clicks together.16:12
gary_postercool16:12
jcsacketti was about to suggest a single query via teamparticipation, but the filtering to then get rid of people you don't need would be just as expensive as the current iterations.16:13
gary_posteryeah.  I also considered a recursive with statement, but it didn't seem to be a match: I need to walk down the things I don't return.16:13
gary_poster(where with helps you walk down the things you return)16:14
gary_posterI could have done it with "with" but it would have made more loops in the DB, even though there might be fewer in Python.16:14
gary_posterAt least the way I conceived of it16:14
jcsacketti think you're right, as i'm thinking through this. and we would much rather have the loops be in python, given db speed was the problem. :-P16:15
gmballenap, jcsackett: Could one of you review the code portion of https://code.launchpad.net/~gmb/launchpad/team-subscription-opt-out/+merge/55764 please?16:15
gary_poster:-) yeah.  Well, the speed is honestly the first problem.  The DB usage is a scalability issue, and a secondary problem.  But yeah, ideally we'd fix both. :-/16:16
allenapgmb: Sure, I'll do it next.16:16
gmbCool, thanks.16:16
jcsackettgary_poster: r=me on part 2. i have no problems with it being a function, rather than a method. :-)16:18
gary_posterjcsackett, cool :-) .  Thanks!16:18
jcsackettyou're welcome.16:18
=== deryck is now known as deryck[lunch]
allenapgmb, apparently you have largely reimplemented Launchpad: Diff against target: 345455 lines (+151809/-75208) 3004 files modified16:49
gmbWAT16:49
allenapI'm not going to be able to review that today.16:49
gmbgary_poster: So, that bzr problem you mentioned...16:49
gmb^^16:49
gmbOo-kay.16:49
gmballenap: Let me take a look at that, then.16:49
gmbOh.16:50
gmbHahaha.16:50
gmbInteresting.16:50
gmballenap:  Ready for review for merging into lp:~gmb/launchpad/db-devel16:50
=== matsubara is now known as matsubara-lunch
gmbE_RONG_TARGET16:51
allenapHehe :)16:51
gmballenap: https://code.launchpad.net/~gmb/launchpad/team-subscription-opt-out/+merge/55779 instead.16:52
rvbaallenap: jcsackett I've 2 small bugfix MP for you to review:16:52
rvbahttps://code.launchpad.net/~rvb/launchpad/dds-req-packagediff-fix-flashing/+merge/5577516:52
rvbahttps://code.launchpad.net/~rvb/launchpad/dds-fix-localpackagediffs-745776/+merge/5570416:52
allenapgmb: Okeydoke.16:52
gmbTa16:53
allenaprvba: I'll see if I can squeeze one of those in after Graham's.16:53
rvbagreat16:53
jcsackettrvba: i'm looking at the first of the two now.16:53
rvbajcsackett: thx16:53
=== salgado is now known as salgado-lunch
jcsackettrvba: why the name change from "retry_handler" to "recompute"? was it just to be clearer, or was there anything else?16:57
rvbajcsackett: yes, just to be more clear16:57
jcsackettcool.16:57
=== _mup__ is now known as _mup_
jcsackettrvba: to summarize, the big change here is that you're now attaching events to that new span, which is replaced by a placeholder without events on error. is that correct?16:59
rvbajcsackett: right17:01
jcsackettrvba: last question. :-) ui wise, i see that you are removing the red flash animation. this isn't something we want on error anymore? or is it provided by somethine else now?17:02
rvbajcsackett: I removed the flash anim because, although I like js animation as much as the next guy, you'll be instant feedback right where you've just clicked17:03
rvbahence no need to flash17:03
jcsackettrvba: okay. r=me.17:04
rvbas/you'll be/you'll get/17:04
jcsackettrvba: it might be worth it to run that flash change by a ui guy, but i see no problems with it.17:04
rvbajcsackett: we plan to get feedback for the ui (and the rest) asap. All of this is related to the new derived distro series ... thing.17:05
jcsackettrvba: sounds good to me. :-)17:06
jcsackettrvba: as i said, r=me. :-)17:06
rvbajcsackett: great, thx.17:06
jcsackettif allenap hasn't hit your other branch in a few, i'll take a look at it as well.17:06
jmlhttps://code.launchpad.net/~jml/launchpad/various-ec2-fixes/+merge/55763 genuinely needs a review now17:09
jmlsorry for the noise17:09
gmballenap: I'm doing quite a bit of work in a dependant branch, so I'll add the tests you suggested there.17:10
allenapgmb: Cool :)17:10
jcsackettrvba: i am looking at your second branch now.17:25
jcsackettjml: if allenap hasn't gotten to your branch in a bit, you're up next for me.17:25
allenapIt's a race!17:27
allenapjcsackett: Actually, it's all yours; I have to go and collect the kids now.17:30
jcsackettallenap: righto. :-)17:30
rvbajcsackett: looks like allenap took my second branch first :-)17:32
jmljcsackett: thanks.17:32
jmlman.17:32
jmlweb browsers suck.17:32
jmlcan we stop using them please?17:32
* jcsackett laughs.17:33
jmlturns out the svgs on http://lpqateam.canonical.com/doc/vision.html look fine in firefox but tiny in chrome17:33
jcsackettrvba: r=me, with a small change listed in the MP comment.17:35
jcsackettjml: i'll be looking at yours in just a few.17:36
rvbajcsackett: thanks.17:36
jmljcsackett: thanks.17:36
rvbaallenap: thanks also for your review17:36
jcsackettdid we both hit that branch?17:39
* jcsackett laughs.17:39
jelmerjcsackett, allenap: I've got a MP for a project which doesn't appear to be listed on the launchpad-project page17:39
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
jelmerallenap: ah :)17:40
jcsackettjelmer: which project?17:40
jelmerjcsackett: lpreview-body17:40
jcsacketthuh. there is definitely a strong argument for that being an lp project. :-P17:41
jcsackettMP link? i'll look when i'm done with jml's MP.17:41
jelmerjcsackett: yeah, indeed :)17:44
jelmerThe MP is @ https://code.launchpad.net/~jelmer/lpreview-body/lazy-hooks/+merge/5047117:45
jelmerthanks :)17:45
jmlmrevell: could you have a look at https://code.launchpad.net/~jml/launchpad/vision-doc-split/+merge/55789 ?17:46
* mrevell looks17:46
mrevelljml No problem17:47
mrevelljml, Is there a package with sphinx-build or do I need to go hunt it down from somewhere?17:54
jmlmrevell: python-sphinx17:54
mrevellah, thanks17:55
mrevelljml, I'll complete my review of that branch in the morning.18:01
jcsackettjml: looks like a good grab bag of fixes. r=me.18:01
jmljcsackett: thanks.18:01
jcsackettjml: are there bugs filed about the coverage of tests on ec2? your MP mentioned it is not well tested, in general.18:02
jmljcsackett: not really.18:02
jmljcsackett: there's such a great deal of stuff that's not tested I'm not sure that it's possible to file a closable bug.18:03
jcsackettjml: yeah, i could see that being an issue.18:03
jcsackettit's sort of funny that our testing infrastructure is sufficiently complicated it's hard to test itself.18:03
jcsackettjelmer: r=me. i love short branches. :-)18:05
jelmerjcsackett: Thanks :)18:06
=== salgado-lunch is now known as salgado
jmljcsackett: yeah. it's ec2 and Launchpad's own deployment/installation complexity that really does it.18:07
jmljcsackett: ec2 test was originally a fairly organic script that (AIUI) was written as we were learning about how best to do this. Because it wasn't written with testing in mind, there are a lot of sticky bits that need to be unstuck.18:08
=== deryck[lunch] is now known as deryck
jcsackettjml: makes sense. refactoring for testability can be a major pain, too.18:09
jmljcsackett: yes. how long has it been since I last advocated TDD in this forum?18:10
jcsackettyour talk was last week, wasn't it?18:10
jcsackettdoes that count? :-)18:10
jkakar++TDD!18:12
jkakar:)18:12
gary_posterAs the original source of the ec2 script and its lack of tests, and someone who has written *lots* of tests, I personally think that exploratory programming has its place.  And personally still feel a tad defensive, obviously ;-) .18:15
gary_posterWhen the exploration takes much more time than expected, and what you have works, and you are supposed to go off and do something else now thank you very much, you're left with something like what ec2 was before jml started his magic on it.18:15
jmlgary_poster: I think that doing TDD with ec2test would have been prohibitively difficult18:16
gary_posterI certainly had no freaking idea what I was doing when I was starting :-)18:16
jml:)18:16
jmland once something is working, it's much easier for someone else to come along & refactor, because "use it and see if it works" becomes a valid & effective test18:17
jkakargary_poster: I agree.  Sometimes you just need to type really fast and see what comes out the other end.  There's nothing wrong with that.18:17
gary_posterjkakar, cool.  congrats on new position!  Looks really interesting18:18
jkakargary_poster: And you shouldn't feel defensive--you solved an important problem.18:18
gary_poster:-) thanks18:18
jkakargary_poster: Thanks!  It's turning out to be a lot of fun. :)18:18
jmlgary_poster: and I honestly don't mean to attack. I couldn't fault your approach with ec2test, and ... what Jamu said :)18:18
gary_posterI bet18:18
jkakarThat's actually an interesting thing...18:18
gary_posterheh, thanks guys.  when I said I felt defensive, I was trying to admit that I was not entirely rational in feeling that way :-)18:19
jkakar:)18:19
=== matsubara-lunch is now known as matsubara
jmlg'night all.18:34
jcsackettnight.18:37
gary_posternight18:38
deryckallenap: thanks for the review!  Was away and nice to see it done when I returned. :-)18:44
deryckWasn't expecting it. :-)18:44
LPCIBotProject windmill build #126: STILL FAILING in 1 hr 12 min: https://lpci.wedontsleep.org/job/windmill/126/18:55
jcsackettis raising Unauthorized the best way to send back a 401?19:38
jcsacketti mean, i assume so, but i don't want to get tripped up by something i'm not aware of, and status codes in launchpad have tripped me up before.19:38
jcsackettsinzui:  did you still want to mumble about bug 676988?19:46
_mup_Bug #676988: Relax-NG validity error : Element hardware failed to validate  <hwdb> <lp-bugs> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/676988 >19:46
sinzuiyes19:47
jcsackettwhen would you like? now?19:47
jcsackettsinzui: https://lp-oops.canonical.com/oops.py/?oopsid=1782C228620:26
lifelessjcsackett: wow, special oops20:31
james_wis there a bug about editing blueprints changing the title in an odd way?20:48
james_w<title> specifically20:49
lifelessyes20:57
lifelesserm possibly yes20:57
lifelessI hink its pending deploy20:57
lifelessdoes qastaging look better to you?20:57
wgrantjames_w: Yes, and the fix has landed.21:11
james_wgreat, thanks21:11
wgrantWe can probably deploy it in a few minutes, too.21:17
wgrant:(21:20
wgrantIE breaks all my plans.21:20
* thumper gets coffee21:23
thumperI'm natty now21:23
jcsackettIE breaks everyone's plans.21:23
thumperand unity is being a PITA21:23
wgrantthumper: Oh?21:24
wgrantIt's pretty stable for me once I've been running for an hour or two.21:24
wgrantBut for the first hour just pressing Ctrl+Alt is enough to make it crash.21:24
thumperCtrl+Alt is fine here :)21:25
lifelesswow, its conflict city atm21:38
lifeless-> hospital, bbiab21:38
wgrant*Another* one?21:38
lifelessgarbo21:38
* wgrant fixes.21:38
wgrantFairly non-trivial :/21:44
deryckLater on, everyone.21:44
* thumper stabs unity in the face21:53
* thumper goes to a different shell21:53
wgrantthumper: Is it being buggy, or you just don't like it?21:54
thumpercrashing on me all the time21:54
thumpercan't work like that21:54
thumperit is different if it is my work21:54
thumperbut it isn'tyet21:54
wgrantHeh21:54
wgrantWhich driver?21:55
thumperintel21:55
wgrant:(21:55
jcsackettsinzui: got another few moments to mumble?22:02
thumperhi guys22:17
thumperI have to take caitlin to the dentist shorty22:17
thumperso I'll miss the standup22:17
=== matsubara is now known as matsubara-afk
wgrantjames_w: Fixed now.22:57
james_wthanks22:58
wallyworldsinzui: are you guys having a standup now?23:02
huwshimiwallyworld: Technically23:03
wgrantI've seen no sinzui this morning, though.23:03
wallyworldhuwshimi: i hope my mumble works today. it's been flakey of late :-(23:03
huwshimiwallyworld: It has been for a lot of people23:03
=== salgado is now known as salgado-afk
pooliehi all23:29
wgrantMorning poolie.23:30
LPCIBotProject windmill build #127: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill/127/23:37
wgrantwallyworld: Do you have a PyPI account? Might as well poke someone to give you or I upload access to lazr.restful.23:38
wallyworldwgrant: no, i don't have one. i'm lp-landing now. i want to package it all up and get it into download-cache so i can get a downstream branch going23:39
wgrantwallyworld: Great. You've fixed the date in NEWS.txt?23:40
wgrantI think that's all that's left to do.23:40
wallyworldwgrant: well, no :-) i guess i should23:40
wgrantwallyworld: Also, lazr.restful isn't PQM-managed, so you just merge directly.23:41
wallyworldok23:41
wgranthuwshimi: You have no outstanding Loggerhead CSS updates?23:45
huwshimiwgrant: Nope. Should I?23:45
wgranthuwshimi: Just checking that I wasn't going to conflict with you if I attacked it to remove the double line spacing.23:46
huwshimiwgrant: Nah all good. Go for it23:46
wgrantThanks.23:46

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