/srv/irclogs.ubuntu.com/2013/01/14/#launchpad-dev.txt

StevenKwgrant: Something about cleanup? Or should I keep searching for a critical?00:31
wgrantStevenK: I'm arranging the cleanup. I suspect another critical would be a good idea00:37
StevenKwgrant: Bug 1087896 is timing out on making suggestions for things to translate. I can recall ripping that out, but I'm not sure what pageid it was for.00:48
_mup_Bug #1087896: timeout when I click on "Translations" on my personal page <lp-translations> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1087896 >00:48
StevenKr16212, Remove ITranslationsPerson.suggestReviewableTranslationFiles() and the parts of Person:+translations that call it.00:49
wgrantYeah00:50
wgrantThat was for review suggestions00:50
wgrantThis is about translation suggestions, I think00:50
StevenKYeah, the implicated method is ITranslationsPerson.suggestTranslatableFiles()00:51
StevenKThe two faster queries that are run fetch things the person has translated, so small data set.00:53
wgrantWhat does this one do?00:54
StevenKFind a bunch of POFiles that the user has not touched, ORDER BY random()00:55
wgrantHah00:55
wgrantHow helpful00:55
StevenKRight, it's another anti-join00:56
StevenKLike suggestReviewableTranslationFiles00:56
=== bigjools_ is now known as bigjools
plommehey guys, I'm brand new, I'm trying to find view(s) for the graphed timelines on overview pages (or anything related). I've just literaly openned the API, figured I would ask as it would save me some time01:16
plommenvm got it01:32
=== jtv2 is now known as jtv
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/remove-suggested-translation-files/+merge/14305803:08
wgrantStevenK: Have you considered how this will affect the list?03:13
StevenKwgrant: It will still list the top ten, but less than that if the translator hasn't been so active03:16
wgrantStevenK: Not quite03:16
StevenKwgrant: What will happen to the list, then?03:20
wgrantStevenK: It looks to me like it will consist of at most 6 items03:20
StevenKHm03:22
StevenKwgrant: http://pastebin.ubuntu.com/1529859/03:24
wgrantStevenK: There's also an unused 'fetch =' in that method03:25
wgrantAnd you eliminate the sole _composePOFileTranslatorJoin call, but don't eliminate the method AFAICT03:25
wgrantAh, yes you do03:25
StevenKhttp://pastebin.ubuntu.com/1529867/03:28
StevenKI suspect this results in more test fallout, so let's see03:28
wgrantThat looks more reasonable.03:28
wgrantHave you checked around for docstrings that describe the old behaviour?03:29
wgranteg. your MP description didn't actually mention the effect of the change at all03:29
StevenKwgrant: I've corrected the MP description03:33
StevenKAnd I think I've fixed all of the test docstrings03:33
wgrantStevenK: r=me03:44
StevenKwgrant: Thanks03:44
StevenKLooks like I refreshed as you were submitting03:44
wgrantStevenK: That's a rather dishonest commit message :)04:01
plommequick question regarding JS04:45
plommethere are regular and minified files04:46
plommeI also noticed that my changes in JS files were reset after make run (not sure about this. either that or I forgot to save my changes)04:47
plommewhat's the correct procedure when modifying JS files? should I port my changes to the min version as well?04:47
plommeor is there another layer above those (and that's what I should be editing)04:49
wgrantplomme: Edit the original JS files under lib/, then run 'make jsbuild' to build the minified and unminified versions in build/04:50
StevenKwgrant: How so?04:52
plommegreat thanks =)04:53
wgrantStevenK: You're removing some random results from the list of suggestions04:53
wgrantYou're not removing the suggestions :)04:53
StevenKwgrant: Do you think we have a plan re: MixedVisibilityError?04:58
wgrantNot at this stage05:00
wgrantIgnore05:00
StevenKBranchRevision is still waiting, or do you have a half-formed plan?05:02
wgrantBranchRevision is going to be the largest change we have to make to fix any critical05:09
wgrantI'm sure there's a more practically sized one that you can find :)05:09
StevenKwgrant: Ah, but that doesn't answer the question05:10
wgrantThere's a semi-formed semi-plan05:10
StevenKwgrant: I laugh at https://bugs.launchpad.net/launchpad/+bug/983766/comments/105:11
_mup_Bug #983766: Error when uploading screenshot incl. a question mark in url <404> <bugs> <webapp-infrastructure> <Launchpad itself:In Progress by wgrant> < https://launchpad.net/bugs/983766 >05:11
wgrantI did :)05:11
wgrantBut that resulted in a need to followup with more people05:12
StevenKwgrant: I can recall the issue in https://oops.canonical.com/?oopsid=OOPS-a4c5d1fa67a0f9de6b1cb8d8149499fc , from some wacky method that is trying to generate names, but I thought that was fixed.05:18
wgrantStevenK: It was never fixed, just diagnosed05:18
StevenKwgrant: What's the method?05:20
wgrantIt's not in the traceback?05:20
wgrantThe OOPS is still loading for me05:21
wgrantI'm just assuming that it's the person name conflict resolver issue05:21
StevenKOh, _is_nick_registered05:21
wgrantThat will be the one making the queries05:21
wgrantBut it's _is_nick_registered's callsite that has the bug05:21
StevenKgenerate_nick, then05:22
StevenKwgrant: I fixed the commit message before landing, too05:22
wgrant:)05:22
StevenKI thought it had landed, but I got distracted by being asked to switch machines05:22
StevenKwgrant: So, uh, how do I fix this terribleness?05:32
StevenKI can recall you and Curtis discussing it, but not the solution.05:34
wgrantStevenK: We need to decide what we want to do05:34
wgrantDo you understand the problem?05:34
StevenKWe don't want to include the e-mail domain in the nick, we can't have nick collision, and we don't want to loop 1000 times?05:35
wgrantThose are the key constraints, yes05:35
StevenKAnd the name can not be blacklisted05:35
wgrantBut why is it looping 1000 times?05:35
StevenKIt wants a unique name, at a guess05:36
wgrantRight, but why does it take so many loops to get one?05:36
StevenK        while attempts < 1000:05:36
StevenKBased on the number of OOPSes, we never even get close.05:37
StevenKPerhaps 750 iterations05:37
wgrantThat's why it's limited to 1000, but that doesn't explain why the collision resolution ends up trying so many05:37
StevenKI'm still trying to grok the call chain05:38
StevenKwgrant: I have a theory. They start with a blacklisted name, and it doesn't matter what we do to the name, it still ends up blacklisted05:41
StevenKLike, adding a prefix means it's still blacklisted, or adding a suffix05:41
wgrantA reasonable theory05:41
wgrantBut if you look at the method, you'll see it also eventually permutes the characters of the original name05:41
wgrantWhich surely gets past any blacklisting05:42
StevenKThe queries in this OOPS just keep adding suffixes05:42
StevenKSo we have launchpad-<137 * random alphanumerics>05:43
wgrantWHERE Person.name = E'78luphr0rnk2nuqimstywepozxn9kl19tqh0tx66b5dki1x-phn5h7o65-a811i2i3ytqlsztthjth0svbccw8inm65tmkqp9sarr553j'05:43
wgrantlaunchpad has become phn5h706505:43
wgrants/0/o/05:44
StevenKwgrant: Look at the query after that one, though05:45
StevenKJust before the transaction is marked Doomed05:45
wgrantStevenK: Sure05:45
wgrantThe next attempt at creating a name attempts to extend the suffix05:45
StevenKAnd includes the nickname again05:45
wgrantThe order of attempts is suffix, prefix, mutation05:46
wgrantSo it will add a suffix, then a prefix, then a mutation05:46
wgrantIf none of those work, it will extend the suffix05:46
wgrantThen apply an extended prefix05:46
wgrantThen apply an extended mutation05:46
wgrantetc05:46
wgrantBut once it moves onto a new iteration it will start from an untainted name05:46
wgrantSo if suffix, prefix and mutation all fail to yield a new name, it will go back to just a suffix, adding more characters onto the suffix from the previous round05:47
StevenKwgrant: Until it grows to monstrous size?05:49
wgrantRight05:49
wgrantBut why would all the hundreds of names fail?05:49
StevenKAll of them are invalid?05:50
wgrantThey're all not valid names for a new person for some reason05:50
StevenKWhich is odd05:51
wgrantNot terribly so05:52
StevenKOh, this thing is always seeded with the same value, and so will always try the same steps?05:52
wgrantBingo05:52
wgrantThere's one very simple fix05:53
StevenKChange the seed05:53
wgrantRight05:53
wgrantBut it still needs to be testable05:53
StevenKSo use a well-known one for testing05:54
wgrantYou could05:54
wgrantAnd use a random one on prod?05:54
wgrantI can see a better possibility05:54
StevenKWhich sort of defeats the point of the test, right05:54
StevenKwgrant: What's that?05:58
wgrantSpoilers!05:58
StevenKwgrant: We stop doing this whole random garbage?05:58
wgrantNo05:59
wgrantIf you recall the history here, we used to include the domain05:59
StevenKIndeed, yes.05:59
StevenKAnd then people said stop doing that05:59
wgranteg. my test account would be me+testing-williamgrant, rather than me+testing05:59
wgrantRight05:59
wgrantSo collisions used to be much more unlikely05:59
wgrantNow, we can't include the domain in the nick06:00
wgrantBut we could include it somewhere else06:00
StevenKHow does that help us generate a nick, though?06:00
wgrantWe can't help the uniqueness of the original nick06:01
wgrantBut we can help the uniqueness of the collision resolution06:01
StevenKOh, use the domain as a random seed or so?06:01
wgrantExactly, we could seed the RNG with the entire email address, like the old days06:02
StevenKMmmmm06:02
StevenKAnd means it's still testable06:02
wgrantExactly06:03
wgrantIt also means that someone can verify their guess for the email address if the user has an autogenerated and collided username06:03
wgrantBut I'm not sure that's a huge concern06:03
StevenKemail_addr + current timestamp, but that means it's hard to test06:05
stubWe don't use that many signups - you could just use a sequence in the db for a globally unique number.06:12
stubNot that it really helps when someone signs up using 'launchpad@example.com' and .*launchpad.* is blacklisted.06:13
StevenKlaunchpad_dogfood=# SELECT COUNT(name) FROM person WHERE name LIKE 'launchpad-%%'; => 62906:16
wgrantand that's less than a third of them06:16
StevenKSELECT COUNT(name) FROM person WHERE name LIKE '%%launchpad%%'; => 621506:16
wgrantI'd just seed from the email address and be done with it06:16
StevenKwgrant: I'll have a branch for you to review in a few seconds06:16
StevenKIf it scans06:17
StevenKwgrant: Do we have a bug, or should I file one?06:17
wgrantNot sure06:17
wgrantStevenK: r=me06:21
StevenKwgrant: Thanks06:23
StevenKI was distracted by filing a bug06:23
StevenKIt's High, but bump it to Critical if you think its warranted06:24
wgrantIt's timing out06:27
wgrantDoesn't that make it critical?06:27
StevenKwgrant: Trying to not increase the critical count :-P06:39
stub1If the existing blacklist code is slow btw, we could compile it in entirety into a single regexp. Last I looked it was 'good enough' though.06:53
StevenKstub1: Random seed plus stepping plus random transforms.06:54
=== stub1 is now known as stub
lifelessStevenK: it is what it is.06:57
StevenKlifeless: "that that is is that that is not is not is not that it it is"07:03
lifelesshah07:05
StevenKGrrr07:10
StevenKI dislike losing buildbot bingo07:11
StevenKstub: It's not slow queries that's causing the timout, it's doing 800 loops to find a name that doesn't clash.07:13
StevenK*timeout07:13
stubStevenK: Yah, but that also means 800 db queries atm I think. if you did need to do it 800 times, we could do it client side. But you don't, so don't bother.07:21
wgrantThe collision resolution code was never meant to run more than a few times07:50
wgrantIt's just that the consistent seed meant it always resolved identically.07:50
StevenKFor the same localparts, at least.07:58
=== almaisan-away is now known as al-maisan
StevenKwgrant: Heh, there is an interesting question as how to QA it ...08:35
wgrantStevenK: I'd wait until it gets onto staging, create a temporary email alias and create an account for it on staging SSO, then log in and see what happen08:36
wgrantlaunchpad@ or ubuntu@ should do08:36
wgrantMaybe admin@08:36
adeuringgood morning09:03
=== _mup__ is now known as _mup_
czajkowskijtv: ping any idea what could trigged translation import queue going from 0 -> 874 in less than an hour ?12:03
jtvczajkowski: typically a large upload...  possibly pulled in from branches.12:03
czajkowskinever seen that many12:03
jtvWhose import queue exactly?12:04
czajkowskiusually get 10-15 in a go12:04
czajkowskihttps://translations.launchpad.net/+imports/+index?field.filter_target=[PRODUCT]&field.filter_status=NEEDS_REVIEW&field.filter_extension=pot12:04
* czajkowski is going to be at this all day 12:04
jtvczajkowski: simply a KDE upload, I suspect.12:04
czajkowskiwow12:04
czajkowskiok thanks12:05
jtvKDE translations aren't bundled into the packages.12:05
czajkowskiif anyone is looking for me today I shall be giving myself RSI doing this reviews12:05
czajkowski:/12:05
jtvInstead, they have separate translation packages that will contain, for instance, *all* Greek translations for KDE main.12:05
czajkowski869 and counting12:05
jtvLet me have a look.12:05
czajkowskicheers12:05
jtvczajkowski: be sure to give the auto-approver some time to do as much as it can automatically!12:06
czajkowskinods12:06
jtvI'm surprised to see KDE uploads for projects rather than for Ubuntu.12:06
jtvOh God, they set up a Bosnian translation for "universe."12:06
jtvAs a project.12:06
jtvThat shouldn't happen.12:07
jtvI mean it's admirable that they translate universe, but this isn't the way.  Before you know it, you're inviting the world to come to your project and translate everything to their own languages.12:07
jtvWhich is not likely to do much good if the project is really only there for one language.12:07
czajkowskinods12:08
jtvYup.  They set it to Open.  :(12:08
jtvAnd with Launchpad Translators as the translation group.12:08
jtvThat means: "we do Bosnian translations for universe here.  Come on, everybody, submit translations for your own languages and the Launchpad translation group people will review them, and then they will go nowhere because we're only running this project for one language."12:09
jtvThis needs some kind of effort to avoid duplication of effort.12:10
czajkowskiugh12:11
jtvThey've already attracted some Italian and Spanish translations, I think.12:12
jtvAnd especially Turkish.12:12
czajkowskican we delete all of these imports?12:13
jtvczajkowski: I'd suggest setting them to Needs Information, after emailing the owners about this problem.  I don't know if there are any efforts for Universe translations underway, but if so, they ought to try and coördinate with it.  If not, maybe if Milo / David agree, it might be an idea to promote the project to a general universe translation group.12:15
czajkowskidpm: ^^^^12:15
jtvIn any case Launchpad Translators wouldn't be quite the right translation group for this — it's Ubuntu, not Launchpad.12:16
czajkowskiGwaihir: cheers12:20
Gwaihirhello!12:20
czajkowskiGwaihir: a team has set up Bosnian trnaslation for universe as a project12:21
czajkowskiwe now have over 869 pots to review :)12:21
czajkowski12:15 < jtv> czajkowski: I'd suggest setting them to Needs Information, after emailing the owners about this problem.  I don't know if  there are any efforts for Universe translations underway, but if so, they ought to try and coördinate with it.  If not,  maybe if Milo / David agree, it might be an idea to promote the project to a general universe translation group.12:21
Gwaihiruhh... awesome12:22
Gwaihirthere were discussion about opening up translation for universe, and also some suggested packages, but I think nothing was move forward12:23
czajkowskisomeone was eger12:24
GwaihirI have to look into what will happen to those translations, if they will ever be exported and used by ubuntu, otherwise it is a void task12:24
czajkowskiexactly12:24
GwaihirI would rather set them as "need info" for now and touch base with the Bosnian team, I have to do some research on what's the status with universe translations12:26
wgrantRegardless, a language-specific project is wrong12:28
jtvExactly.  And it'd be nice to resolve that in a forwardly direction that makes everyone happy.  Too often in the past have we just told people "you can't do that."12:42
czajkowskiGwaihir: ok will mark them all as needs info12:43
czajkowskiGwaihir: will you make contact12:43
dpmGwaihir, jtv, czajkowski, enabling universe translations is basically on hold. We tried to enable them and contacted some interested upstreams. Banshee was one of them, and we enabled translations in Launchpad. Everything was working fine up to the export part, which we only realised after the next language pack creation12:43
Gwaihirczajkowski, yup, not a problem, I will ping the other translators too about the status of opening up universe fro translations12:43
dpmhttps://bugs.launchpad.net/launchpad/+bug/104855612:43
_mup_Bug #1048556: Language pack translations export needs to add universe packages to domain map <langpack> <lp-translations> <Launchpad itself:Triaged> <Ubuntu Translations:Triaged> < https://launchpad.net/bugs/1048556 >12:43
czajkowskicheers folks12:44
Gwaihirthanks dpm!12:44
dpmSo that bug is currently stopping us from shipping universe translations for selected packages12:44
dpmit seems 99% of it is working, but the translations are not listed in the text file the export generates, and they are thus ignored by langpack-o-matic (the tool that fetches the Launchpad translations export and creates the actual language packs)12:45
czajkowskithat bug is on the low list of LP maintenace work and more than likely will not get fixed any time soon12:46
jtv:(12:47
czajkowskiwell we're down to 2 people on maintenance folks12:47
czajkowskiand they are doing criticals12:47
wgrants/maintenance/LP/12:47
czajkowskiwell 2 of ye and one of me :)12:48
czajkowskiand I don't break anything :p12:48
jtvExcept hearts, I'm sure!12:48
jtvAhem.12:49
czajkowskilol12:50
wgrantThough I don't really see why the domain map doesn't include them12:50
wgrantAs long as POTemplate.languagepack is set12:50
jtvYou're thinking maybe a tiny step in the right direction to make the goal just a little bit more tempting?12:53
czajkowskiwgrant: can you answer in lp am at 848 on a roll here!12:53
dpmjtv, any ideas on that bug ^^?12:54
jtvdpm: It's been long enough that I feel the other commenters are more current with it now.  :(12:55
wgrantdpm: Do you have an example of a package that was not exporting?13:00
dpmwgrant, we've disabled the templates, so we won't find it in any langpack-o-matic logs. I remember we first noticed it with banshee, let me see if I can think of any other.13:02
wgrantdpm: banshee in precise?13:03
dpmwgrant, let me check, I think we even tried to add a special case for it in the langpack-o-matic code13:03
wgrant'cause https://translations.launchpad.net/ubuntu/precise/+source/banshee/+pots/banshee/+admin doesn't have the langpack flag set13:04
wgrantWhich would explain it13:04
wgrantIt's set in raring, but there's no raring export yet13:04
wgrantdpm: The flag is set in quantal, and I see 'banshee banshee' in the mapping.txt from the export in October.13:08
wgrantAnd banshee is in universe in quantal13:08
wgrantSo I think that bug is wrong :)13:08
dpmhm, that's really weird13:08
dpmwgrant, we even implemented a workaround in Quantal for banshee and gnome-panel. Here's the diff of the modification pitti did on langpack-o-matic13:09
dpmhttp://pastebin.ubuntu.com/1530750/13:09
dpmthose were two packages that weren't in the mapping.txt file we looked at when we first noticed the issue13:10
dpmunfortunately, I don't have that particular file anymore13:10
wgrantThey're certainly both there now13:11
wgrantSo I wonder if someone set the flag on those templates between then and now13:11
wgrantWell13:11
wgrantThen and October13:11
dpmI guess we'll have to give another try at universe packages in raring :)13:12
wgrantbanshee should be there in the first raring export13:12
wgrantSince it has a template that's marked for langpacks13:12
=== gary_poster|away is now known as gary_poster
=== gary_poster is now known as gary_poster|away
=== gary_poster|away is now known as gary_poster
czajkowski53713:38
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== gary_poster is now known as gary_poster|away
=== gary_poster|away is now known as gary_poster
=== gary_poster is now known as gary_poster|away
=== gary_poster|away is now known as gary_poster
=== gary_poster is now known as gary_poster|away
=== Ursinha is now known as Ursinha-afk
=== gary_poster|away is now known as gary_poster
=== Ursinha-afk is now known as Ursinha
=== yofel_ is now known as yofel
=== slank_away is now known as slank
=== salgado is now known as salgado-lunch
czajkowskiGwaihir: only another 387 to go, you mailed the user?15:51
Gwaihirczajkowski, nope, not yet, BTW, do you have a link to the project they set up?15:53
czajkowskihttps://translations.launchpad.net/bosnianuniversetranslation/trunk15:55
czajkowskihttps://launchpad.net/~megaribi15:55
czajkowskiuser15:55
=== salgado-lunch is now known as salgado
czajkowskiall 874 pots reviewed and marked needs info17:10
czajkowskidont think my hand will talk to me agian17:10
mgzczajkowski: due to a pot surfeit?17:11
czajkowskieager pots!17:12
czajkowskimgz: https://answers.launchpad.net/launchpad/+question/218961  would his issue go away if the bzr builders got the update like the rT from Friday ?17:13
mgzyup, that's the one that's fixed in bzr 2.5 but the builders are on 2.4.017:15
mgzso, the guy's last comment is accurate17:16
Gwaihirczajkowski, user contacted17:18
czajkowskiGwaihir: cheers17:19
=== deryck is now known as deryck[lunch]
plommehey guys. I've corrected a bug and would like to know where to go from here on18:06
czajkowskiplomme: a lp bug?18:06
plommeI'm filling in the agreement form but will need a contact18:06
plommeyes18:07
plommehttps://bugs.launchpad.net/launchpad/+bug/109777018:07
_mup_Bug #1097770: The series timeline does not distinguish between active and inactive milestones <javascript> <milestones> <projects> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1097770 >18:07
plommenot so much corrected as offered a solution18:07
czajkowskiplomme: you'll best leave a comment on the bug18:08
czajkowskiwgrant: or StevenK will then see it and be able to give advice on it18:08
plommeshall I just leave a comment owithout pushing the change?18:08
czajkowskiyou can push the change18:09
plommeok18:09
czajkowskiit'll still be reviewed by them anyways18:09
plommedo I leave the bug status as is? I just comment?18:33
czajkowskiyes for the time being please18:36
czajkowskithen wgrant and StevenK can review and comment18:36
plommefaire enough. thanks a lot18:37
czajkowskinp18:37
=== deryck[lunch] is now known as deryck
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== salgado is now known as salgado-afk
wgrantStevenK: Ah23:02
wgrantYou don't actually depend on the built egg23:02
wgrantStevenK: http://pastebin.ubuntu.com/1532797/23:04
StevenKAh ha, success23:08

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