[06:16] <lifeless> [06:16] <lifeless>     Hard / Soft  Page ID
[06:16] <lifeless>      131 / 5921  Archive:+index
[06:16] <lifeless>       64 /  255  BugTask:+index
[06:16] <lifeless>       21 /  263  Distribution:+bugs
[06:17] <lifeless>        9 /  115  ProjectGroupSet:CollectionResource:#project_groups
[06:17] <lifeless>        8 /   15  NullBugTask:+index
[06:17] <lifeless>        6 /   37  Milestone:+index
[06:17] <lifeless>        5 /  202  POFile:+translate
[06:17] <lifeless>        5 /   87  Archive:+packages
[06:17] <lifeless>        5 /    4  ProjectGroup:+milestones
[06:17] <lifeless>        5 /    0  BinaryPackageBuild:+retry
[06:18] <lifeless> wgrant: still interested in DistroSeries:+queue
[06:19] <lifeless> /srv/launchpad.net/production/launchpad-rev-12004/lib/lp/soyuz/browser/../templates/distroseries-queue.pt
[06:19] <lifeless>    - Line 281, Column 11
[06:19] <lifeless>    - Expression: <PathExpr standard:u'custom/libraryfilealias/content/filesize/fmt:bytes'>
[06:19] <lifeless> ...
[06:19] <lifeless> LocationError: (None, 'filesize')
[06:19] <wgrant> That's not meant to happen.
[06:20] <lifeless> 0 LocationError: (None, 'filesize')
[06:20] <lifeless> bah
[06:20] <lifeless> 10 LocationError: (None, 'filesize')
[06:20] <wgrant> I think Translations may be expiry overzealously.
[06:20] <wgrant> s/expiry/expiring/
[06:20] <lifeless> well
[06:20] <lifeless> the page should handle gc'd content anyhow
[06:20] <wgrant> No.
[06:20] <lifeless> no?
[06:21] <wgrant> It's not allowed to be GC'd...
[06:21] <lifeless> obviously nothing is enforcing that
[06:21] <lifeless> I'd accept not /meant/ to be GC'd
[06:21] <wgrant> There's nothing we can sanely do if it is GC'd.
[06:21] <wgrant> It is forbidden.
[06:21] <wgrant> But someone broke it.
[06:21] <lifeless> but permitted
[06:22] <wgrant> By the DB? Sure.
[06:22] <wgrant> It is not possible to sanely apply that constraint in the DB.
[06:22] <lifeless> I can think of at least one way.
[06:23] <wgrant> Mortifyingly expensive triggers?
[06:23] <lifeless> separate tables
[06:23] <lifeless> so the rules in each table are succinct
[06:23] <lifeless> is bug 262767 related?
[06:23] <_mup_> Bug #262767: Expire translations-tarball file contents once they get successfuly processed <soyuz-upload> <trivial> <Soyuz:Triaged> <https://launchpad.net/bugs/262767>
[06:25] <lifeless> https://bugs.launchpad.net/soyuz/+bug/592417
[06:25] <_mup_> Bug #592417: LocationError in DistributionSourcePackageRelease pages <oops> <qa-ok> <Soyuz:Fix Released by julian-edwards> <https://launchpad.net/bugs/592417>
[06:26] <wgrant> The idea in 262767 is what I was going to blame. But it seems to not be implemented anywhere yet.
[06:27] <wgrant> 592417 is about real things. Not custom uploads.
[06:27] <wgrant> So it's not really related.
[06:27] <lifeless> bug 685401
[06:27] <_mup_> Bug #685401: LocationError in DistroSeries:+queue <oops> <Launchpad Translations:New> <https://launchpad.net/bugs/685401>
[06:27] <wgrant> lifeless: So, it could just not show them. But the point of the page is to allow packages to be accepted.
[06:27] <wgrant> Can't accept something that's not there.
[06:28] <lifeless> somethings thats gc'd isn't there, right ?
[06:29] <wgrant> Right.
[06:29] <lifeless> so theres no need to accept it
[06:29] <lifeless> add a garbo job/fix the expiry code to /really/ delete it.
[06:29] <lifeless> and we're done, no?
[06:29] <wgrant> Hmmm? Expiring an unaccepted queue item doesn't make sense.
[06:29] <wgrant> It is illegal.
[06:29] <wgrant> It *should* crash.
[06:30] <lifeless> I don't see why,.
[06:30] <lifeless> you may have some axiom you need to share.
[06:30] <wgrant> Hmm, actually, do you have the URL for that OOPS?
[06:30] <lifeless> yes
[06:30] <lifeless> in da bug
[06:31] <wgrant> No query string?
[06:33] <wgrant> I think it must have been the Done queue.
[06:33] <wgrant> The query string will tell us.
[06:34] <wgrant> Maybe Translations did actually run the query that they suggested.
[06:34] <lifeless> queue_state=3&queue_text=&start=126240
[06:34] <wgrant> Aha, it is indeed Done.
[06:34] <wgrant> So we can probably reasonable hide expired files in those cases.
[06:34] <wgrant> But Translations is still doing something that is technically illegal.
[06:35] <wgrant> And will break once we unfuck custom upload handling.
[06:35] <lifeless> whats the illegality
[06:37] <wgrant> lifeless: Before acceptance: you're deleting part of an upload that hasn't yet been processed.
[06:37] <wgrant> After acceptance: you're deleting part of an upload that will be used during a copy once we remove 2004-era insanity.
[06:39] <wgrant> Perhaps for concerningly more broad values of 'we' than would be traditional.
[06:40] <lifeless> wgrant: if you don't want the upload processed, why is deleting it a problem?
[06:40] <lifeless> wgrant: what copy?
[06:42] <wgrant> lifeless: If you don't want the upload processed, you should reject it.
[06:42] <wgrant> lifeless: Any copy.
[06:42] <wgrant> Translations has removed all old translations tarballs.
[06:42] <lifeless> wgrant: so, will you expand the bug appropriately? And suggest the right way forward to achieve their goals
[06:42] <lifeless> ?
[06:42] <wgrant> lifeless: I will.
[06:43] <lifeless> keeping old data because it was used once, is nuts.
[06:43] <wgrant> To an extent.
[06:45] <wgrant> We need to actually develop a policy.
[06:45] <wgrant> And make the code respect it.
[06:45] <wgrant> Not develop over 5 years.
[06:46] <lifeless> we have a policy - don't delete anything ever. Except where we need to (which is broadly everywhere), then we can, if we need to.
[06:47] <wgrant> Well.
[06:47] <wgrant> The Soyuz policy until 18 months ago was "never delete anything".
[06:47] <wgrant> Then it was changed.
[06:47] <wgrant> Without actually making the code work like that.
[06:47] <wgrant> Or thinking much about the consequences.
[06:48] <lifeless> waheee
[06:48] <wgrant> The fact that the hashes are stored in the deleted LFC is a significant problem :(
[06:48] <lifeless> don't worry, md5 has been broken right?
[06:49] <wgrant> I really don't like deleting data until we're really, really sure.
[06:50] <wgrant> We have lost far too much already.
[06:51] <lifeless> -> nz
[06:51] <wgrant> See you.
[06:51] <wgrant> Damn.
[17:59] <mtaylor> off topic - but anybody here happen to be a god with vim modelines in source files?
[18:46] <lifeless> mtaylor: yo
[18:47] <mtaylor> lifeless: so, I have vim set up in my .vimrc to use spaces and to to do 2-space tabs (since that's what we do in drizzle) ... but I'm editing this file that uses tabs at the moment... and I was hoping there was an easy way to put a modeline into the file so that vim would behave properly
[18:49] <lifeless> noexandtab
[18:49] <lifeless> blah
[18:49] <lifeless> noexpandtab
[18:49] <lifeless> sw=8
[18:49] <lifeless> that sort of thing
[18:49] <mtaylor> lifeless: you make me happy
[18:49] <lifeless> its a gift
[18:49] <lifeless> probably sts=8 too
[19:00] <mtaylor> lifeless: works perfectly. thanks
[19:00] <lifeless> de nada
[19:48] <thumper> morning
[20:32] <thumper> it's going to be a quiet day
[20:33] <jelmer> how can you tell?
[20:42] <lifeless> I'm on leave
[20:47] <thumper> and wally is on leave
[20:47] <thumper> and mwhudson is more quiet than normal since the linaro move
[20:47] <thumper> so I'm mostly left to myself...
[20:47]  * thumper goes to make a coffee
[23:17] <thumper> lifeless: is the launchpad copy of testtools up to date?
[23:17] <thumper> lifeless: it seems to be lacking some matchers
[23:19] <jelmer> thumper: EndsWith ?
[23:19] <thumper> jelmer: yeah
[23:20] <thumper> also, I'd find IsNot(None) easier to read than Not(Is(None))
[23:20] <jelmer> thumper: That was added fairly recently, and IIRC the revision after the revision that lp uses.
[23:21] <jelmer> thumper: I was planning to update lptools to a newer revision anyway, jml added some nice code to help with debugging of "lost" deferreds. Perhaps I should just do that..
[23:22] <thumper> jelmer: sounds good to me
[23:27] <lifeless> tip is broken.
[23:28] <lifeless> jelmer: ^
[23:28] <lifeless> jelmer: if you wanted to review my fix for the critical bug, that would be good.
[23:28] <jelmer> lifeless: Sure, I can do that.
[23:30] <jelmer> lifeless: Ah, that one! I should've remembered.
[23:33] <thumper> gym time