← Back to team overview

launchpad-dev team mailing list archive

Re: APIs and len() of collections

 

On Mon, Jul 26, 2010 at 12:05 PM, Jonathan Lange <jml@xxxxxxxxxxxxx> wrote:

>> What do you think?
>
> I prefer the last one. The first two would work, but seem a little
> like they would make webservice users jump through hoops. A major goal
> of the webservice is for it to be convenient and easy to use.

I think we can easily slip into a definitional mire here. I too want a
convenient and easy to use API.

Getting entirely precise figures will either be:
 - slow
 - take a lot of engineering time to make happen

Getting broadly plausible figures can be made fast with a little hair
for private pillars (e.g. bugs for a private distro will require some
care to handle the different cases).

We're missing some infrastructure to do extremely fast accurate
counting :  we can't just query a top level index, we have to apply a
visibility test to the entire set of objects, and that (shock, horror)
takes a bunch of work. Consider a 400000 bug public distro with 400
private bugs. Do we want to show 399600 to anonymous queries, or just
400000 to everyone? Even the 400000 to everyone case requires a scan
because the selectivity is low and because rows can be deleted.

I guess, to put this in strategist territory :P - you can have any two
of : fast, correct, cheap(dev); right now we have correct, cheap(dev),
but the message I'm hearing from our users and stakeholders is 'fast,
cheap(dev)' : you seem to be saying 'fast, correct' :- we're not
positioned to do that yet.

So, I'm trying to put together an idiom which will let us do fast,
cheap(dev), with the ability to iterate and get back arbitrary
precision later if we really need it. I'm not convinced we do - which
is why we're having this discussion :).

-Rob



Follow ups

References