+1 -- Jeff
On Tue, Jan 19, 2010 at 6:13 AM, Jonathan Ellis <jbel...@gmail.com> wrote: > I'm a huge non-fan of the "let's specify everything in as minute > detail as possible before writing anything" style that resulted in > CASSANDRA-547 taking about ten times as long as necessary. Code > something up, if the approach has merit, it can be refined. > > -Jonathan > > 2010/1/19 Ted Zlatanov <t...@lifelogs.com>: >> On Mon, 18 Jan 2010 10:48:41 -0800 Tatu Saloranta <tsalora...@gmail.com> >> wrote: >> >> TS> 2010/1/15 Ted Zlatanov <t...@lifelogs.com>: >>>> I could provide a way to plug in your own API to Cassandra so anyone >>>> could write a full API using PB, HTTP, or whatever protocol they like. >>>> Underneath it could invoke the Thrift interface methods locally and >>>> relay their results out. This would be really nice but again I doubt it >>>> would be included in the core. >> >> TS> I would find it useful to have such an alternative interface. I have >> TS> nothing against Thrift, but there are cases where simpler interface >> TS> would be useful. And in those cases it would be fine to have this as >> TS> sort of adapter. >> >> TS> For what it's worth, I think it would be nice to keep the two >> TS> (transport over http, contents as json) separate, if possible. I like >> TS> JSON, but there are use cases where other formats are better. >> TS> For numeric data, for example, binary formats are more compact. >> >> I've got three (me, Tatu, Philip) in favor of such an interface. >> Jonathan, Eric, anyone else, WDYT? >> >> My proposal is as follows: >> >> - provide an IPluggableAPI interface; classes that implement it are >> essentially standalone Cassandra servers. Maybe this can just >> parallel Thread and implement Runnable. >> >> - enable the users to specify which IPluggableAPI they want and provide >> instantiation options (port, connection limit, etc.) >> >> - write a simple HTTPPluggableAPI, which provides a web server and >> accepts POST requests. The exact path and option spec can be worked >> out later. The input and output formats can be specified with a query >> parameter; at least JSON and XML should be supported. >> >> Ted >> >> >