jtv | wgrant: 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 possible | 02:38 |
---|---|---|
jtv | Maybe dhcpctl is the only way to do it. | 02:38 |
wgrant | jtv: I haven't tried. Have you checked the code? | 02:41 |
jtv | Yes... not very hopeful. | 02:42 |
lifeless | jtv: 6to4 stuff? | 03:03 |
jtv | No, plain IPv6. | 03:03 |
jtv | Doesn't look as if OMAPI supports it. | 03:04 |
lifeless | ah well | 03:08 |
lifeless | not too surprising since ISC want to kill it | 03:08 |
jtv | On a sidenote, so do I. :) | 03:16 |
jtv | Yeah I figured they'd let this fall by the wayside, but had to be sure. | 03:16 |
jtv | It's an awful, awful thing. | 03:16 |
jtv | Tried compiling a basic dhcpctl program, but... missing header. | 03:17 |
jtv | lifeless: dhcpctl is meant to be the replacement for omapi, right? | 03:20 |
lifeless | jtv: not sure TBH | 03:21 |
wgrant | jtv: 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 |
jtv | wgrant: we have a dict somewhere providing an expiry time per status. Add one for NEEDS_REVIEW? | 05:17 |
jtv | Or does it have one already? | 05:17 |
wgrant | It seems a bit inefficient to keep them around forever if they're never going to be approved. | 05:18 |
jtv | Quite. | 05:18 |
jtv | Making the gardener cull old uploads was scary, but also massively useful. | 05:19 |
wgrant | But this also seems like a pretty special case. | 05:19 |
wgrant | It seems like we could handle the inactive language case better. | 05:19 |
jtv | Don't assume too much about the permanence of the current situation though. An inactive language may at some point be activated. | 05:20 |
jtv | I think there's a general problem of old uploads never being approved. | 05:20 |
wgrant | Right, but an old unapproved upload usually indicates something that wants manual intervention. | 05:21 |
wgrant | These do not. | 05:21 |
jtv | Then maybe the gardener should just approve them as normal, but the importer should ignore them. | 05:23 |
jtv | And then if they stay Approved for too long, they can expire. | 05:23 |
wgrant | Then we have the importer having to test and skip a hundred thousand jobs each run instead. | 05:24 |
wgrant | Doesn't seem like a necessarily good idea. | 05:24 |
jtv | The idea is to make that a temporary problem. | 05:25 |
jtv | Just so long as the gardener kicks them into a state where eventually they expire. | 05:25 |
wgrant | Also, approving them would create a POFile for the inactive language. | 05:26 |
jtv | Ah, fair point. | 05:26 |
jtv | Then... Blocked? Needs Information with a message saying "this language is deactivated"? | 05:27 |
wgrant | I've never quite been sure what Blocked was used for. | 05:28 |
jtv | Manual blocking, normally. Mostly interesting for templates so far. Automatically blocks all POFile uploads for the same template. | 05:28 |
jtv | But maybe a disabled language should do the same. | 05:28 |
wgrant | Ahh | 05:29 |
wgrant | That sounds sensible. | 05:29 |
jtv | I think eventually they'd still expire. | 05:30 |
jtv | Keeping that queue to a reasonable size is key to smooth operation, I think. (Well, along with suggestions not timing out.) | 05:30 |
wgrant | Nothing automatically processes Blocked, apart from the gardener pruning old records, right? | 05:31 |
wgrant | So it wouldn't be a problem to shove a heap of stuff in there. | 05:31 |
jtv | As far as I know the gardener is the only thing that's going to care about Blocked entries. | 05:31 |
jtv | I probably wouldn't block deactivated languages immediately, in case they get reactivated soon after. | 05:32 |
jtv | It 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 |
jtv | That suggests to me that we currently have those items expire in 3 years... | 05:34 |
jtv | Or some period like that. | 05:34 |
jtv | 99.9%? No, wait, I've got my ordering the wrong way around. | 05:34 |
jtv | Surely I do. | 05:35 |
wgrant | RosettaImportStatus.NEEDS_REVIEW: timedelta(days=DAYS_IN_HALF_YEAR), | 05:35 |
wgrant | hmmmmmm | 05:35 |
jtv | Maybe that's only for Ubuntu uploads? | 05:35 |
jtv | I seem to remember it didn't just blindly apply to all uploads. | 05:36 |
wgrant | It removes >1y Ubuntu blocked POs. | 05:36 |
wgrant | But that's the only Ubuntu-specificity I can see. | 05:36 |
wgrant | Weird | 05:39 |
wgrant | I think date_status_changed is being touched on those. | 05:39 |
wgrant | Oh | 05:40 |
wgrant | I guess that could just be because the entry was updated by a new upload? | 05:40 |
jtv | That's possible, yes. It resets the clock. | 05:40 |
wgrant | So we'd end up with 500,000 entries in Blocked. | 05:41 |
wgrant | Which might not be a problem. | 05:42 |
=== mup_ is now known as mup | ||
jtv | If the Blocked ones get cleaned up eventually, you can shave a few orders of magnitude off the queue... | 05:53 |
wgrant | Except that these keep being uploaded. | 05:56 |
jtv | But you'll know a lot more about how many those are, I suspect. | 05:57 |
jtv | Can't imagine it being almost all of them... | 05:57 |
wgrant | If it wasn't almost all of them, wouldn't they have been approved? | 05:57 |
wgrant | Approved or expired. | 05:57 |
wgrant | Hmm | 06:01 |
wgrant | Actually, almost all of them are Ubuntu uploads. | 06:02 |
wgrant | wat | 06:44 |
wgrant | jtv: https://launchpad.net/ubuntu/utopic/+source/libreoffice-l10n/+imports | 06:44 |
jtv | wgrant: oh dear, another project that doesn't use the language code for the PO file name... | 06:46 |
wgrant | 424000 of the unapproved items are in libreoffice, libreoffice-l10n or python-django. | 06:46 |
wgrant | debian/python-django-common/usr/share/python-django-common/django/contrib/admin/locale/udm/LC_MESSAGES/django.po | 06:48 |
wgrant | That's quite a path. | 06:48 |
wgrant | And the same sort of problem. | 06:48 |
jtv | We've always had some special-case code in the approver for this sort of thing. And it's horrible. | 06:49 |
wgrant | jtv: 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 |
jtv | wgrant: first thought is... “14 hours!?” | 07:05 |
jtv | Second: looks like we'll need to tweak the special-case code again. :( | 07:07 |
jtv | But yeah, an oversized queue is poison. | 07:07 |
wgrant | Is this the multidirectory special case? | 07:08 |
wgrant | I saw that in the guessing code earlier. | 07:08 |
wgrant | pofile = self._guess_multiple_directories_with_pofile() | 07:08 |
wgrant | Yeah, looks like it | 07:09 |
wgrant | There are a whole lot of similar cases hardcodedish there. | 07:09 |
wgrant | Hm | 07:11 |
wgrant | Except python-django in utopic has no templates, and there are no POTs of any status in the queue. | 07:11 |
jtv | wgrant: 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 |
wgrant | In this case it might just be because there's no template at all. | 07:23 |
jtv | Oh, it has POs but no POTs? | 07:23 |
wgrant | https://launchpad.net/ubuntu/utopic/+source/python-django/+imports?field.filter_status=all&field.filter_extension=pot | 07:24 |
wgrant | 'https://translations.launchpad.net/ubuntu/utopic/+source/python-django | 07:24 |
jtv | I guess that means "yes." | 07:27 |
wgrant | As far as I can tell. | 07:28 |
wgrant | But you might know of some dark corners where they could be hiding. | 07:28 |
jtv | It could be that one of the PO files is effectively also the template. | 07:28 |
jtv | There 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 |
jtv | I think you can even approve a .po file as a template, and have it imported. | 07:29 |
jtv | And then maybe re-approve it in its original form, for its translations... | 07:30 |
wgrant | jtv: Or I could just set them to Needs Information and pretend they don't exist. | 07:42 |
jtv | wgrant: 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!