/srv/irclogs.ubuntu.com/2006/11/27/#launchpad-meeting.txt

=== ddaa [n=ddaa@nor75-18-82-241-238-155.fbx.proxad.net] has joined #launchpad-meeting
=== jamesh [n=james@203.59.208.48] has joined #launchpad-meeting
=== spiv [n=andrew@218-214-66-203.people.net.au] has joined #launchpad-meeting
ddaaYeay10:05
lifelesspoolie sends apologies10:05
ddaaLet's start10:06
ddaaMEETING STARTS10:06
ddaasorry being late, just came back home, jetlag and stuff10:07
ddaa== Agenda ==10:07
ddaaNext meeting Monday 4 December, 09:00-09:45 UTC.10:07
ddaa * production status10:07
ddaa * naming convention [SteveA] 10:07
ddaa * status reports10:07
ddaa== Roll call ==10:08
ddaa_thumper_ is on leave until start of December.10:08
ddaalifeless says: poolie sends apologies10:08
SteveAmorning10:08
ddaajamesh: ping10:08
ddaaspiv: pin10:08
jameshhi10:08
=== SteveA hands lifeless a pin to write new-zealandish with
=== ddaa giggles
SteveAthe pin is mightier than the sword10:09
spivI'm here.10:09
ddaaThere was a kiwi woman at the hostel... I figured out that .nz people "spin time" :)10:09
ddaaokay 'vrybody in there10:10
ddaa== Production status ==10:10
ddaaNew rollouts or production problems.10:10
SteveAddaa: there is a bar/restaurant place call Bazar just down the road from me10:10
SteveAhttp://www.specialnite.com/venues/location/the_pijp/bazar/10:10
ddaaSteveA, the one you recommended to me for a stay in Rotterdam?10:11
SteveAon the subject of new rollouts, when can we expect the smartserver to run on the supermirror?10:11
ddaaSo, anything of notice happened in the past two weeks or so in production?10:11
SteveAand also the viewcvs kinda stuff?10:11
ddaaIs there anything in production in need of firefighting?10:11
lifelessSteveA: so there is a wsgi module for it. AFAIK its just a matter of configuration now.10:12
lifelessspiv: is that right ?10:12
spivlifeless: Partly ;)10:12
lifelessspiv: for the http side that is10:12
spivlifeless: where "configuration" includes "make it work with the different directory layout on disk"10:13
SteveAI'd like us to have a meeting (not this one) to determine exactly what needs doing so that we can have the smartserver runing on the supermirror10:13
SteveAand who is going to do it and when10:13
SteveAright after this here meeting works for me10:13
spivWhich is possibly taken care of by the apache magic already, but I don't know exactly how that hooks together yet.10:13
ddaaspiv has review meeting just after this one AFAIK10:13
SteveAtrue.  so do i10:14
lifelessspiv: if we can pass the path in to the vfs - the chroot transport should be all we need. just command line glue10:14
spivAlso, there's an issue that the admins don't like mod_fastcgi, so the magic to hook up WSGI with something else (probably mod_python) needs to be figured out.10:14
lifelessspiv: they dont ?10:14
jameshthey won't run fastcgi, but they'd run Bazaar code within apache?10:15
spivlifeless: there's a non-free fastcgi thing for a apache, or a free one that sucks, apparently.10:15
spivI spoke to elmo about it briefly at allhands.10:15
lifelesshow badly does it suck? I mean, is it worth more dev time to reimplement something that exists..10:15
spivWell, there's lots of existing modules for connection WSGI to stuff, including, I believe, mod_python stuff, so it's not something we'd have to implement ourselves.10:16
spivIt's also likely we'll want mod_python on the supermirror eventually as a better way to do the URL rewriting that mod_rewrite + a huge periodic dump file from the database.10:17
SteveAor just run it as a twisted daemon?10:17
jameshmod_python basically means allowing the code to do whatever apache can, which is why I was surprised the admins would prefer that10:17
SteveAjamesh: it's a freeness issue I think10:17
ddaaspiv: that sounds like a useful cleanup, but the mod_rewrite problem has not been a problem so far. It's stupid simple but robust.10:18
ddaaso I'd call that a low priority cleanup.10:18
spivddaa: right.  "eventually" :)10:18
SteveAok.  I'm getting confused.  I want to explain what I want out of this.10:18
SteveAWhat I want is a set of numbered list items on a wiki page that lays out all the steps from where we are now, to having the supermirror running the smartserver.  If there are parts that need investigation then that item says10:19
SteveA"investigate [foo]  to determine whether [bar] "10:19
SteveAspiv: I'd like you to be responsible for writing this10:20
spivSteveA: ok.10:20
spivI think that's a good idea.10:20
ddaaspiv: today after review meeting might be late for you. What about meeting tomorrow? Who else than you, SteveA and I needs to be present?10:20
SteveAthen next time I ask "how is this going", you'll be able to say "did A then B, and the result of investigating [foo]  was [bar] "10:20
SteveAddaa: I think we don't need the meeting, if spiv writes the doc.10:21
spivI'll write the doc within 24 hours, put it on the wiki, and post to the list about it.10:21
SteveAthank you spiv 10:21
ddaaACTION: spiv writes supermirror-smart-server plan10:21
spivI think discussion about it can probably be done adequately by email.  If it turns out to be a messier than expected discussion, we can look at scheduling a meeting.10:21
SteveAI'd like the same for viewcvs-style support, at some point10:22
ddaaspiv: ++10:22
ddaaSteveA: let's talk this week about what we'd like Tim to work on next month. The bzrweb integration could be one of those items.10:23
ddaaMoving on.10:23
ddaa== Naming convention ==10:24
ddaa * Use a naming convention for branches to be hidden/removed (Steve Alexander)10:24
SteveAa bzr / supermirror user asked for a branch of his to be removed10:25
SteveAor hidden10:25
SteveAas it was just an experiement10:25
SteveAI spoke with him, and found out that he wanted it hidden just for aesthetic reasons10:25
SteveAthat is, no problems with illegal data or anything10:25
SteveAI explained we can't easily do that right now10:25
SteveAhe said okay, and suggested that we use a naming convention for branches that are to be hidden10:26
SteveAso that people can use this now, and they get hidden when we have support in the code10:26
SteveAmaybe branch--hidden or something10:26
ddaamh... double dash...10:26
lifelessI dont understand why we dont just use branch status10:26
jameshhiding obsolete branches by default?10:27
lifelessright10:27
lifelesswith a 'show all' page to show them10:27
spivAlso "merged" branches.10:27
ddaalifeless: because we want to represent a "deleted" state, for branches that should eventually be garbage collected10:27
lifelessI feel quite uncomfortable with the idea of conflating 'hide branches' and 'name'10:27
ddaawhich is different from merged/abandoned, which should appear in the "show all branches" listing even when we have branch deletion support10:28
lifelessddaa: so add a state for that. One new entry in the dbschema, called 'to be deleted'.10:28
ddaawhich is awkyard since it's not clear whenever we will actually support it10:28
SteveAI think we should use the name for this, unless the software will support it reasonably soon, conflation or no conflation10:28
ddaaalso it's more work than just agreeing on a naming convention10:28
jameshif we have a  "to be deleted" state, people might expect the branch to stop being published.  Is that the intent?10:29
SteveAthe name is something users can change today, and the conflation is not harmful in the long term.  it just goes away.10:29
SteveAbecauase the branches do10:29
ddaaI think I already used something like "status=obsolete name=<foo>-deleted[-N] "10:29
spivSteveA: We already have a status field with values like "obsolete" and "merged".  Why not make the proposed UI changes use that?10:29
SteveAspiv: we can.  if it is done *soon*10:29
ddaaI like SteveA's suggestion10:29
ddaaI think I understand the issue, and I'll reply to the questions by email today.10:30
SteveAI want to avoid us leaving this gap on account of a feature that won't be ready soon.  So, if soon, great.  If not soon, workaround.10:30
ddaaworkaround sounds better to me right now, it's less commitment and avoids raising expectations, and having more stub features in the UI.10:31
ddaaShall we move on?10:31
ddaa== Status reports ==10:32
ddaa * spiv: supermirror-smart-server.10:32
ddaa * jamesh: spec-branches.10:32
ddaa * ddaa: python import.10:32
jameshspec-branches is still in the queue10:32
ddaapython import: up and running since all-hands10:33
ddaa * ddaa: pyrex.10:33
spivThe status of supermirror-smart-server is probably best addressed by the wiki page I've promised to write shortly.10:33
ddaaDunno if SteveA has reviewed the pyrex branch, or if their status has changed somehow.10:33
spivSo I'll skip that for now, if that's alright.10:34
ddaaspiv: that's alright, it's been discussed enough at the beginning of the meeting.10:34
SteveAso, the pyrex thing is ddaa's experimental new svn bindings, focused on what we need10:34
SteveAis that right?10:34
ddaaSteveA: that's right10:35
SteveAhow complete is the pyrex stuff for what we need?10:35
ddaaNot complete yet. Includes removal of dep on native swig bindings.10:35
ddaaNow, the prereq have been merged to allow the work to start on using svn_ra API for the critical code paths.10:36
SteveAwhat is svn_ra10:37
SteveA?10:37
SteveAwhat do you want to do with this branch?10:37
ddaaWhich will allow very substantial improvements in efficiency. But I'd like feedback on the proof-of-concept code that's already pending review.10:37
ddaasvn_ra is the low-level "talk with svn over the wire" API10:37
jameshra == repository access10:37
ddaagoals: simplify the code (only one entry point to libsvn, thin bindings), more flexibility (allow access to all libsvn functionality), more efficient (allow using functionality not available with pysvn)10:39
ddaaultimately, the problem is that all all python-libsvn bindings suck in one way or another10:39
ddaaand the svn import code has reached the point where that's become the next roadblock.10:40
SteveAwhat problems are we seeing that are blocked by shoddy bindings?10:41
ddaausing svn_ra allows to use a single session in the critical loop, which cuts down on round-trip and connection count10:41
ddaaSteveA: imports failing because of connection errors in the middle of the import10:41
ddaacurrent code involves literally thousands of connections (sequential) for even moderately sized imports10:42
ddaamakes it slow10:42
ddaamakes it unreliable10:42
ddaaand put uncessary load on community resources10:42
SteveAok.10:42
SteveAlifeless: what would you suggest to do with ddaa's branch next?10:43
lifelessSteveA: its currently in the review queue, with you as the reviewer.10:43
lifelessI dont really get the question I think. Surely we want to achieve two things10:44
SteveAI'm not really qualified to review it10:44
lifeless1) demonstrate that this is a solid, reliable way forward. I.e. check that callbacks work properly, and that the apr memory pool stuff is managed well10:45
lifeless2) start using it.10:45
lifelessI would ask for the same thing you asked spiv to do - a list of whats needed to achieve these two things.10:45
SteveAthank you lifeless 10:46
SteveAI agree with your points10:46
SteveAin addition, for point 1, this is a new binding that we'll be maintaining10:46
SteveAso we should have a good sense that it is a better way to proceed than maintaining existing bindings10:47
lifelessthe existing bindings are both hard to maintain10:47
SteveAquestions like, has the upstream for any of the bindings improved things since we last looked?10:47
lifelessI vouch for them being difficult10:47
ddaameeting time ended: jamesh, spiv, you can go and workrave10:48
SteveAddaa: I think you should do some more management of the meeting10:48
SteveAsimply announcing that the time is ended is not good meeting management10:48
ddaawell, anyway all theh points have been adressed10:49
ddaawe can continue to talk about the svn bindings10:49
ddaajelmer has posted some improvements to the upstream swig bindings10:49
SteveAlifeless: ok, so someone competent to do so needs to review it for the points you listed10:49
ddaait's in the svn 1.5 branch and backported in edgy10:49
ddaahowever, the swig bindings are not reliably maintained upstream10:50
SteveAalso, is there value in this being released as open source if we do decide to go with it, to get other contributions?10:50
lifelessI think so.10:50
ddaathe pyrex bindings will be released as they are part of cscvs10:50
ddaaand releasing cscvs is something I want to do before the end of the year10:50
SteveAddaa: the pyrex bindings exist as your private experiment.  they are not part of cscvs at this point10:50
ddaaSteveA: well, assuming they get merged, of course10:51
SteveAone of the points of this review process is to decide whether we switch to them10:51
lifelessit doesn't make a lot of sense to me for the bindings to be part of cscvs10:51
ddaamakes sense to me, as they are very focused on what cscvs needs10:51
ddaato keep them as simple as possible10:51
ddaano more exposed functionality than necessary10:51
ddaaso, no more bugs than necessary10:51
SteveAit's an API binding10:52
SteveAadding new API to it won't create bugs in the rest, I think10:52
ddaaI see them more as a glue. Generic libsvn bindings is... complicated, it's not a nice-and-simple API10:53
SteveAif there's a point in releasing it, it's so that people get interested in it, perhaps to extend it, and reduce our maintenance burden10:53
spivIt's a clearly independent module in terms of functionality.  If nothing else, keeping them seperate will make it easier for the community to contribute to them.10:53
SteveAtrying to enforce a false limit on its scope will not help people get interested in it10:53
spivA small, fairly simple set of pyrex files is much less scary to a potential contributor than those files + all of cscvs, which is pretty hairy in parts.10:54
ddaaI do not think there is intrinsic value in getting people interested in them. If there was actual interest in the python community for effective libsvn bindings, we would not have to roll our own.10:54
spivAnd similarly, a contributor to cscvs might be scared by the false impression they have to learn pyrex or compile stuff to hack on cscvs.10:54
ddaaspiv: right, it would be good to clean up the cscvs packaging to have clear modules and extension points. The overall design is okay, but the execution is not quite there in terms of practical modularity.10:56
spivI think we should try fairly hard to be a good open source citizen, providing reasonably neatly packaged source, rather than just a messy, tangled dump.  We will damage the goodwill we generate by releasing source if we do it in a community-hostile way.10:56
SteveAok10:57
ddaasome truth in that. That's why I want to keep this release low-key.10:57
ddaaIt's just there for people who have expressed a desire to help already.10:57
SteveAwho will review ddaa's pyrex stuff?  someone who knows about how svn bindings need to work.10:57
jameshspiv:a separately packaged binding only really makes sense if things other than cscvs will use it10:58
jameshif the aim of the binding is just "as much of libsvn as cscvs needs", then it doesn't really have a separate target audience10:59
ddaajamesh: ++10:59
ddaaAlso, the code might be independent in terms of  functionality, but there's value in keeping it couple in terms of design for KISS compliance.10:59
jameshplus, if the binding is "as much of libsvn as cscvs needs", then you may need to update the two in lockstep anyway11:00
lifelessI have to run another meeting now11:00
lifelessI suggest that spiv or jamesh review the code forits pyrexstyle.11:00
jameshwhich makes separate packages less useful11:00
lifelessI have done some  pyrex too, so in a pinch I can review it.11:00
lifelessfor the svn style, me/spiv/jamesh can review it I suspect.11:01
spivI know some pyrex, and some high-level svn, but not svn API.11:01
lifelessuse of svn API should not be reviewed in this regard I think11:01
lifelessthats ddaa's problem :)11:01
ddaayeah, anyway current code is mostly bug-for-bug compatible11:02
ddaaI just want guidance on coding standard, code organisation, etc.11:02
=== Starting logfile irclogs/launchpad-meeting.log
=== ubuntulog [i=ubuntulo@ubuntu/bot/ubuntulog] has joined #launchpad-meeting
=== lifeless [n=robertc@ppp245-86.static.internode.on.net] has joined #launchpad-meeting

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!