[00:57] <StevenK> wgrant: /srv/launchpad.net/builddmaster is also used on mawson by buildd-manager as queue for binaries from the buildds?
[01:05] <wgrant> StevenK: Sure, and it should be on alphecca do
[01:05] <wgrant> too
[01:05] <wgrant> It's used on builddmaster hosts
[01:05] <StevenK> Right
[01:05] <wgrant> But it only exists on other upload hosts because of P-a-s.
[01:05] <StevenK> Yeah
[01:06] <StevenK> wgrant: So my QA plan is to destroy the P-a-s checkout on mawson, and upload acpi to my ppa and see what happens
[01:06] <wgrant> That would be correct.
[01:14] <StevenK> 2013-06-03 01:13:46 DEBUG   Creating PENDING publishing record.
[01:14] <StevenK> 2013-06-03 01:13:47 DEBUG   Created amd64 build of acpi 0.09-3ubuntu2 in ubuntu precise RELEASE [4560808] in PPA for Steve Kowalik (2505)
[01:14] <StevenK> 2013-06-03 01:13:47 DEBUG   Created i386 build of acpi 0.09-3ubuntu2 in ubuntu precise RELEASE [4560809] in PPA for Steve Kowalik (2505)
[01:14] <StevenK> 2013-06-03 01:13:47 DEBUG   Not closing bugs for PPA source.
[01:14] <StevenK> So that works fine
[01:16] <wgrant> StevenK: Not quite
[01:16] <wgrant> StevenK: Only i386 and amd64 chroots exist for saucy
[01:16] <wgrant> So that's not necessarily a good test
[01:17] <StevenK> wgrant: But I didn't upload to saucy
[01:17] <wgrant> Ah, true
[01:17] <wgrant> And I don't think I cleaned out the precise chroots
[01:21] <StevenK> wgrant: You didn't, there are 5 chroots for precise on DF
[01:41] <StevenK> wgrant: Right, I uploaded acpi to a devirt PPA in precise and only get amd64 and i386 too
[02:23]  * StevenK nails wallyworld to IRC.
[02:23] <wallyworld> i think my wireless router is fighting with my laptop
[02:24] <StevenK> And which is winning?
[02:24] <wallyworld> neither :-(
[02:24] <wallyworld> reboot time, but i'm in the middle of something
[02:46] <wgrant> Ohhh, clever
[02:48] <StevenK> wgrant: aoetools to a devirt PPA creates all five build records, too
[02:48] <wgrant> StevenK: Excellent
[02:49] <StevenK> wgrant: So, previewdiff work, or shall I create an API to update a chroot like infinity wants?
[02:50] <wgrant> StevenK: We're not very good about accepting large file uploads atm, but it might work
[02:51] <wgrant> See if we regularly have apport attachments that are roughly chroot-sized.
[02:58] <wgrant> Oh Zope
[02:58] <wgrant> You are so awful sometimes
[02:58] <wgrant> I just cut 20% off the Launchpad start time by fixing zope.component.registry to not be completely moronic
[03:00] <wgrant> (registering or unregistering a utility compares each new registration against every existing one)
[03:03] <StevenK> Haha
[03:04] <StevenK> wgrant: Still waiting for my terrible query to finish hurting mawson.
[03:05] <nigelb> < wgrant> You are so awful sometimes <-- sometimes?!
[03:08] <wgrant> There we go, registerUtility down from 47.73% (7.19%) to 5.29% (0.27%), and I doubt I broke anything.
[03:09] <StevenK> wgrant: What's the diff, so I can laugh and/or cry?
[03:11] <wgrant> http://pastebin.ubuntu.com/5728141/
[03:11] <wgrant> InterfaceClass.__hash__ is also pretty slow now
[03:12] <wgrant> 5% of no-op script runtime
[03:12] <wgrant> Actually, that patch is a bit buggy now
[03:12] <wgrant> But the fix shouldn't change performance
[03:14] <StevenK> wgrant: Interesting choice of variable name
[03:14] <wgrant> I was none too pleased to see the original code :)
[03:15] <wgrant> Ah, the new code is actually marginally faster, even.
[03:15] <StevenK> I bet
[03:15] <wgrant> http://pastebin.ubuntu.com/5728149/
[03:15] <StevenK> wgrant: Could it be due to older Python?
[03:15] <wgrant> StevenK: No
[03:16] <wgrant> O(n²) is never a good idea :)
[03:16] <wgrant> Interface.__eq__ was being called a few million times.
[03:16] <StevenK> WCPGW
[03:16] <StevenK> wgrant: So, you plan on upstreaming it?
[03:17] <wgrant> Seeing if I can get start time below 50% first
[03:18] <StevenK> wgrant: No fair if your patch contains speech like GLaDOS addressing Wheatley.
[03:25] <wgrant> Ah
[03:25] <wgrant> Maybe if I drop lazr.restful registrations from scripts
[03:25] <wgrant> That could give me another 20%
[03:31] <wgrant> :(
[03:31] <wgrant> Barely a second
[03:48] <wgrant> And zope.sendmail adds 3s to shutdown
[03:52] <StevenK> wgrant: http://pastebin.ubuntu.com/5728202/
[03:53] <wgrant> StevenK: That just shows that 16 requests ever exceeded 200MB, which isn't exactly encouraging.
[03:54] <wgrant> StevenK: Perhaps try uploading some chroots to +storeblob and see if they always succeed
[03:55] <StevenK> wgrant: Right, hitting up RootObject:+storeblob (I guess) on DF as soon as I can grab a chroot
[03:55] <StevenK> Oh look, there's on
[03:55] <StevenK> *one
[03:55] <wgrant> StevenK: Needs to be prod
[03:55] <wgrant> DF means nothing
[03:56] <wgrant> It's likely to succeed on DF/staging but fail on prod
[03:56] <StevenK> wgrant: I'm a little restiscent to toss a few hundred Mb at prod
[03:56] <wgrant> StevenK: Why?
[03:57] <wgrant> +storeblob will get pruned in ~48h
[03:57] <StevenK> Right
[04:02] <wgrant> Near-sane test startup time is near my grasp :)
[04:03] <StevenK> Heh
[04:03] <wgrant> No-op script time is below 3s
[04:03] <wgrant> (moving webservice and browser stuff to appserver-only, and with the zope.sendmail and zope.component fixes. zope.interface is also a bit slow, but the slowness was added for a good reason)
[04:03] <wgrant> It was about 9.8s before
[04:04] <StevenK> wgrant: 'Sending request to launchpad.net...' -- this could involve a bit of waiting
[04:04] <wgrant> Quite
[04:04] <wgrant> It'll probably time out from here
[04:04] <wgrant> But we'll see
[04:05] <StevenK> Some way to gauge progress would be nice, but I can't have everything
[04:05] <wgrant> http://pastebin.ubuntu.com/5728220/ is the zope.sendmail diff
[04:06] <wgrant> Previously every LP process would have to wait 3s for that thread to shutdown
[04:06] <wgrant> That's why everything takes so long to finish
[04:28] <StevenK> Come ON firefox
[04:28] <wgrant> So yeah, 11.6s to 3.6s for a script run
[04:29] <wgrant> I mostly want this for less awful test times
[04:29] <wgrant> librarian start times, subprocess startup/teardown times
[04:29] <StevenK> Hmmm
[04:29] <StevenK> 'Waiting for launchpad.net'
[04:29] <StevenK> wgrant: Is the blob ticket secret?
[04:30] <wgrant> StevenK: What do you mean?
[04:30] <wgrant> There's no way to look up the blob from the outside without it
[04:30] <wgrant> And you can only get it from the response to a POST to +storeblob
[04:30] <StevenK> wgrant: Your ticket is "2f66004a-cc06-11e2-a37c-002481e7f48a"
[04:30] <StevenK> From a chroot upload
[04:30] <wgrant> So it worked?
[04:31] <StevenK> Yeah, it just took 25 minutes to upload.
[04:31] <StevenK> wgrant: Shall I repeat the test?
[04:33] <wgrant> StevenK: Might as well
[04:33] <wgrant> I wonder if the timeout is 30 minutes
[05:21] <StevenK> wgrant: Right, that works as well
[05:22] <wgrant> StevenK: Not sure how well launchpadlib exposes uploads. I'd try to work out that next.
[05:23] <StevenK> wgrant: In terms of progress or how they're exposed?
[05:23] <StevenK> IBug.addAttachment() was my plan
[05:24] <wgrant> There's certainly no progress
[05:25] <StevenK> wgrant: Current plan is DAS.setChroot(data (exported as Bytes), sha1sum)
[05:27] <wgrant> StevenK: Why sha1sum?
[05:27] <StevenK> wgrant: Because infinity would like to be damn sure the client and server agree about a checksum before we set PocketChroot.chroot
[05:27] <wgrant> OK.
[05:28] <StevenK> Hmm
[05:29] <StevenK> wgrant: Going to write a security adapter that limits to the owner of the relevant distribution main_archive, too