Hi!

On Apr 11, 2011, at 12:01 PM, Trond Norbye wrote:

> Intentionally, there is no significant difference in protocol over
> 1.4.x.  There is one minor change, but it should be transparent to
> most users.

What is the change?

When doing a diff I could one change in an ENUM, and also the addition of 
"touch" which has no description.

> Defining this now will allow us to start moving down the path to
> vbuckets in the default_engine and allow other engine implementors to
> consider vbuckets in their design.

Looking through the notes I don't see any discussion of what the format for 
configuration is. When looking through what Dustin has it seems to be a 
reference to some JSON which isn't documented. Also, is everyone expected now 
to install CouchDB in order to use Memcached? That seems like a hefty 
requirement.

> change in the server.  It is solely up to the backing store to
> implement this, so it can make decisions about what resources are used
> to implement TAP.  This functionality is commonly needed enough though
> that the core is aware of it, leaving specific implementation to
> engines.

Can this stream be documented? How about picking a name other then TAP so that 
there is no confusion between this and "System Tap" which the Linux kernel 
folks have.

> There are a few new commands available.  The following sections
> provides a brief description of them.  Please check protocol_binary.h
> for the implementation details.

There is just an ENUM in the file, that isn't enough for anyone who is perusing 
the document. The original document Brad did is a good example of what should 
be done.

> The touch command lets you set the expiry time for an object without
> retrieving the object.  In most cases, you will not want to do this
> unless you provide a CAS value to ensure that you're touching the
> correct version of the object.

What happens if the object is not available? Is it possible that the server 
will send an error back? What errors?

> 1.3.3 SET_VBUCKET, GET_VBUCKET, DEL_VBUCKET
> --------------------------------------------
> 
> These commands are used to set, get or delete a vbucket on the server.

How should these commands be structured? What possible errors exist? Is there a 
reference implementation?


> 2.1 Engines
> ============
> environment.  People have different requirements for their server. Some
> people need ACID, others may prefer ecstacy ;-) The storage interface

How can you perform XA with this? If not, does this mean that each operation in 
transactional? How is a conflict reported?  If this is an ACID interface, what 
is the isolation for events?

> 3.3 aggregate
> ==============
> 
> The combination of the storage engine interface and the SASL auth
> allows for the combination of a connection-based stats.  The aggregate
> subcommand is used to aggregate the stats from all of the connections
> on the server.  The stats returned from the aggregate subcommand is the
> same as the normal stats command.

Are all of the stats being updated so that users can see it? How is this being 
performed in a backwards compatible way?

Its great to see work being done, but we need a lot more information to support 
this. 

Alan has commented, and from a quick run through it looks like top keys cuts 
performance in half. Is this going to be solved before a GA release?

Cheers,
        -Brian



Reply via email to