[12:59] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: continue malone code reorganisation (patch-624)
[04:38] <stub> Morning
[05:26] !lilo:*! Of possible interest: #accounting, a channel for accounting support for small not-for-profit entities.  If you have accounting experience, please stop by.  Thanks!
[07:53] (dilys/#launchpad) New bug 2119 for Launchpad/Database: Use of __del__ in sqlobject
[07:53] (dilys/#launchpad) https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=2119
[08:52] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Improved PostgreSQL/Launchpad sample data test harness (now an order of magnitude faster) (patch-625)
[09:06] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Tabnanny putting on her jackboots for the whitespace impared (patch-626)
[09:12] <lifeless> spiv: around?
[10:39] <Kinnison> Morning
[10:44] <stub> Morning
[11:11] <jblack> who here has really slow star-merges? 
[11:11] <jblack> as in longer than 2 minutes? 
[11:38] <stub> jblack: I'm fairly certain that is only the Mac OSX users, so that would be BradB_and Limi (I'm on Ubuntu now)
[11:38] <jblack> stub: I've been hearing of slow star-merges on x86 boxes too.
[11:39] <jblack> stub: Well, that may play part too, if os x boxes tend to come with less memory.
[11:39] <jblack> I know that bradb only has 256 megs
[11:40] <stub> I had problems on a box with 1GB
[11:40] <jblack> with libraries and local mirrors ?
[11:41] <stub> Yes - I think you commented on it at the conference. I don't have the box any more though so I can't do proper comparisons or confirm that with 100% certainty.
[11:41] <Kinnison> but then again; I've only been doing simple stuff in my archive
[11:41] <jblack> stub: Ok.
[11:43] <stub> I suspect Limi will have a reasonable amount of memory, so he might be your best bet at the moment. 
[11:44] <jblack> Ok. I'll hunt him down
[11:44] <lifeless> stub: we know hfs+ sucks :[. we're trying to identify the x86 problems, to reduce the scope of the problem.
[11:44] <lifeless> what we are gonna do about the hfs+ users,I'm not sure right now.
[11:45] <jblack> yeah. according to my filesystem timings, os x is *1/6* the speed of reiserfs 
[11:46] <lifeless> running bonnie++ 
[11:46] <lifeless> ?
[11:47] <jblack> nothing so extravagant. various dd timings.
[11:47] <lifeless> that would be a good basis for comparison actually, a bonnie ++ script to get disk comparisons, then a tla-script of some sort.
[11:47] <jblack> 5 meg file 50 meg file 1 gig file, consistantly about 1/6
[11:47] <lifeless> dd is 1/6th - sheesh. thats /sad/
[11:47] <lifeless> it might be the disk though...
[11:47] <stub> I was about to ask - same hardware?
[11:47] <jblack> he claims its a reasonably modern machine.
[11:47] <jblack> No, not the same hardware.
[11:48] <jblack> a rather new, high end x86 laptop against a new-a-year-ago mac
[11:48] <jblack> the thing that struck me about bradb's machine was that it acted as if it didn't have buffer cache
[11:51] <stub> It might not for all I know - it would be quite valid to limit free ram usage for disk cache in exchange for other caches
[11:55] <Kinnison> SteveA: do you publish summaries of the launchpad meetings anywhere?
[11:55] <SteveA> hi
[11:55] <SteveA> no, not usually
[11:55] <SteveA> very ocassionally
[11:56] <SteveA> points may come out as part of warthogs traffic
[11:56] <Kinnison> Right
[11:56] <SteveA> would you find summaries very useful?
[11:57] <Kinnison> I think they would be useful; yes.
[11:57] <Kinnison> I find it quite hard to remember what everyone else has done
[12:14] <SteveA> BradB_: ping
[12:14] <SteveA> (a bit early, I think)
[12:14] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: malone reorganisation (patch-627)
[12:14] <SteveA> stub: hello
[12:15] <stub> Morning
[12:16] <stub> SteveA: Was there any luck with Plone and secure auth?
[12:16] <SteveA> Last week, I was going to request a "malone deployment" meeting for today
[12:16] <SteveA> but, the email languished in my outbox
[12:17] <SteveA> it would be good if you, brad, elmo (perhaps) and sabdfl talked together today about getting malone running on mawson 
[12:17] <SteveA> over the next few days
[12:17] <SteveA> I have no reply from roche, so I need to chase that up
[12:17] <SteveA> then again, brad could install the patch for us, which might be easier
[12:18] <SteveA> I can test what the cookies look like after that patch is applied
[12:19] <sabdfl> morning all lunchpadders
[12:22] <Kinnison> Morning sabdfl 
[12:23] <Kinnison> well, they're not that big, but they're useful
[12:49] <sabdfl> stub: landed a series of big malone reorganisations over the weekend and this morning
[12:49] <sabdfl> BradB_: ^^
[12:50] <stub> Yup - done a merge. Haven't looked closely at the latest iteration yet though.
[01:01] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Lucille-related DB stuff (again) (patch-628)
[01:07] <sabdfl> welcome back, king of doap!
[01:07] <sabdfl> hmm... need to send mail to the list in that regard
[01:08] <Kinnison> If I have an SQLObject result from a selectBy which included a transaction; will any foreign key provided object also have that transaction embeded in it (for update purposes)?
[01:09] (spiv/#launchpad) Kinnison: You're explicitly passing connection= to selectBy?
[01:10] <Kinnison> Erm, well, that's the way the librarian does it
[01:13] <carlos> stub: I need to coordinate with you to merge my pomsgset/potmsgset split branch into rocketfuel
[01:14] <stub> Yup. Is it ready for me to look at now?
[01:14] <carlos> stub: I'm still removing small bugs, but the DB patch is ready
[01:14] <carlos> stub: we cannot merge it yet into rocketfuel
[01:15] <carlos> until I finish the review, but I suppose you will be sleeping...
[01:15] (spiv/#launchpad) Kinnison: Oh, right.  I expect that SQLObject probably does the right thing, but I'd double-check by reading the source...
[01:15] <stub> yup. Got a revision available on chinstrap for me to look at?
[01:16] <carlos> archzoom or tla?
[01:16] <carlos> what do you prefer?
[01:16] <stub> tla
[01:16] <carlos> carlos.perello@canonical.com--2004/launchpad--msgset-split--0
[01:16] (spiv/#launchpad) Kinnison: Although if I get this bug of lifeless's sorted out, then we can use that work and not pass transactions around epxplicitly anymore.
[01:17] <carlos> I need to commit a fix to the current.sql file
[01:18] <carlos> stub: it's ready
[01:19] <stub> Cool. I'm not too fussed about current.sql, as it may need to be rebuilt by the time commit actually happens.
[01:20] <carlos> stub: I'm merging all changes from rocketfuel, so it should be updated with latest changes
[01:21] <stub> carlos: current.sql won't merge well
[01:22] <carlos> stub: It should I fixed the conflicts by hand and recreate it from that
[01:22] <stub> Hmm... scary. You confident no data has been lost?
[01:23] <carlos> stub: yes, I'm sure, the changes I'm doing don't affect the modified sample data
[01:24] <carlos> so the conflicts were minor
[01:24] <stub> ok
[01:46] <stub> carlos: I don't have any problems with the patch and it all seems to load cleanly. I'll want to add a 'set client_min_messages to error' at the top to remove noise and name the unnamed constraints.
[01:47] <carlos> stub: sure, will you do it? or do you want I do it?
[01:48] <stub> carlos: I'm happy to do it, so I might as well unless you particularly want to or need to get this committed when I'm in bed.
[01:49] <stub> I'm personally getting to dislike having a simple 'create table' followed by a raft of alter tables for the constraints, but that is just taste and has no effect on the database :-)
[01:49] <carlos> stub: that depends on Daf, if we need to merge it to continue our work, is it ok If I add it myself?
[01:50] <carlos> stub: I can fix it, I just did the same we have at this moment :-)
[01:51] <Kinnison> well, it's publishing the sourcepackages anyway
[01:51] <stub> Yes. In this case I'm happy to have you commit it as there are no outstanding patches in the queue to conflict and it only affects the rosetta work (hopefully for the good ;) )
[01:51] <stub> It will involve 'tla mv patch-3-99-0.sql patch-3-11-0.sql' of course.
[01:51] <sabdfl> Kinnison: good work
[01:52] <sabdfl> was it correct?
[01:52] <Kinnison> sabdfl: It's still publishing :-)
[01:52] <stub> carlos: The launchpad-3-00-0.sql is a database dump - it is not to be used as an example of good style ;)
[01:52] <Kinnison> sabdfl: 20,000 files don't come out of the librarian onto disk that fast :-)
[01:52] <carlos> stub: ok, should I change the the way I'm creating the restrictions so it's all inside the create table?
[01:52] <Kinnison> sabdfl: but so far it looks to be building the pool structure correctly :-)
[01:52] <stub> carlos: Don't bother - like I said, it makes no difference to the database.
[01:52] <carlos> ok
[01:52] <carlos> stub: thanks
[01:53] <Kinnison> sabdfl: it was all kicked off with pub.publish(SourcePackageFilesToPublish.selectBy(drd=1)) to publish all sources pending publication for distribution 1 (ubuntu)
[01:55] <stub> carlos: The names of the foreign keys should be changed though so I don't have to do it in future tidies - the current (rather arbitrary) standard I'm using is like - ALTER TABLE potmsgset ADD CONSTRAINT potmsgset_primemsgid_fk FOREIGN KEY (primemsgid) REFERENCES pomsgid(id);
[01:56] <stub> carlos: Oh - and there had better be comments added in comments.sql which will save pain later (easier now while it is all fresh in your mind).
[01:57] <carlos> ok
[02:08] <sabdfl> stub: i haven't had much chance to look at roundup for ticketing
[02:09] <sabdfl> is it zodb based?
[02:09] <sabdfl> or rdbms based?
[02:11] <stub> Nope. A chunk of Roundup is what is called Hyperdb, which is yet another database. It has backends to postgresql, mysql, sqllite etc. It seems a bit like a poor mans object database (which is not necessarily a bad thing).
[02:11] <Kinnison> Would sqlobject get really upset if the id field wasn't an integer?
[02:12] <kiko> morning
[02:12] <kiko> SteveA, cprov: #launchpad-meeting?
[02:12] <sabdfl> stub: does it use fixed table names when it maps to the rdbms?
[02:13] <stub> Kinnison: It supports string ids as well - they just can't be compound primary keys. But I suspect it is better to stick with our internal standards unless there is a damn good reason otherwise.
[02:13] <sabdfl> or does it create tables on the fly?
[02:13] <Kinnison> stub: I'm trying to make a view, only the only way to guarantee a unique ID will be to stringify and concatenate various columns
[02:13] <stub> sabdfl: It creates tables on the fly. You define classes and it builds or modifies the backend tables for you.
[02:14] <stub> Kinnison: Sounds valid. Don't ask me for the syntax to do it though - I just know it supports it :-)
[02:14] <kiko> Kinnison, an sql view?
[02:14] <Kinnison> stub: okay; I'll play with the SQL
[02:14] <Kinnison> kiko: yes
[02:14] <kiko> Kinnison, I have one living in a patch somewhere which provides a unified sourcepackage 
[02:14] <kiko> it provides all the major columns
[02:15] <kiko> and is a *major* performance improvement
[02:15] <Kinnison> kiko: I have a view which shows all the columns I need for publishing a sourcepackagerelease to a given distrorelease in a distribution
[02:15] <Kinnison> kiko: it goes delving off into the libraryfilealias table etc to retrieve filenames
[02:15] <sabdfl> stub: ok, don't want that anywhere near emperor then
[02:16] <kiko> cprov, #launchpad-meeting
[02:39] <SteveA> spiv: /join #launchpad-meeting please
[02:54] <SteveA> elmo: where do I use userdir-ldap ?
[02:59] <Kinnison> stub: It seems that I'm not allowed to make id a string column :-(
[03:00] <Kinnison> stub: I'm going to have to prod about more now :-(
[03:10] <sabdfl> elmo: can we bring an archive mirror up on mawson for gina and friends?
[03:10] (elmo/#launchpad) yeah
[03:10] <stub> Kinnison: http://sqlobject.org/docs/SQLObject.html#non-integer-keys seems to suggest 'it just works', but I remember something flying past on sqlobject-discuss that mentioned some magic setting in the class definition.
[03:11] <Kinnison> stub: I'll take a look
[03:11] (elmo/#launchpad) good god, I just created a new user on mawson and it has some crackful color prompt by default
[03:12] <SteveA> the "gentoo effect"
[03:13] <Kinnison> sabdfl: I'm about 50% of the way through a re-publish to see if the new id column works better
[03:13] <kiko> elmo, can I have an account with color prompts too
[03:14] <sabdfl> ok
[03:15] <cprov> elmo: heh, can you kick this rainbow colourful prompt, please :)
[03:17] <sabdfl> elmo: please defer artwork discussions to #ubuntu, 1400 UTC :-)
[03:19] (elmo/#launchpad) yeah, that's what we need, an ascii-art version of the artwork in /etc/motd !!1
[03:19] (elmo/#launchpad) ahem, anyway, mirror's running - it'll be a while..
[03:22] <sabdfl> elmo: only on april 1st, 'k?
[03:22] <sabdfl> cow porn
[03:24] <SteveA> elmo: do you have a few minutes to talk about running a soyuz dogfood server on mawson?  #launchpad-meeting
[04:00] <BradB> sabdfl: What's the difference between watching a bug and being CC'd on a bug? The terminology makes it seem like the former means you subscribed yourself, the latter means someone else subscribed you.
[04:01] <kiko> in Bugzilla you watch *users*, and when you do so you get all their bugmail 
[04:01] <limi|london> Big Brothzilla
[04:01] <BradB> kiko: Hm, then Malone's interface is confusing, if its intent is to imitate that behaviour.
[04:02] <BradB> Because, on a bug, I've got a "subscribers" portlet, listing CC'd, and right below, watching.
[04:02] <kiko> I"m not sure it does, though, just adding a datapoint
[04:02] <BradB> ah
[04:05] <BradB> that's possible too
[04:09] <limi|london> is mawson down?
[04:14] (elmo/#launchpad) limi|london: no?
[04:14] (elmo/#launchpad) at least the machine itself is fine
[04:15] <limi|london> hm
[04:15] <limi|london> http://mawson.ubuntu.com/ doesn't work for me
[04:23] !dmwaters:*! Hi all! It looks as though level3 is having some routing problems. I've pulled the affected rotation server for now
[04:30] <SteveA> limi|london: it should be https
[04:30] <limi|london> same result
[04:30] <SteveA> but, I think daf needs to be prodded to get it running
[04:30] <limi|london> aha
[04:30] (daf/#launchpad) ow
[04:32] <SteveA> hi daf.  having a rosetta meeting today?
[04:32] (daf/#launchpad) yes, as soon as Carlos is back from his meeting
[04:33] <SteveA> what meeting is carlos at?  university thing?
[04:33] (daf/#launchpad) yes
[04:33] (daf/#launchpad) I think I CC'd you about it
[04:34] <SteveA> ok
[04:34] (daf/#launchpad) I don't know what's up with Mawson
[04:34] (daf/#launchpad) Launchpad is running -- perhaps a problem with Apache?
[04:35] <SteveA> lulu: I'll open a bug about having a + in email addresses.  Does the user in question need his password to be reset?
[04:37] <limi|london> elmo: is apache forwarding to launchpad?
[04:37] <lulu> SteveA: Thanks - I assume so - do you want me to check first?
[04:37] (elmo/#launchpad) hmm, what apache? :/
[04:37] (dilys/#launchpad) New bug 2120 for Launchpad/Launchpad: forgotten password app doesn't work if + in email address
[04:37] (dilys/#launchpad) https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=2120
[04:38] (daf/#launchpad) elmo: Mawson is refusing connections on HTTPS
[04:38] <SteveA> lulu: yes, please check.  From the email, he might have just been trying things out and kindly reporting a bug.  If he does want his password reset, then andrew can do that for him.
[04:39] <lulu> SteveA: sure - will do.
[04:39] <SteveA> I've filed a bug on it.  I expect this will be fixed in the next update of the app server on macquarie, but that won't be for a while.
[04:40] <SteveA> spiv: any idea how many email addresses with "+" in them are in the database on emperor?
[04:40] (elmo/#launchpad) daf: see "what apache"
[04:41] (daf/#launchpad) elmo: doesn't https://mawson.ubuntu.com/ go through an Apache proxy?
[04:43] (elmo/#launchpad) apache died.  I'm working on it
[04:43] (daf/#launchpad) ow
[04:43] (daf/#launchpad) thanks
[04:48] (spiv/#launchpad) SteveA: I'll take a look
[04:50] (spiv/#launchpad) SteveA: Zero.
[04:51] <SteveA> that's odd
[04:51] <SteveA> what email addresses have "ennis" in them?
[04:52] (spiv/#launchpad) Also zero.
[04:52] <stub> BradB: The way I interpreted the Watch/CC thing was that if you watch a bug you see it in your reports ('My bugs', dashboard etc), and if you are CC you also get email updates.
[04:53] <SteveA> spiv: I don't understand the email lu forwarded.
[04:53] (spiv/#launchpad) SteveA: I'm just grabbing my email now.
[04:54] <SteveA> any addresses ending in "ubuntu@gmail.com" ?
[04:54] (spiv/#launchpad) Also zero.
[04:54] (spiv/#launchpad) There's only one gmail address at all..
[04:55] (spiv/#launchpad) Hmm.
[04:55] <SteveA> so, I must assume that geoff ennis has never actually signed up
[04:56] <BradB> stub: ok
[04:56] (spiv/#launchpad) I suppose so.  I assume they tried, and that plone somehow thwarted them before the database became involved.
[04:56] (elmo/#launchpad) okay, apache's back up but it's now using the client cert - which has been emailed to the launchpad list
[04:57] (elmo/#launchpad) (for mawson.ubuntu.com - the alpha site is unchanged for now)
[05:02] <SteveA> what is https://mawson.ubuntu.com/ supposed to present?
[05:02] <SteveA> spiv: I don't know what in plone could account for this.
[05:02] (elmo/#launchpad) SteveA: the devel server?
[05:02] <SteveA> lulu: you'll need to import some certificates into your browser in order to use the launchpad servers
[05:03] <SteveA> lulu: also, andrew can't find any record of geoff ennis in the database at all.  very odd.
[05:04] <lulu> SteveA: ok. Could you pop me an email on this - import some certificates into your browser in order to use the launchpad servers....
[05:04] <SteveA> ok
[05:04] <lulu> SteveA: very odd - ok - I'll get back to Geoff and ask him to re register. I saw a gmail was found...what was that?
[05:05] <SteveA> lulu: what browsers do you use?
[05:06] <lulu> Firefox, netscape, Safari, IE to test stuff. Firefox default.
[05:06] <SteveA> I'll mail you how to import a certificate for firefox.  I don't know what to do about the rest
[05:06] (spiv/#launchpad) SteveA: Neither do I, but the fact that "+" is being mistreated smells an awful lot like a web issue, not a DB issue...
[05:06] <lulu> ok - thanks :o)
[05:08] <lulu> spiv: is it a Plone prob? perhaps Roche can have a look
[05:08] (spiv/#launchpad) lulu: I'm purely speculating :)
[05:09] (spiv/#launchpad) lulu: But my guess would be it's somewhere on the web end, before the authserver or the DB gets involved.
[05:10] <SteveA> we need someone on our end who has a valid email address containing a "+" to test this properly.
[05:10] <SteveA> daf: what's the correct address for the rosetta alpha now?
[05:11] (elmo/#launchpad) rosetta.shuttleworthfoundation.org I think
[05:12] <SteveA> lulu: mailed you information on how to import certificates
[05:12] <lulu> SteveA: Thanks hon :o)
[05:13] <SteveA> if you need to use them with other browsers, we'll have to find out how to import certificates for them
[05:13] (daf/#launchpad) SteveA: it hasn't changed...
[05:14] <SteveA> should I be getting a launchpad devel server on  https://mawson.ubuntu.com/ ?
[05:14] <BradB> wow, we've really been chopping down trees in the page tests
[05:14] <SteveA> queue canadian lumberjack joke
[05:15] <SteveA> s/queue/cue/
[05:15] <BradB> the malone bug index test now looks like this:
[05:15] <BradB>   ...
[05:15] <BradB>   <h1>...</h1>
[05:15] <BradB>   ...
[05:15] <BradB> heh
[05:16] <lulu> SteveA: for the + in validation - it must be stripping characters from the email on submit. Let's set up a test user.
[05:16] <limi|london> daf / stub: "A system error occured" on all the Malone pages - is that because I'm not logged in?
[05:17] <SteveA> limi|london: try port 8086 for debugging tracebacks
[05:18] <limi|london> what was the passwd for the foo.bar user again? not "test"?
[05:18] <SteveA> I'm getting a 403 forbidden on  https://mawson.ubuntu.com/
[05:19] (daf/#launchpad) SteveA: did you install the certificate?
[05:21] <SteveA> I did
[05:21] <SteveA> both of them
[05:23] (daf/#launchpad) both?
[05:23] (daf/#launchpad) there's two?
[05:26] <SteveA> canonical development, testers
[05:27] (daf/#launchpad) I only have one, which elmo posted to the launchpad mailing list
[05:27] <SteveA> testers.p12
[05:28] <SteveA> launchpad.p12
[05:28] (daf/#launchpad) where did you get testers.p12 from?
[05:28] <SteveA> stub: you do realize that pagetests can be run in a particular order -- that is, the system has a dependency mechanism
[05:29] <SteveA> daf: elmo mailed it to you, carlos and me
[05:29] (daf/#launchpad) oh, so he did
[05:30] <stub> SteveA: Yes, which also means if the early tests cause new side effects it could break all following tests
[05:30] (daf/#launchpad) https://mawson.ubuntu.com/
[05:30] <SteveA> stub: that's the idea, surely, so you can see that happen, if it is important
[05:30] (daf/#launchpad) ^^ works for me
[05:30] <SteveA> if it is not important, the later tests should have sections elided as appropriate
[05:31] <SteveA> daf: which certificates have you imported?
[05:31] (daf/#launchpad) only the Launchpad one so far
[05:31] (daf/#launchpad) importing certificates into Epiphany is tricky
[05:31] <stub> SteveA: That isn't very scalable if we end up with hundreds of tests
[05:31] (elmo/#launchpad) if you import both, it breaks.  meh.
[05:32] <SteveA> aha -- if I tell firefox to let me choose which certificate to use, i can manually choose the launchpad one
[05:32] <SteveA> and it works
[05:32] (elmo/#launchpad) galeon doesn't even have that option :/
[05:33] (daf/#launchpad) elmo: I ran my Epiphany profile under Mozilla and did it that way
[05:34] (daf/#launchpad) elmo: the same trick should work for Galeon
[05:37] <SteveA> spiv: you have access to the database.  Can you test the issue with email addresses and logging in / registering with the website?
[05:37] <SteveA> spiv: I can supply you with some email addresses to test with.
[05:44] <lulu> SteveA: Just sent you another email on an underscore character being a problem too - do you think it's on our validation?
[05:44] (spiv/#launchpad) Ste	Ok.
[05:45] (spiv/#launchpad) SteveA: Actually, don't we have + addresses at canonical.com?
[05:48] <SteveA> lulu: I have no idea.  We'll need to look into it and try to reproduce the problem.
[05:49] <ddaa> did someone already asked elmo to add a rsync service to chinstrap to speed up archive mirroring?
[05:50] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: bug ext ref fixes (patch-629)
[05:50] <lulu> SteveA: thanks guys
[05:50] (daf/#launchpad) elmo: did somebody already ask you to add an rsync service to chinstrap to speed up archive mirroring?
[05:52] <ddaa> daf: well, I expected that my message would have the same effect, that wasu just a slightly more oblique way of asking "elmo, could you add a rsync service" :-)
[05:52] (daf/#launchpad) ddaa: I think perhaps you're being a little more subtle than necessary here :)
[05:57] (spiv/#launchpad) SteveA: Yes, andrew+test@canonical.com works, so I'll test with that...
[05:58] <SteveA> thanks
[06:00] (spiv/#launchpad) SteveA: Um, where do I sign up? :)
[06:00] (elmo/#launchpad) daf: no
[06:01] (elmo/#launchpad) and rsync using what?  without ssh, rsync is a wide-open protocol
[06:01] <ddaa> elmo: I'm not on top of it, but if it's possible to conveniently tunnel rsync through ssh that will cut it as well.
[06:02] <ddaa> The basic idea is that "tla archive-mirror" is stupidly slow even if safe, and that rsync just works better if you understand how it can break.
[06:02] (elmo/#launchpad) eh, just do 'rsync -e ssh' it works fine, doesn't need any changes by admin
[06:03] <ddaa> elmo: thanks, I'll check that.
[06:04] (spiv/#launchpad) lulu: Do you know where the sign up page these users are using is?
[06:07] <lulu> it's not readily available as yet http://www.ubuntulinux.org/join_form. This should be on https://
[06:07] (spiv/#launchpad) lulu: Ah, thanks.
[06:10] <lulu> spiv: Brad is keen to install the new new cookiecrumbler - will this interfere with your testing?
[06:11] (spiv/#launchpad) lulu: Hmm, that form hasn't been used for almost a week... is there another place, maybe in launchpad?
[06:12] (spiv/#launchpad) lulu: Or are these user problems older than that?
[06:17] <lulu> That's weird. perhaps they are talking about the shipit database of Mako's
[06:18] <BradB|lunch> spiv: can i go ahead and install the new CC?
[06:18] <lulu> spiv: last week while I was away. Let me clarify with the users and get back to you ok!?
[06:20] (spiv/#launchpad) BradB|lunch: Sure.
[06:20] (spiv/#launchpad) lulu: Heh, ok :)
[06:20] (spiv/#launchpad) SteveA: Around?
[06:26] <SteveA> spiv: yep
[06:27] (spiv/#launchpad) SteveA: Is there a sign-up page in a launchpad somewhere, or are all sign-ups happening through the plone site?
[06:28] <SteveA> through plone
[06:28] (spiv/#launchpad) SteveA: Because the authserver's createUser doesn't work atm (because it hasn't been udpated for nicknames), so looking at the lack of errors in the logs I can see that no-one has tried the plone site's join_form page for about a week.
[06:29] (spiv/#launchpad) Ok.
[06:29] <SteveA> can you update the authserver now?
[06:29] (spiv/#launchpad) So before I can test this, I need to add nickname generation to the authserver.
[06:29] (spiv/#launchpad) Yeah, I can do that.
[06:29] (spiv/#launchpad) But I'll have to workrave first ;)
[06:30] (spiv/#launchpad) (and I'll have to actually code it, although assuming BradB's module is snae that won't take long)
[06:30] (spiv/#launchpad) sane, rather.
[06:35] <carlos> hi
[06:36] <KinniLunch> rah
[06:37] <KinniLunch> 35726 entries in the librarian, 35726 files published to the pool by lucille
[06:56] <sabdfl> KinniLunch: good job
[06:56] <sabdfl> spiv: noticed an interesting thing yesterday while editing the site
[06:57] <sabdfl> (you have to log in to https://site-edit.ubuntulinux.org/ to avoid cacheing by the way)
[06:57] <sabdfl> any pages i created were created by "1" which is my id in the db
[06:57] <sabdfl> would have thought either nickname or email would show up
[06:59] <SteveA> sabdfl: sounds like a plone thing.  may be legitimate snagging for roche. 
[06:59] <sabdfl> SteveA: are we passing the email / username to plone in the first place?
[07:00] <SteveA> plone can find out the email and username of users
[07:01] <SteveA> I have no idea how to actually tell plone that, though
[07:19] (daf/#launchpad) what's the deal with arrowBlank.gif?
[07:20] <carlos> daf: hey, when you want we could have the meeting
[07:20] (daf/#launchpad) hi Carlos
[07:20] (daf/#launchpad) did the meeting at the University go ok?
[07:21] <carlos> SteveA: do you know any release date for Zope3? I'm thinking on doing some development in my free time and I want to give it a try
[07:22] <carlos> daf: yes, I'm starting today with my "final project" (a kind of project that all students should do last year)
[07:23] (daf/#launchpad) carlos: http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/RoadMap
[07:23] (daf/#launchpad) Zope X3 final is due today
[07:24] <carlos> true :-)
[07:24] <carlos> good news...
[07:25] (daf/#launchpad) ok, shall we have a meeting?
[07:29] (daf/#launchpad) spiv, sabdfl: both lib/canonical/foaf/browser.py and lib/canonical/launchpad/database/project.py have a ProjectContainer class
[07:30] (daf/#launchpad) is this intentional?
[07:30] (daf/#launchpad) (and yes, I know ProjectContainer is deprecated)
[07:31] <sabdfl> daf: good catch, no, the database/project.py one is the correct location, not sure which one is active in the code
[07:31] (daf/#launchpad) the foaf one doesn't seem to be used anywhere
[07:31] <sabdfl> if there's anything useful in the foaf one please merge it into the database/ one and eliminate the foaf one
[07:31] (daf/#launchpad) either in the Python or the ZCML
[07:31] <carlos> daf: yes, when you want
[07:31] <sabdfl> ok, then we can just remove it
[07:31] (daf/#launchpad) but I'm not 100% sure
[07:32] (spiv/#launchpad) daf: If you rename it, do the tests still pass? ;)
[07:32] (daf/#launchpad) spiv: :D
[07:32] (spiv/#launchpad) (We're not too far from being able to rely on that, thanks to the page tests...)
[07:33] (daf/#launchpad) "you broke it!" / "no I didn't -- the tests were still working!"
[07:34] <carlos> there are some tests that are still failing
[07:34] (spiv/#launchpad) daf: The annoying cases are "no I didn't -- the tests are still working!" / "not on my machine, they aren't"
[07:34] <carlos> but they are only detected by daf's script in rosetta
[07:35] (daf/#launchpad) carlos: eh?
[07:35] (spiv/#launchpad) daf: But hopefully we can avoid having fragile tests  :)
[07:35] (daf/#launchpad) carlos: the interface checker
[07:35] (daf/#launchpad) spiv: true
[07:35] <carlos> daf: yes
[07:35] <carlos> we should move it outside Rosetta :-)
[07:36] (daf/#launchpad) spiv: I'm fully in support of "if the tests still work and the code is broken, how was I supposed to know I broke it?"
[07:36] (daf/#launchpad) carlos: yes
[07:37] (spiv/#launchpad) daf: Absolutely.  If the tests pass only under some conditions (or worse, only sometimes, randomly), then that's a bug (possibly in the tests) that needs fixing fairly urgently, due to the developer confusion it causes.
[07:37] (daf/#launchpad) Kinnison: you need to add an __init__.py to lib/canonical/lucille/tests for it to be picked up by the test machinery
[07:37] (daf/#launchpad) spiv: absolutely
[07:38] (daf/#launchpad) Kinnison: will you or shall I?
[07:38] (spiv/#launchpad) daf: Twisted has had some nasty issues in this area in the past (and to some extent, today as well :( )
[07:38] <Kinnison> daf: If you do; it'll exploderificate
[07:38] (daf/#launchpad) spiv: I have one sqlbase test failing here
[07:38] <Kinnison> daf: It's not ready to be integrated
[07:38] <Kinnison> daf: I have a hive somewhere which needs some work before I commit it
[07:38] (daf/#launchpad) Kinnison: you COMMITTED BROKEN TESTS?!
[07:38] (spiv/#launchpad) daf: Which one?
[07:38] <Kinnison> daf: the tests run
[07:39] <Kinnison> daf: But not as part of the integrated suite
[07:39] <Kinnison> daf: special paths needed for the data/ dir
[07:39] (daf/#launchpad) Kinnison: grumble ;)
[07:39] (daf/#launchpad) spiv: 
[07:39] (daf/#launchpad) Failure in example: sqlrepr(time(13, 45, 50), 'postgres')
[07:39] (daf/#launchpad) from line #30 of canonical.database.sqlbase.quote
[07:39] (daf/#launchpad) Expected: "'13:45:-1'"
[07:39] (daf/#launchpad) Got: "'13:45:50'"
[07:39] (spiv/#launchpad) Hmm.
[07:39] (spiv/#launchpad) I thought I merged the fix for that one.
[07:40] (daf/#launchpad) oh, I also have a failing authserver test
[07:40] (daf/#launchpad) IntegrityError: ERROR:  new row for relation "person" violates check constraint "valid_name"
[07:40] (spiv/#launchpad) daf: I'm fixing the authserver right now :)
[07:40] (daf/#launchpad) groovy :)
[07:41] <Kinnison> daf: If you cd into the test dir and run 'make check' it works fine :-)
[07:42] (daf/#launchpad) Kinnison: my, what verbose test harnesses you have
[07:42] <SteveA> Kinnison: if you need special paths, can you get them relative to a test_foo.py module's __file__ ?
[07:43] (spiv/#launchpad) SteveA: Incidentally, Twisted has a convenience method for that.  It's very handy.
[07:43] (spiv/#launchpad) (twisted.python.util.sibpath, iirc)
[07:44] (daf/#launchpad) spiv: "sibpath"?
[07:44] (spiv/#launchpad) SteveA: It's probably worth writing one of our own to encourage the right organisation of test files.
[07:44] (spiv/#launchpad) daf: short for "sibling path"
[07:44] <Kinnison> SteveA: probably
[07:44] (spiv/#launchpad) (by analogy with "parent path" and "child path")
[07:46] (daf/#launchpad) aha
[07:46] (spiv/#launchpad) In fact, I think I've already used sibpath in the authserver functional tests (seeing as it depends on Twisted anyway...)
[07:46] (daf/#launchpad) well, Launchpad has a Twisted dependency already, I think
[07:46] (daf/#launchpad) so I don't see a problem with using that
[07:47] (spiv/#launchpad) daf: Only sort of.  The launchpad web app itself runs fine without it, it's just ancilliary stsuff like the librarian and the authserver that needs it.
[07:47] (daf/#launchpad) spiv: I thought there was something else
[07:47] (spiv/#launchpad) So I'm hesitant to make that dependency any stronger, as much as it would suit me...
[07:47] (spiv/#launchpad) Oh, and buildbot/importd.
[07:47] (daf/#launchpad) I have no objections to a twisted dependency
[07:48] (daf/#launchpad) better that than rewriting code
[07:48] (spiv/#launchpad) (And I think lamont has an XML-RPC server for his builders that uses that, but that's not in the laucnhpad source tree)
[07:49] (spiv/#launchpad) daf: Me either, but I'm biased :)
[07:50] (daf/#launchpad) :)
[07:51] (daf/#launchpad) Kinnison: an aversion to dependencies
[07:51] (daf/#launchpad) (which I personally don't have)
[07:51] <Kinnison> daf: it's getting to the point where it's a given dependency anyway; hardly seems avoiding it
[07:52] (daf/#launchpad) Kinnison: you're preaching to the converted, man :)
[07:55] <Kinnison> daf: good good :-)
[07:55] <Kinnison> the air was thin up there
[07:57] <carlos> daf: do you remember the bug I show you on Friday?
[07:59] <carlos> daf: It was because there was a potmsgset without any pomsgidsighting, I'm not sure if it's a real bug, it was there because I had the sample data broken
[07:59] (daf/#launchpad) I don't remember
[08:00] <carlos> daf: the out of index error when editing a translation
[08:01] <carlos> I don't remember it completely, let me look for the trace I sent you...
[08:03] <carlos>  * Module canonical.rosetta.browser, line 785, in messageSets yield self._messageSet(set) * Module canonical.rosetta.browser, line 756, in _messageSet messageID = self._messageID(messageIDs[0] , set.flags()) * Module sqlobject.main, line 1238, in __getitem__ return list(self.clone(start=start, end=start+1))[0]  IndexError: list index out of range
[08:08] (daf/#launchpad) oh, *that* one
[08:09] (daf/#launchpad) it was broken data?
[08:09] <carlos> yes
[08:09] <carlos> not sure if we should add extra checks
[08:09] (daf/#launchpad) humph
[08:09] (daf/#launchpad) I think extra checks are usually good
[08:09] (daf/#launchpad) do we know which check to add in this case?
[08:09] <carlos> yes
[08:10] <carlos> messageIDs[0] 
[08:10] <carlos> messageIDs is an empty list
[08:10] (daf/#launchpad) aha
[08:10] (daf/#launchpad) do we know where we would add the check?
[08:10] <carlos> yes, I think we should add it just in that line
[08:11] (daf/#launchpad) in canonical.rosetta.browser?
[08:11] <carlos> or perhaps, move it into the method that returns messageIDs so we raise an exception if the list of msgids is empty
[08:11] <carlos> hmm, the later solution is better, it's inside database/pofile.py
[08:12] (daf/#launchpad) spiv: at any rate, renaming the class didn't seem to make any tests fail that weren't failing before, so shall I delete it?
[08:12] (daf/#launchpad) carlos: yes, that sounds good to me
[08:12] <carlos> also, we are returning a sqlrecordset (or whatever its named) instead of a plain list
[08:12] (spiv/#launchpad) daf: Given that grep found no references, I'd say yes...
[08:12] <carlos> so the browser.py code is converting it into a list before use it
[08:12] (daf/#launchpad) that's not usually a problem as long as it behaves like a list
[08:13] (spiv/#launchpad) daf: Thanks for noticing :)
[08:13] <carlos> daf: no, it does not behaves like a list, you need to cast it as a list
[08:13] (daf/#launchpad) spiv: de nada :)
[08:13] (daf/#launchpad) perhaps the cast should be made in pofile.py then
[08:13] (daf/#launchpad) carlos: is it OK to make changes to pofile.py?
[08:13] (daf/#launchpad) will they case conflicts on your branch?
[08:14] <carlos> daf: please wait, I have my changes almost ready
[08:14] <carlos> daf: I would prefer if you could check the changes today as soon as I fix a small bugs that are remaining
[08:15] <carlos> I got stub's permission to commit the database changes this morning
[08:15] (daf/#launchpad) no problem
[08:15] <carlos> daf: or are you stopped by it?
[08:15] (daf/#launchpad) I'm not blocked on it
[08:16] (daf/#launchpad) I just have a changeset from "tla undo" that I won't commit until your branch is merged
[08:16] <carlos> ok, thanks
[08:20] <carlos> spiv: any way to be able to omit unneeded fields when creating sqlobjects? they are not null in the database and notNull=False
[08:20] <carlos> but I get an exception asking for them
[08:20] <carlos>     *  Module sqlobject.main, line 856, in _create
[08:20] <carlos>       raise TypeError, "%s() did not get expected keyword argument %s" % (self.__class__.__name__, column.name)
[08:20] <carlos> TypeError: POFile() did not get expected keyword argument filename
[08:21] (daf/#launchpad) carlos: does the field have a default?
[08:21] <carlos> daf: no
[08:21] <carlos> default=None
[08:21] <carlos> ?
[08:21] <carlos> is it the only solution available?
[08:21] (daf/#launchpad) so you'd like there to be an implicit default of None?
[08:21] (daf/#launchpad) a default default? :)
[08:22] <carlos> well, when you create a row
[08:22] <carlos> and you omit a field
[08:22] <carlos> it's set to NULL
[08:22] <carlos> that's what I want
[08:22] (daf/#launchpad) isn't that the same thing?
[08:22] <carlos> if you put default=None, yes
[08:22] (spiv/#launchpad) carlos: To use the database's default value, use database.constants.DEFAULT.
[08:22] <carlos> but I don't have it at this moment
[08:22] <carlos> :-)
[08:23] (spiv/#launchpad) I agree that SQLObject should be smarter about this...
[08:23] (daf/#launchpad) right, so you're saying that if you don't put a default, the default should default to none?
[08:23] <carlos> spiv: the database does not have a default set for those fields (or a field that could be empty is a default value?
[08:23] <carlos> daf: I think so
[08:23] (spiv/#launchpad) carlos: Then explicitly set None, whether in the column declaration or your invocation.
[08:24] <carlos> I mean, I thought that sqlobject was smart enough to do it alone, but seems like it's not as clever as I thought :-P
[08:24] <carlos> spiv: ok
[08:24] (spiv/#launchpad) carlos: No, sqlobject is stupid here, unfortunately
[08:24] (daf/#launchpad) carlos: file a bug, work around it :)
[08:24] (spiv/#launchpad) But seeing as the solution is to be explicit, it's not too terrible a problem.
[08:24] <carlos> spiv: thanks for the confirmation :-)
[08:25] (spiv/#launchpad) I posted to the mailing list about this some time ago...
[08:25] (daf/#launchpad) (if you think it is a bug)
[08:25] (daf/#launchpad) spiv: and...?
[08:25] <carlos> spiv: sorry, I don't remember it :-(
[08:25] (spiv/#launchpad) carlos: Sorry, I meant the sqlobject-disucss list :)
[08:26] <carlos> ohh, then is normal I don't remember it :-D
[08:38] <cprov> daf: ping
[08:41] (daf/#launchpad) cprov: pong!
[08:44] <cprov> daf: how to use launchpad pg_user on mawson (psql -U xx fails on IDENT) ?
[08:45] (daf/#launchpad) cprov: "sudo -u launchpad psql"
[08:46] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Add nickname support to the authserver (fixing the failing test (patch-630)
[08:50] <cprov> daf: I can't use sudo cause I don't have password :)
[08:51] (daf/#launchpad) cprov: you don't?
[08:51] (daf/#launchpad) cprov: it's your normal login password it wants
[08:51] <cprov> daf: ssh id_dsa.pub
[08:51] (daf/#launchpad) sure, I use certificate authentication also
[08:51] (daf/#launchpad) but I need to use my password for sudo
[08:52] (daf/#launchpad) if you don't have a password or don't remember it, you'll have to set one
[08:54] <cprov> daf: I just can figure out that I don't have a password, none that I remember ...
[08:56] (daf/#launchpad) cprov: you probably first got it in a gpg-encrypted email from elmo
[08:56] (daf/#launchpad) cprov: but it's easy enough to set a new one, I think
[08:56] <cprov> daf: i'm looking for elmo email
[08:59] <cprov> daf: nop, I have no email from james with a pass, anyway, I ask him for a new pass
[08:59] <cprov> daf: tks, daf
[09:00] (daf/#launchpad) cprov: use db.warthogs.hbd.com to do a password change
[09:05] <cprov> daf: yep !
[09:06] (daf/#launchpad) cprov: ok, cool :)
[09:09] <jblack> How are you guys? 
[09:09] <cprov> daf: ehe, not that cool, dude, if chpasswd@db.warthogs.hbd.com can't understant my signature ..
[09:10] <cprov> jblack: Leaving in a Dream <wink> 
[09:10] (daf/#launchpad) cprov: hmm :(
[09:11] <cprov> daf: exactly what I thought ...
[09:57] <jblack> daf: Sorry. Everybody showed up at once. 
[09:59] (daf/#launchpad) jblack: no worries :)
[10:25] <jblack> daf: Ok. Where were we, boss ? 
[10:25] (daf/#launchpad) the East Coast, IIRC
[10:25] <jblack> Ahh. Yeah.
[10:25] <jblack> You're welcome out here any time. 
[10:26] <jblack> Just let me know a couple days ahead of time so that I get the guest room ready for you
[10:26] (daf/#launchpad) well, looks like there are buses
[10:26] (daf/#launchpad) if I get on the right one, it takes 3 hours
[10:28] <jblack> Anything I should know? Allergies of any sort? 
[10:29] (daf/#launchpad) I'm slightly allergic to cats and I don't eat mammals
[10:30] <jblack> Ok. So I should have lettuce, carrots and what on hand? \
[10:30] <jblack> (no cats, but I do smoke) 
[10:30] (daf/#launchpad) :)
[10:31] (daf/#launchpad) fish are good, though
[10:31] <jblack> How about this. When you get here, we'll go grocery shopping, and we'll fill the fridge up with stuff you like.
[10:33] (daf/#launchpad) sounds good :)
[10:33] <jblack> Ok. That just leaves when
[10:33] (daf/#launchpad) probably not this week
[10:34] (daf/#launchpad) I have a vague intention to go travelling further out at some point
[10:34] <jblack> Ok. some indefinite point in the future it is. =) 
[10:34] <jblack> I have some questions for you now.
[10:34] (daf/#launchpad) shoot
[10:35] <jblack> How long does star-merge take you on rocketfuel? 
[10:35] (daf/#launchpad) a minute or two, I think
[10:35] <jblack> arch/os ? 
[10:35] <jblack> architecture/os, that is
[10:36] (daf/#launchpad) i386/Linux
[10:36] <jblack> ubuntu, I take it? 
[10:36] (daf/#launchpad) cough
[10:36] <limi|london> :D
[10:36] <limi|london> gentoo!
[10:36] <jblack> Its ok if its not ubuntu.
[10:36] (daf/#launchpad) it's Debian sid
[10:37] <jblack> ram ? 
[10:37] (daf/#launchpad) 768MiBs
[10:37] (daf/#launchpad) (I recently upgraded)
[10:37] (daf/#launchpad) from 256MiBs
[10:37] <jblack> you using libraries? if so, greedy/nongreedy sparse/nonsparse ? 
[10:37] (daf/#launchpad) I haven't really noticed much change in arch
[10:37] (daf/#launchpad) greedy sparse
[10:38] <jblack> and last question. are you locally mirroring rocketfuel? 
[10:38] (daf/#launchpad) I'm not
[10:38] (daf/#launchpad) I suspect my disk is slowing arch down, acutally
[10:38] <jblack> 2 minutes is about right.
[10:39] <jblack> If you're machine is top of the line, its about a minute. If you're machine is like mine, and merely rather nice, its about 2 minutes.
[10:39] <carlos> spiv: ping
[10:39] <jblack> carlos: you're on launchpad, right ?
[10:40] <carlos> jblack: yes
[10:40] <jblack> mind answering the same questions for me that I just asked daf ? 
[10:40] (daf/#launchpad) jblack: is it CPU-bound or memory-bound or network-bound or disk-bound?
[10:40] <jblack> daf: thats what I'm trying to figure out.
[10:40] <carlos> let me read them :-)
[10:40] (daf/#launchpad) jblack: aha :)
[10:40] <jblack> when I went to bed last night, I was certain that it was disk bound. 
[10:41] <jblack> ubuntu has a footprint of about 200 megs. And 90 megs of trees wouldn't get in the cache with a system w/ 256 megs (which would explain 1 hour star-merges for brad) 
[10:41] <jblack> though in fairness, brad isn't runinng ubuntu at all, but presumably os x has a similiar footprint.
[10:41] (daf/#launchpad) hmm
[10:41] (daf/#launchpad) 90 megs?
[10:41] <jblack> daf: Yeah. RF is about 30 megs, the bulk of which is patchlogs.
[10:42] (daf/#launchpad) gosh
[10:42] <jblack> depending on how you count, and how libraries play in, you're looking at 2 or 3 trees.
[10:42] (daf/#launchpad) does that mean it's going to get worse in proportion with the number of revisions?
[10:42] <jblack> anyways, that went out the window when I talked to limi, who has os x and a gig of ram. He's taking 7 minutes, but I don't know yet whether he's using libraries.
[10:42] <ddaa> troll of the day: use bdb to store patchlogs
[10:43] <jblack> daf: Not for a long while. If there's a buffer cache line, its somewhere between 256 and 512.
[10:43] <jblack> you're very safe up there at 768
[10:43] <ddaa> More seriously, there are two sides to it:
[10:43] (daf/#launchpad) right
[10:44] <ddaa> 1. patch application: just check that the name 
[10:44] <ddaa> and the id stored in the patchlog match what is in the tree instead of making a full tree inventory.
[10:44] <carlos> jblack: How long does star-merge take you on rocketfuel?  -> about 2 minutes 40 seconds (3 patchsets)
[10:44] <carlos> jblack: PPC/Ubuntu
[10:44] <carlos> RAM: 774188
[10:45] <jblack> (/me strike out ppc as a possible cause) 
[10:45] <ddaa> 2. commit: we can make up something simple which uses commit limit with a cli of the form "tla touch file" which add the file to the limit of the next commit,
[10:45] <ddaa> or something to that effect.
[10:46] <jblack> ddaa: How will that help with 1 hour star-merges ? 
[10:46] <carlos> you using libraries? Yes but I don't remember the kind of .. the log says greedy, not idea about sparse, I did what the default was from the documentation...
[10:46] <jblack> carlos: tla library-config /the/path-to-your/library
[10:47] <ddaa> jblack: does that figure include the revlib population or just the apply-delta with both revisions available in the library?
[10:47] <carlos> jblack: my laptop is two years old (three years since was launched to the market)
[10:47] (daf/#launchpad) carlos: tla library-config `tla my-revision-library`
[10:47] <jblack> ddaa: mostly its the merge.
[10:47] <carlos> greedy and sparse
[10:47] <jblack> ddaa: I can't even build a library on bradb's machine. I fell asleep.
[10:47] <jblack> carlos: last question: local mirror? 
[10:47] <BradB> jblack: Note: it doesn't take me an hour to star-merge per se, but rather to go through the whole process (tla tree-lint, tla changes, star-merge, etc.) tla changes and tla star-merge take mind-boggling amounts of time.
[10:47] <carlos> no
[10:48] <ddaa> jblack: you are not answering...
[10:48] <BradB> And, of course, the more there is to merge, the worse it gets.
[10:48] <carlos> jblack: and a link of 512Kbps download 128Kbps upload
[10:48] <jblack> ddaa: I already answered. Its mostly the star-merge. 
[10:48] <ddaa> (22:47:03) ddaa: jblack: does that figure include the revlib population or just the apply-delta with both revisions available in the library?
[10:49] <jblack> ddaa: Like I said, bradb can't use libraries at all. so thats apply delta.
[10:49] <jblack> ddaa: I haven't dived deeply yet into bradb's machine, because its so impossibly slow.
[10:49] <carlos> BradB: which powerbook do you have? a pismo?
[10:50] <ddaa> If it's without library, that involves building the parent and the target revision, isn't it? Which takes essentially the same time with a greedy non-sparse...
[10:50] <jblack> Ok. Does anybody but limi and bradb use os x with rocketfuel? 
[10:51] <BradB> carlos: The second most recent 15". 867 MHz
[10:51] <ddaa> The "no full inventory on patch application" makes patch application time roughly proportional to the size of the patch instead of size(patch)+size(tree)
[10:51] <carlos> then mine is older
[10:51] <jblack> bradb: Would it be easy for you to temporarily bump up your ram to 512 or greator? 
[10:51] <BradB> jblack: I've thought of it. I
[10:51] <BradB> er
[10:51] <ddaa> Which I expect would already yield a very noticeable performance increase.
[10:51] <BradB> I'd have to buy some, but it'd be a good investment (not just for tla/arch)
[10:51] <carlos> jblack: I have osx, I could test it if it's easy to setup it or give you a shell account if you want
[10:52] <jblack> carlos: I'd love that. what are the specs on the machine? 
[10:52] <carlos> imac G4 800MHz
[10:52] <carlos> it's faster than my laptop
[10:52] <carlos> and same RAM
[10:52] <jblack> What's the memory and the throuput on the io bus? 
[10:52] <jblack> Ahh, 768. 
[10:52] <ddaa> The last piece, would be making the patchlog collection more opaque so we have additional invariants to rely on and need not stat it all.
[10:53] <carlos> RAM: 774188
[10:53] <ddaa> Which is a big chunk of work.
[10:53] <jblack> carlos: yeah, that would help a *lot* 
[10:53] <carlos> ok, let me redirect the port and create the account
[10:54] <jblack> carlos: I'm down to three dependant variables, and that would knock one out. 
[10:54] <carlos> I'm not working on it at this moment, so it's 100% yours (well, I'm listen internet radio from it :-P)
[10:54] <jblack> should I mail you a ssh key, and if so, to where? 
[10:57] <carlos> jblack: no, don't worry
[10:59] (daf/#launchpad) I don't really mind the speed of star-merge, because I don't do it very often
[10:59] (daf/#launchpad) I can take a break or have a cup of tea
[10:59] <ddaa> jblack: what do you think of what I said?
[10:59] (daf/#launchpad) but I use "tla changes" very often, and its speed (or lack thereof) is rather frustrating
[11:00] <jblack> ddaa: I think that collecting the data and figuring out what is wrong is called for before we fix the problem. :) 
[11:00] <ddaa> daf: are you using revlib-linked trees? It is reported to dramatically improve the speed of "tla changes".
[11:01] (daf/#launchpad) I don't think I am, no
[11:01] <ddaa> jblack: You are right in doing so. Just wanted to know what you think of my informed speculations.
[11:01] (daf/#launchpad) is that documented anywhere?
[11:02] <jblack> ddaa: I'm not really thinking about it atm.
[11:02] <ddaa> tla get -H, tla changes -H
[11:02] <ddaa> daf: ^
[11:02] (spiv/#launchpad) daf: Use the --link option on tla get/build-config.
[11:02] (daf/#launchpad) aha
[11:02] (spiv/#launchpad) daf: And tla changes --link will convert a tree to be hard-linked in-place.
[11:02] (daf/#launchpad) interesting
[11:03] (daf/#launchpad) and the downside is that any tools which don't unlink-on-write will get your revlib in a twist?
[11:03] (spiv/#launchpad) daf: exactly.
[11:03] (spiv/#launchpad) daf: There's a vim option you should turn on... se the gnuarch wiki somewhere.
[11:03] <jblack> ddaa: How about we set asside time tomorrow, would that work for you? 
[11:04] (spiv/#launchpad) daf: Oh, I have the setting: set backupcopy=breakhardlink,auto
[11:04] (daf/#launchpad) spiv: vim does that by default doesn't it?
[11:04] <ddaa> Eventually, the way to improve the speed of tla changes would be a command to say "consider changes only to those files", or something that makes it possible to dispense with traversing the whole patchlog collection (for the "consider changes everywhere" case).
[11:04] (daf/#launchpad) oh, backups
[11:04] (daf/#launchpad) I don't use backups
[11:04] (spiv/#launchpad) With hardlinks, I can do tla get in under 3 seconds (when it's in cache), ditto tla changes.
[11:04] <ddaa> jblack: I'm supposedly hellbound to imports...
[11:05] (daf/#launchpad) ddaa: that only works as long as "tla commit" only considers the same files
[11:05] (daf/#launchpad) ddaa: I often use "tla changes" to check for inadvertent changes
[11:05] <jblack> ddaa: Yeah, Thats right.
[11:05] (spiv/#launchpad) daf: something like tla commit --only-this-subdir?
[11:05] <ddaa> [tla changes]  and of course make sure that "tla changes" and "tla commit" do not do any more inventories than strictly necessary...
[11:06] <jblack> ddaa: willing to distill out your ideas and mail them to me, so I can read them in a less distracting medium? 
[11:06] (spiv/#launchpad) daf: But given that I can do a full tla changes in under 3 seconds, I'm not concerned...
[11:06] <ddaa> jblack: later this week
[11:06] <ddaa> jblack: I really need to get some imports going...
[11:06] <jblack> ddaa: sounds like a plan
[11:07] (daf/#launchpad) spiv: well, ddaa was proposing having "tla changes" only look at files you've explicitly said you might have changed
[11:07] (dilys/#launchpad) Merge to rocketfuel@canonical.com/launchpad--devel--0: Fix the failing sqlbase doctest (patch-631)
[11:07] (daf/#launchpad) spiv: ta
[11:08] <ddaa> stupid buildbot is hung again...
[11:08] (spiv/#launchpad) daf: Sure, but typing a list of files would probably take me more than three seconds... :)
[11:08] (spiv/#launchpad) daf: So, in my case, I don't mind :)
[11:08] <carlos> ValueError: Unknown SQL builtin type: <class 'canonical.launchpad.database.person.Person'> for <Person at 0x307f37d0>
[11:08] <carlos> :-?
[11:08] (spiv/#launchpad) If I were on OS X, my opinion would be rather different...
[11:09] <jblack> ddaa: That may be a necessary fallback position, but before we go there, lets see if we can just tell limi "use libraries" and bradb "get more ram, you cheap bastard"  :) 
[11:09] (daf/#launchpad) spiv: right, and it wouldn't catch inadvertent changes
[11:09] (daf/#launchpad) spiv: I'd like it to be transparently faster -- maybe hardlinking will be enough for me
[11:09] <ddaa> jblack: yeah, but the sad truth is that there _are_ performance problems which need adressing.
[11:10] <jblack> ddaa: Yeah. I think it may be the 28 megs of patchlogs or so that's getting carried around.
[11:10] <jblack> so the problem could possibly be solved with a patchlog autopruner.
[11:11] <ddaa> jblack: It's probably the problem. In any case performance should not deteriorate with the number of patchlogs.
[11:11] <ddaa> jblack: I do not think that pruning is the right answer.
[11:11] <carlos> talking about the performance....
[11:11] <jblack> of course performance should deteriorite with the number of patchlogs.
[11:11] <carlos> doing a new branch from rocketfuel today is really sloooooooooww....
[11:12] <jblack> carlos: how slow is slooooooooowwww ? 
[11:12] <carlos> jblack: about 5 minutes or more
[11:13] <carlos> not sure, I could do a check later if you want
[11:13] <carlos> I did a new branch last week
[11:13] <ddaa> jblack: instead I think the patchlog collection should be made smarter and be able to tell what was changed (tla changes) and which set of logs it contains (for the general changeset generation for apply-delta). Maybe with some extra smarts because there are probably changesets in the wild which modify the content of patchlogs (to fix typos and stuff in auto-generated changelogs).
[11:14] <jblack> How would you know which patchlogs apply, if you don't look at them and see what they are? 
[11:15] <ddaa> The important facts here are: 1. user generally do not need direct access to patchlogs and 2. patchlog mutation is a very rare event.
[11:16] <jblack> carlos: would it be possible to get a newer diff and diff3 on the box? 
[11:16] <carlos> jblack: if you point me to them...
[11:16] <ddaa> jblack: for "changes" and "commit", we know what are the new or removed patchlogs because tla is the only one to do such changes (on changeset application).
[11:16] <carlos> jblack: I never did any development on MacOSX, I have it to play games and edit home videos
[11:17] <jblack> ddaa, you do understand that I'm not dealing with changes and commit right now, just star-merge? 
[11:17] <jblack> carlos: Nor have I. This is the second time in my life I've been on os x. ;) 
[11:17] <carlos> BradB: could you help here?
[11:17] <jblack> I'll have to bug either limi or brad to see how they pull it off
[11:18] <ddaa> jblack: for generic changeset calculation (which applies to star-merge), there are more efficient ways to determine the set of patchlogs than traversing a overcrowded file hierarchy, but that requires giving up the "patchlog are stored as individual files" implementation choice.
[11:19] <jblack> ddaa: And what would you do with the merge mess of having one patchlogs file? 
[11:19] <carlos> jblack: https://wiki.canonical.com/OSX
[11:20] <jblack> gah. I don't remember the username and password.
[11:20] <ddaa> jblack: the changet generation and application should special case patchlogs.
[11:20] <jblack> ohh. good guess jblack
[11:20] <jblack> carlos: that page doesn't seem related. 
[11:21] <carlos> jblack: that page tells you how to setup arch on MacOSX
[11:21] <carlos> from http://darwinports.opendarwin.org/
[11:21] <jblack> Oh, there it is on the top.
[11:21] <jblack> can I run those, or do you have to? 
[11:21] <carlos> I think you should be able to install it
[11:21] <carlos> in your home
[11:22] <jblack> I don't seem to have port in my path, and there's no locate database
[11:22] <carlos> if you have any problem, tell me it and I will run it
[11:22] <carlos> jblack: you need to install it first
[11:22] <carlos> http://darwinports.opendarwin.org/getdp/
[11:22] <carlos> It's all in that page
[11:23] <ddaa> jblack: essentially, each patchlog can be identified by "fqrev N" where N is the extra bit for when the patchlog is patched.
[11:24] <BradB> carlos: What do you need to know about OS X?
[11:24] <carlos> BradB: ask jblack he has an account in my iMac
[11:24] <jblack> bradb: I'm trying to build tla on the machine, but it doesn't like diff and diff3 on his machine
[11:24] <BradB> (note: I don't really have time to look at this atm, as I'm spending the next few hours trying to keep in line with the wednesday dog food date for Malone. :)
[11:24] <BradB> jblack: fink install tla
[11:24] <carlos> BradB: latest MacOSX release with development tools
[11:26] <ddaa> In the common case, the the patchset-delta is just additions and removals, and the expensive bit is getting the patchlog listing. On slow filesystems it will probably faster to read one big file than stating several directories with hundred of entries.
[11:26] <carlos> BradB: does it works?
[11:26] <carlos> jblack: I will install fink now (it's apt-get for MacOSX)
[11:26] <jblack> bradb: as root, I take it? 
[11:28] <carlos> jblack: it will take about 15 minutes I need to download about 20MB of data
[11:28] <BradB> it'll ask for the sudo p/w
[11:28] <BradB> carlos: Well, apt-get for OS X is apt-get for OS X. :)
[11:28] <carlos> jblack: I will tell you when it's ready
[11:29] <BradB> fink compiles everything from source.
[11:29] <carlos> I know
[11:29] <carlos> I was using it some time ago
[11:29] <carlos> until I decided to forget about MacOSX development :-)
[11:30] <jblack> dinner. bbs
[11:31] <BradB> Panther may be a heck of a lot better than Jaguar, I just don't yet have a machine to fall back on if I'm inconvenienced any downtime by attempting an upgrade.
[11:31] <BradB> And, of course, I need more memory.
[11:33] <carlos> daf: I'm fixing now the functional tests and my branch will be ready to be merged into rocketfuel
[11:33] (daf/#launchpad) carlos: cool!
[11:40] <BradB> If s is an instance of an SQLObject, s.foo is an instance of an IntCol whose schema def uses a dbschema vocab, how do I access the "term" from the vocab in a python expr in TALES?
[11:40] <BradB> i.e. I don't want to do if s.subscription == 1; I want to do if s.subscription == 'CC'
[11:41] <BradB> I tried if path('s/subscription/lp:BugSubscription'), but got a KeyError on s.
[11:45] <carlos> BradB: apt-get install tla says that it does not exists
[11:46] <BradB> carlos: I suggested fink.
[11:46] <BradB> fink install tla should work.
[11:46] <carlos> ok
[11:46] <carlos> no package found
[11:52] <BradB> carlos: https://wiki.canonical.com/Arch
[11:53] <carlos> BradB: ok, thanks
[11:54] <BradB> I'm running 1.2.1, yeesh.
[11:54] <BradB> pretty old...i think!?
[11:55] <BradB> oh, maybe not old
[11:57] <carlos> grr
[11:57] <carlos> the mirror seems to be down