/srv/irclogs.ubuntu.com/2014/08/29/#launchpad-dev.txt

jtvwgrant: can I bother you with another IPv6 question?  I've been looking for a way to create IPv6 host maps through OMAPI, but it doesn't seem possible02:38
jtvMaybe dhcpctl is the only way to do it.02:38
wgrantjtv: I haven't tried. Have you checked the code?02:41
jtvYes...  not very hopeful.02:42
lifelessjtv: 6to4 stuff?03:03
jtvNo, plain IPv6.03:03
jtvDoesn't look as if OMAPI supports it.03:04
lifelessah well03:08
lifelessnot too surprising since ISC want to kill it03:08
jtvOn a sidenote, so do I.  :)03:16
jtvYeah I figured they'd let this fall by the wayside, but had to be sure.03:16
jtvIt's an awful, awful thing.03:16
jtvTried compiling a basic dhcpctl program, but... missing header.03:17
jtvlifeless: dhcpctl is meant to be the replacement for omapi, right?03:20
lifelessjtv: not sure TBH03:21
wgrantjtv: https://translations.launchpad.net/+imports/+index?field.filter_target=all&field.filter_status=NEEDS_REVIEW&field.filter_extension=all is looking pretty terrifying nowadays, mostly because it's full of POs for inactive languages (the gardener never guesses a POFile for an inactive language). What should be done about them?05:16
jtvwgrant: we have a dict somewhere providing an expiry time per status.  Add one for NEEDS_REVIEW?05:17
jtvOr does it have one already?05:17
wgrantIt seems a bit inefficient to keep them around forever if they're never going to be approved.05:18
jtvQuite.05:18
jtvMaking the gardener cull old uploads was scary, but also massively useful.05:19
wgrantBut this also seems like a pretty special case.05:19
wgrantIt seems like we could handle the inactive language case better.05:19
jtvDon't assume too much about the permanence of the current situation though.  An inactive language may at some point be activated.05:20
jtvI think there's a general problem of old uploads never being approved.05:20
wgrantRight, but an old unapproved upload usually indicates something that wants manual intervention.05:21
wgrantThese do not.05:21
jtvThen maybe the gardener should just approve them as normal, but the importer should ignore them.05:23
jtvAnd then if they stay Approved for too long, they can expire.05:23
wgrantThen we have the importer having to test and skip a hundred thousand jobs each run instead.05:24
wgrantDoesn't seem like a necessarily good idea.05:24
jtvThe idea is to make that a temporary problem.05:25
jtvJust so long as the gardener kicks them into a state where eventually they expire.05:25
wgrantAlso, approving them would create a POFile for the inactive language.05:26
jtvAh, fair point.05:26
jtvThen... Blocked?  Needs Information with a message saying "this language is deactivated"?05:27
wgrantI've never quite been sure what Blocked was used for.05:28
jtvManual blocking, normally.  Mostly interesting for templates so far.  Automatically blocks all POFile uploads for the same template.05:28
jtvBut maybe a disabled language should do the same.05:28
wgrantAhh05:29
wgrantThat sounds sensible.05:29
jtvI think eventually they'd still expire.05:30
jtvKeeping that queue to a reasonable size is key to smooth operation, I think.  (Well, along with suggestions not timing out.)05:30
wgrantNothing automatically processes Blocked, apart from the gardener pruning old records, right?05:31
wgrantSo it wouldn't be a problem to shove a heap of stuff in there.05:31
jtvAs far as I know the gardener is the only thing that's going to care about Blocked entries.05:31
jtvI probably wouldn't block deactivated languages immediately, in case they get reactivated soon after.05:32
jtvIt seems to me that over 99.9% of the queue is entries that have been waiting for review for more than 2 years.05:33
jtvThat suggests to me that we currently have those items expire in 3 years...05:34
jtvOr some period like that.05:34
jtv99.9%?  No, wait, I've got my ordering the wrong way around.05:34
jtvSurely I do.05:35
wgrant    RosettaImportStatus.NEEDS_REVIEW: timedelta(days=DAYS_IN_HALF_YEAR),05:35
wgranthmmmmmm05:35
jtvMaybe that's only for Ubuntu uploads?05:35
jtvI seem to remember it didn't just blindly apply to all uploads.05:36
wgrantIt removes >1y Ubuntu blocked POs.05:36
wgrantBut that's the only Ubuntu-specificity I can see.05:36
wgrantWeird05:39
wgrantI think date_status_changed is being touched on those.05:39
wgrantOh05:40
wgrantI guess that could just be because the entry was updated by a new upload?05:40
jtvThat's possible, yes.  It resets the clock.05:40
wgrantSo we'd end up with 500,000 entries in Blocked.05:41
wgrantWhich might not be a problem.05:42
=== mup_ is now known as mup
jtvIf the Blocked ones get cleaned up eventually, you can shave a few orders of magnitude off the queue...05:53
wgrantExcept that these keep being uploaded.05:56
jtvBut you'll know a lot more about how many those are, I suspect.05:57
jtvCan't imagine it being almost all of them...05:57
wgrantIf it wasn't almost all of them, wouldn't they have been approved?05:57
wgrantApproved or expired.05:57
wgrantHmm06:01
wgrantActually, almost all of them are Ubuntu uploads.06:02
wgrantwat06:44
wgrantjtv: https://launchpad.net/ubuntu/utopic/+source/libreoffice-l10n/+imports06:44
jtvwgrant: oh dear, another project that doesn't use the language code for the PO file name...06:46
wgrant424000 of the unapproved items are in libreoffice, libreoffice-l10n or python-django.06:46
wgrantdebian/python-django-common/usr/share/python-django-common/django/contrib/admin/locale/udm/LC_MESSAGES/django.po06:48
wgrantThat's quite a path.06:48
wgrantAnd the same sort of problem.06:48
jtvWe've always had some special-case code in the approver for this sort of thing.  And it's horrible.06:49
wgrantjtv: I'd be tempted to Block all the queue entries for those packages for now, to get the gardener down from 14 hours. Thoughts?07:04
jtvwgrant: first thought is... “14 hours!?”07:05
jtvSecond: looks like we'll need to tweak the special-case code again.  :(07:07
jtvBut yeah, an oversized queue is poison.07:07
wgrantIs this the multidirectory special case?07:08
wgrantI saw that in the guessing code earlier.07:08
wgrant                pofile = self._guess_multiple_directories_with_pofile()07:08
wgrantYeah, looks like it07:09
wgrantThere are a whole lot of similar cases hardcodedish there.07:09
wgrantHm07:11
wgrantExcept python-django in utopic has no templates, and there are no POTs of any status in the queue.07:11
jtvwgrant: there seem to be a few variants of multi-directory special cases, and it can be hard to be sure why none of them "takes" for a particular set of uploads.07:23
wgrantIn this case it might just be because there's no template at all.07:23
jtvOh, it has POs but no POTs?07:23
wgranthttps://launchpad.net/ubuntu/utopic/+source/python-django/+imports?field.filter_status=all&field.filter_extension=pot07:24
wgrant'https://translations.launchpad.net/ubuntu/utopic/+source/python-django07:24
jtvI guess that means "yes."07:27
wgrantAs far as I can tell.07:28
wgrantBut you might know of some dark corners where they could be hiding.07:28
jtvIt could be that one of the PO files is effectively also the template.07:28
jtvThere might even be an "English translation" (in which case we hope and pray that the translations are either blank or identical to the translatable strings).07:29
jtvI think you can even approve a .po file as a template, and have it imported.07:29
jtvAnd then maybe re-approve it in its original form, for its translations...07:30
wgrantjtv: Or I could just set them to Needs Information and pretend they don't exist.07:42
jtvwgrant: then do set a message.  After a while IIRC they'll be rejected, and then deleted.07:42
jtv(Or maybe that was the same thing.  I *think* there was a stage inbetween.)07:42
=== daker_ is now known as daker
=== ev_ is now known as ev
=== xnox_ is now known as xnox
=== cprov__ is now known as cprov
=== heroux_ is now known as heroux
=== ev_ is now known as ev
=== cody-somerville_ is now known as cody-somerville
=== BradCrittenden is now known as bac
=== beuno_ is now known as beuno
=== mthaddon` is now known as mthaddon
=== olli_ is now known as olli
=== mup_ is now known as mup
=== cjwatson_ is now known as cjwatson
=== mup_ is now known as mup
=== lifeless1 is now known as lifeless

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