[12:18] <spiv> elmo: Have you had chance to try that Moin patch?
[12:18] <elmo> spiv: no, I've been reviewing
[12:18] <elmo> baz, schmaz
[12:20] <koke> where should I announce https://launchpad.net/products/launchpad/+spec/fair-exposure to get involved people subscribing?
[12:20] <Kinnison> #ubz would be a good start
[12:22] <koke> maybe I'll need the responsible person for https://wiki.launchpad.canonical.com/TotalExposure
[12:23] <koke> it appears as created by sabdfl but I'm not sure if he wrote it, changes only show hostnames :(
[12:24] <nhaines> Hello, all.  Well, you guessed it.  I have a stupid question.  :)
[12:25] <nhaines> Launchpad (or something like it) would be perfect for some private work some friends and I are doing.  Does anyone know if Launchpad is available publically?
[12:25] <kiko> nhaines, the code or..?
[12:25] <kiko> do you mean you'd like to run a private project on a launchpad instance?
[12:26] <nhaines> Yes, on a private launchpad implementation.
[12:26] <nhaines> Binaries are easiest, but code would be just as good.
[12:26] <nhaines> It sure looks like it's separated into different packages, but Canonical's site has no info on it.
[12:32] <koke> kiko: I think he's shouting "give me the code"
[12:35] <nhaines> Shouting is such a harsh word.  :)  But I'm really surprised it's not more visible.  If it's private that's fine, but I thought I'd see if anyone here knew for sure.
[12:35] <nhaines> I really like Launchpad.  Of course, I understand why everyone going off and running their own instance of it would be a Bad Thing.
[12:36] <koke> nhaines: sorry, that was one of my poor literal spanish->english translations
[12:37] <SteveA> nhaines: there's an faq entry on this on the rosetta faq.  i'll find the link...
[12:37] <nhaines> Oh, no worries, then, koke.  :)
[12:38] <nhaines> Okay, I see that some parts of Launchpad are released and some are still private.  At least, that's what RosettaFAQ on the Ubuntu wiki is telling me.
[12:39] <SteveA>   https://wiki.ubuntu.com/RosettaFAQ#head-19c96d73454bfa4dc8a7b7e3fa487b4c9e34de19
[12:39] <SteveA> yeah
[12:39] <mpool> ah 
[12:39] <mpool> good old question 19c96d 
[12:39] <koke> SteveA: anyway I think a plain "no" would have been faster ;)
[12:40] <nhaines> Ah, what a shame, *sigh*.  Well, at least bazaar and bzr are Free.  Plus, I didn't know there was a space probe named Rosetta.  I must've missed that one.  :)
[12:41] <kiko> actually, the space probe was soyuz
[12:41] <kiko> nhaines, however, there is intent to write a feature for "private" products
[12:41] <SteveA> no way man, there was a rosetta space probe
[12:42] <kiko> nhaines, would you be a potential user of this feature, or do you /require/ it to be hosted elsewhere?
[12:43] <nhaines> It wouldn't be fair in the least to ask Canonical to manage the silly little side projects my friends work with.  But I also always feel more comfortable screwing around with a private install before I start using some public tool.
[12:43] <LarstiQ> nhaines: does private imply closed?
[12:44] <SteveA> you can use launchpad, try stuff out
[12:44] <nhaines> Yes, I only wanted to track a couple of Web sites, hacked together tools, and private modifications my friends and I all help each other out with.
[12:45] <nhaines> I'd like to get back into programming, and need to learn to use versioning tools and it seemed like it might be nice to get an entire suite that was integrated.
[12:47] <nhaines> I'm frankly very impressed by launchpad and by Rosetta.  I'm glad the latter was more tightly integrated into Breezy.  :)
[12:55] <SteveA> nhaines: you can register your stuff in launchpad as products
[12:57] <nhaines> I don't feel comfortable with that, though.  These are personal websites with no relation to Ubuntu, Linux, or Open Source software or anything like that.  If there was any tiny relevance to the real world that'd be one thing.
[12:58] <SteveA> okay.   lots of open source software that people use every day started off as personal hacks ;-)
[12:58] <nhaines> Hehe, that's true!  ;)  Well, my ulterior motive is to find something I can use to track my freelance consulting products at some point in the future, although I am looking for a way to get involved with helping out Ubuntu.
[12:59] <nhaines> Hoary (and breezy even moreso) is finally a distro I can hand to totally clueless computer users and say "try this, you'll like it."  Such an achievement deserves support.  :)
[01:16] <elmo> someone pretty pls, with a cherry on top remind me of the baz incantation to get the diff between patch-44 and patch-45?
[01:18] <SteveA> elmo: you can use baz get-changeset archive/c--b--v--patch-45
[01:18] <SteveA> and then look at that
[01:18] <elmo> there isn't a 'cvs diff -u -r 4r -r 45' analogue?
[01:19] <spiv> elmo: That's crazy talk!
[01:19] <elmo> RAHR
[01:19] <spiv> elmo: I can mail you a diff.
[01:19] <elmo> one day, I will have my REVENGE ON ALL YOU BAZ DEVELOPERS
[01:20] <nhaines> By coding a 'cvs diff -u -r 4r -r 45' analogue?  :)
[01:21] <nhaines> Whoops, the baby's awake--time to entertain a 7 month old.  Thanks for the answers, everyone!
[01:21] <spiv> elmo: Actually, you can baz get patch-45, then do "baz diff patch-44", iirc.
[02:07] <lifeless> kiko: ping
[02:13] <kiko> lifeless, pong duderino
[02:13] <lifeless> scheduling status ? we're in mugubu
[02:28] <lifeless> kiko: ping
[02:30] <lifeless> SteveA: ping
[02:32] <kiko> lifeless, we're going there
[02:41] <SteveA> lifeless: 
[02:41] <lifeless> SteveA: ?<-
[02:45] <lifeless> q
[02:45] <kiko> mpool, ping?
[02:46] <lifeless> hes in his room I think
[02:46] <lifeless> wassup ?
[03:01] <kiko> lifeless, a commit I'm doing is hung
[03:08] <lifeless> kio erk
[03:08] <lifeless> where are you ?
[11:26] <mantiena> gi all
[11:26] <mantiena> Seveas, labas
[12:30] <matsubara> good morning!
[01:42] <sabdfl> cprov: ping
[02:12] <cprov> sabdfl: pon
[03:06] <ajmitch> morning kiko 
[05:27] <\sh> guys...the sorting on https://launchpad.net/distros/ubuntu/+specstable is done via javascript? it's annoying when u hit the browsers back button and your sort order is just gone
[05:30] <spiv_> \sh: Yeah, it is.
[05:30] <koke> can I put simple wiki markup on bug comments in malone?
[05:31] <spiv_> koke: Yes, but it won't work ;)
[05:31] <\sh> spiv_: possible to carry the sort order somehow in the QUERY_STRING around? 
[05:31] <spiv_> Less literally, no.  It just treats comments as plain unformatted text.
[05:31] <koke> spiv_: any plans to have it?
[05:32] <koke> just bold, italics and links
[05:32] <koke> actually I just need named links right now
[05:33] <spiv_> \sh: It'd be possible, but I'm not sure what a good UI would be.  Perhaps a google maps-like "Link to this page" link?
[05:34] <spiv_> \sh: Worth filing a bug for, though, it would be nice to have, if we can think of a good way to do it.
[05:35] <\sh> spiv_: ok...will do
[05:35] <\sh> spiv_: or something like "Personalized options" for the LP UI makes much more sense now to me
[05:35] <spiv_> (certainly the implementation wouldn't be hard, once we figure out a good UI)
[05:39] <koke> spiv_: it's only client javascript or some ajax?
[05:43] <spiv_> koke: purely client javascript.
[05:43] <spiv_> The client has the complete table, so there's no need to talk to the server just to change the sort order.
[09:20] <salgado> bradb, are you working on https://launchpad.net/products/malone/+bug/3308?
[09:20] <Ubugtu> Malone bug #3308: Bugs on Maintained Software times out Fix req. for: malone (upstream), Severity: Normal, Assigned to: Brad Bollenbach, Status: New http://launchpad.net/malone/bugs/3308
[09:37] <jamesh> Kinnison: would you happen to know the recommended way to go from a distro/sourcepackagename pair to a product?
[09:37] <jamesh> (in the launchpad data model)
[09:37] <Kinnison> packaging table
[09:38] <Kinnison> Or there's SourcePackage.productseries
[09:38] <Kinnison> Which kinda gives you what you want
[09:40] <salgado> bradb_, are you working on https://launchpad.net/products/malone/+bug/3308?
[09:40] <Ubugtu> Malone bug #3308: Bugs on Maintained Software times out Fix req. for: malone (upstream), Severity: Normal, Assigned to: Brad Bollenbach, Status: New http://launchpad.net/malone/bugs/3308
[09:45] <lifeless> jblack: ping
[09:55] <elmo> sabdfl: FYI, spiv's patch is on the moin now, and subscriptions are back on
[10:15] <bradb> heads up: i'm working on improving inline attachment display
[10:30] <koke> is there any way to have https://launchpad.net/people/motu/+assignedbugs not crashing every single time?
[10:31] <jblack> lifeless: coming
[10:31] <jblack> where areyou?
[10:34] <bradb> koke: I'll look at it now.
[10:37] <koke> thanks
[10:40] <carlos> kiko, ping
[10:47] <kiko> carlos, pong dude
[10:47] <kiko> thanks elmo 
[10:49] <bradb> Hm, this timeout may be happening because it appears that we're doing a seq scan on Person.merged
[10:52] <bradb> Hm, according to SteveA_ the error message prints out the wrong SQL statement :/
[10:53] <carlos> kiko, should we update specs status on the wiki or could we just remove them now that we are using launchpad to track the status?
[10:56] <bradb> SteveA_: it *looks* to me though as though this SQL statement is possibly the correct one (it's part of the launchpad.View checker code for IBugTask), and that it is doing a scan on the Person table, and thus may be responsible for this timeout
[10:58] <bradb> i.e. https://launchpad.net/errors/showEntry.html?id=1131054096.210.728296554262
[11:00] <kiko> carlos, remove them.
[11:00] <kiko> bradb, can you get me a pastebin?
[11:00] <carlos> kiko, ok
[11:06] <bradb> kiko: https://chinstrap.ubuntu.com/~dsilvers/paste/fileJcnlF4.html
[11:06] <bradb> Having just spoken to jamesh, I'm taken to understand that this exception means the request itself took too long, rather than any one specific db query.
[11:07] <bradb> IIUC though, doing a scan on Person could heavily contribute to the request taking too long. (All those perm checks!)
[11:08] <salgado> bradb, that's not the query that timed out
[11:09] <bradb> salgado: I know. No query timed out. :)
[11:09] <bradb> The HTTP request itself timed out.
[11:09] <bradb> i.e.
[11:09] <bradb> class RequestExpired(RuntimeError): """Request has timed out.""" implements(IRequestExpired)
[11:09] <bradb> vs.
[11:09] <bradb> class RequestQueryTimedOut(RequestExpired): """A query that was part of a request timed out."""
[11:09] <bradb> This one was the former
[11:10] <bradb> The EXPLAIN for that query is interesting though:
[11:10] <bradb>                            QUERY PLAN
[11:10] <bradb> ----------------------------------------------------------------
[11:10] <bradb>  Sort  (cost=4.71..4.71 rows=1 width=347)
[11:10] <bradb>    Sort Key: displayname, familyname, givenname, name
[11:10] <bradb>    ->  Seq Scan on person  (cost=0.00..4.70 rows=1 width=347)
[11:11] <bradb>          Filter: ((name = 'admins'::text) AND (merged IS NULL))
[11:11] <bradb> "Seq Scan on person" :)
[11:12] <bradb> I have a hunch that this might be contributing heavily to making the HTTP request expire, but I won't know for certain until I confirm with stub.
[11:12] <salgado> hmmm. maybe I got this wrong, but I thought that you get this when a query times out and then the exception handler tries to check if you should get a traceback or not. but to do that the exception handler issues some db queries using a transaction manager that's already gone
[11:13] <salgado> bradb, isn't this related to https://launchpad.net/malone/bugs/3584?
[11:13] <Ubugtu> Error: I cannot access this bug
[11:15] <bradb> salgado: I'm not so sure. The place where the HTTP request times out (during the launchpad.View security checker for IBugTask) runs that *exact* same SQL :)
[11:17] <bradb> kiko: does what I'm saying make any sense to you? could the seq scanning be a problem in the way i think it might be?
[11:18] <spiv> bradb: did you do that explain on the production db?
[11:18] <bradb> spiv: nope. I don't have access.
[11:18] <bradb> But I don't see an index on Person.merged
[11:18] <spiv> bradb: Then you can't really trust explain's output -- postgres can do interesting things.
[11:19] <jamesh> bradb: I've got readonly access.  what do you want explained?
[11:19] <spiv> e.g. if there aren't many rows in the table, it can decide that a seq scan is faster than using an index.
[11:19] <bradb> jamesh: one sec, I'll give you a URL
[11:20] <bradb> jamesh: https://chinstrap.ubuntu.com/~dsilvers/paste/file8Rx2De.html
[11:21] <jamesh>  Sort  (cost=4.02..4.03 rows=1 width=761)
[11:21] <jamesh>    Sort Key: displayname, familyname, givenname, name
[11:21] <jamesh>    ->  Index Scan using person_name_key on person  (cost=0.00..4.01 rows=1 width=761)
[11:21] <jamesh>          Index Cond: (name = 'admins'::text)
[11:21] <jamesh>          Filter: (merged IS NULL)
[11:24] <bradb> and again!
[11:25] <bradb> and again!
[11:27] <jordi> I'm getting RequestExpired too here and there.
[11:27] <bradb> jamesh: right
[11:29] <bradb> the fact that I'm getting that exception even when re-assigning a spec to another approver to me suggests our request timeout configuration is borked
[11:41] <bradb> Anyone know where I can find useful debug output when I get an internal server error from the librarian trying to upload an attachment on localhost?
[11:41] <spiv> bradb: there's a log file somewhere...
[11:42] <spiv> from make run?
[11:43] <bradb> ls /tmp/
[11:44] <bradb> rm -rf /
[11:44] <spiv> bradb: is this happening from "make run" or a test suite?
[11:44] <bradb> from make run'ing LP and then trying to do an upload through the web ui
[11:45] <spiv> bradb: Unless you've overridden it, it'll be on your stdout then.
[11:45] <bradb> i saw this:
[11:45] <bradb>   File "/home/bradb/canonical/malone-ubz-fixes/lib/canonical/librarian/client.py", line 123, in addFile
[11:45] <spiv> (as defined by the "logfile -" line in the librarian_server section of configs/default/launchpad.conf)
[11:45] <bradb>     raise UploadFailed, 'Server said: ' + response
[11:45] <bradb> UploadFailed: Server said: 500 Internal server error
[11:45] <spiv> It'll be prefixed with something like "2005/11/03 17:43 EST [-] "
[11:46] <spiv> E.g. this is librarian server log output: 2005/11/03 17:43 EST [-]  canonical.librarian.libraryprotocol.FileUploadFactory starting on 58090
[11:47] <bradb> ah
[11:47] <bradb>           File "/home/bradb/canonical/malone-ubz-fixes/lib/canonical/librarian/storage.py", line 129, in _move
[11:47] <bradb>             raise DuplicateFileIDError(fileID)
[11:47] <bradb>         canonical.librarian.storage.DuplicateFileIDError: 37
[11:50] <bradb> spiv: ever seen that one before on localhost?
[11:52] <spiv> Not off the top of my head.
[11:52] <jblack> mpool:
[11:52] <jblack> pub   1024D/06357400 2000-09-16
[11:52] <jblack>       Key fingerprint = AAE4 8C76 58DA 5902 761D  247A 8A55 DA73 0635 7400
[11:56] <jblack> Whoever did it, thank you
[11:58] <spiv> bradb: that's a strange error... it shouldn't happen unless the client sends the same ID as a pre-existing file.
[11:58] <spiv> bradb: Hmm, maybe you reset your database without cleaning out the librarian directory?
[12:02] <jamesh> spiv: maybe "make schema" should clear the librarian directory then? :)
[12:03] <spiv> jamesh: Quite likely :)