/srv/irclogs.ubuntu.com/2011/07/29/#launchpad-yellow.txt

* danilos -> lunch11:49
gary_posterbac benji danilos gmb call in 212:29
gmbok12:29
gary_posteror 112:29
gmbdanilos: What's the best way to test if a POTMsgSet isn't used in any templates (as opposed to being obsolete)? I just want to double-check for sanity.12:32
danilosgmb, "not in (select all potmsgset)"12:32
gmbdanilos: Hurrah! That's what I've been doing. Good.12:32
gmbOh, no.12:33
gmbHang on12:33
gmbdanilos: that doesn't make sense.12:33
gary_posterbac benji danilos gmb, I meant to congratulate us on CHR this week.  Go us!  I think we did a great job.  Special thanks to gmb who did a bunch of the question cleanup on Monday.12:39
gmbdanilos: Is POTMsgSet.potemplate used for anything?12:39
gary_posterbac, don't forget to put the stats on the page at the end of CHR.  We can decide if they are actually valuable later: flacoste pointed out that we do have the graphs linked at the top of the CHR page.12:40
danilosgmb, yes, but not what you are bound to think of first (it's for diverged translations, i.e. saying "this one is different only in this template")12:40
bacgary_poster: ok12:41
gmbOkay.12:41
gmbdanilos: So if I want to know if a POTMsgSet is unused, what do I actually need to look at to determine that? Should I join to POTemplate via TranslationTemplateItem?12:43
danilosgmb, so, basically, potmsgset is in a template if there is a TranslationTemplateItem that references potmsgset and potemplate12:43
gmbRight.12:43
gmbMakes sense.12:44
danilosgmb, and potmsgset is not in any templates if the count of templates it is in is zero :)12:44
gmbAlso makes sense :)12:44
danilosgmb, of the top of my head, something like this should give you "unused potmsgsets": select potmsgset from translationtemplateitem where sequence=0 group by potmsgset having count(potemplate)=0 union select id from potmsgset where id not in (select potmsgset from translationtemplateitem);12:46
gmbdanilos: Ah, thanks. I'm trying to work up a Storm expression at the mometn, so I'll use that as a guide and see what happens...12:47
danilosgmb, I ain't exactly sure how you specify the having clause in Storm, but there must be a way :)12:47
gmbdanilos: Yeah. If all else fails, subqueries :)12:48
* gmb -> grabbing some food12:49
danilosgmb, also note that the above query is wrong, it needs to be "sequence != 0"12:51
gmbdanilos: Noted, thanks.12:53
* gmb -> really grabbing some food this time12:53
danilosgmb, a few more improvements to the query which is now tested on staging: https://pastebin.canonical.com/50458/13:07
gmbdanilos: Ah, you crafty devil. I forgot you had staging DB access :)13:08
gmbdanilos: I shall try to turn that into something useable and Storm-like, but if all else fails I'll use SQL directly. Thanks.]13:08
daniloswho? me? what's staging anyway!13:09
danilosgmb, also, staging tells me there's roughly 2M unused POTMsgSets in the database already, so we'll have to drop those with a script13:10
gmbdanilos: Right. I always figured we'd need to do that before we started the garbo job.13:11
danilosgmb, actually, perhaps there's something we can do so we slowly remove the previous cruft instead (eg. do a "limit 10000" to remove at most 10000 potmsgsets in one garbo run)13:31
gmbdanilos: That could work too. Can we be sure that we'll ever clear out all the cruft that way?13:32
danilosgmb, well, as long as we don't introduce 10k unused messages every day, we will13:32
gmbFair enough.13:32
danilos(and that's very unlikely, imho)13:33
danilosgmb, we should probably make it bigger until we clear up the queue (like 30k so we clear the backlog in ~60-70 days)13:34
danilosthough, that's best discussed with stub13:34
gmbdanilos: That works for me. I'm not sure Stuart will necessarily be happy about it ;)13:34
danilosgmb, right, for discussing it with Stuart, we should start with 100k and then "accommodate him" at 30k or 20k :))13:35
danilosgmb, just kidding though, I believe we should have a safe-guard like this in anyway13:35
gmbTrue.13:35
danilosgmb, also, the bigger problem is going to be the amount of TranslationMessages that need removing (these 2M seem to correspond to 16M TMs, so roughly 1:8 order of magnitude)13:36
gmbouch.13:36
danilosI can imagine Stuart wanting this done with a dblooptuner or something ideally13:37
gmbdanilos: Garbo stuff is all TunableLoop anyway.13:37
danilosgmb, oh, cool13:37
gmbSo it's not much work to adapt what I've done already.13:37
danilosgmb, sounds good13:37
danilosgmb, I'll leave you to it then13:37
gmbdanilos: Cool. Shouldn't be too long now.13:38
* gmb -> errand; bbaib14:05
gary_posterCHR...14:59
gmbAAAAAAARGH.16:54
gmbWhy is list slicing so hard to get right?16:54
* gary_poster lunches.17:10
gary_posterDon't cut your thumb while you work gmb.  We don't like blood in our code.17:11
gmb:)17:14
benjiThat reminds me of this http://www.sorehands.com/humor/kling.htm17:16
gmbIt doesn't help that Garbo silently swallows exceptions before raising the helpfully named SilentLaunchpadScriptFailure17:18
bacbenji: you're going to be jealous you missed out on bug 818232 as CHR20:20
_mup_Bug #818232: translation in french a englich picture movie <Launchpad itself:New> < https://launchpad.net/bugs/818232 >20:20
benjiheh20:20
benjiwow, that's one for the ages20:21
gary_posterlol20:31
gary_posternext we'll have people asking for home repair tips20:32
bacgary_poster: for CHR stats, how do you want to characterize RT tasks?  there are two open, but they are assigned and have been worked.  for CHR i'd call that 0.20:33
gary_posterbac, if they are stalled that's easy.  if it's "our turn" I'd argue that they ought to be in a separate but recorded value.  I don't care a lot though; I agree that "unopened" or whatever it is called is the more important.20:34
bac"new"20:35
bacyeah, these have back-forth with the OP and matthew.20:35
baci'd say matthew owns it and they are not CHR tasks anymore, so i'll count them as 020:35
bacgary_poster: and this?  https://answers.launchpad.net/launchpad-project/+questions?field.search_text=&field.sort=RELEVANCY&field.sort-empty-marker=1&field.actions.search=Search&field.language=en&field.language-empty-marker=1&field.status=OPEN&field.status-empty-marker=120:36
bachow did you count these?20:36
gary_posterbac, I think I had a parenthetical number20:37
gary_posterso I'd represent this as 0 (9), IIRC20:37
bacgotcha20:38
gary_posterok, I need to run, not least because my feet are tired :-P20:38
gary_posterbye20:39
bacso we finish the week with no outstanding CHR tasks.  whee.  outstanding.20:40
benjibac: do you have a second to sanity-check something for me?20:42
benjiIn case you come back: I'm adding a little nicety that will suggest the longest number in a branch name when associating a branch with a bug.  The way I have it now, I disregard any sequence of digits shorter than 6 in length because all new bug numbers are at least that long.  This way if you have a version number in a string like 3.14 it won't suggest "14" as the bug number.20:47
benjiI expect this to greatly reduce false positives.  The rub is, it won't work for *other* instances of LP.  How much do we care?20:49
benjiSince this won't hurt other people -- just keep one bit of UX polish from helping them out -- I doubt we care much.  OK, I've convinced myself, I'm going to have it ignore runs of digits smaller than 6 in length.  (But will make it defined in a constant, both for testing, magic-number avoidance, and visibility if someone wants to change it for their LP install.)20:50
bachi benji.20:53
bacreading20:53
bacbenji: now that i've finished i see i was just a foil and you convinced yourself.20:54
bacglad to have been of assistance20:54
benjibac: well, I let you read it because I would like your validation of my self-convincing20:55
benjiheh20:55

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