[ 
https://issues.apache.org/jira/browse/CASSANDRA-754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829194#action_12829194
 ] 

Stu Hood commented on CASSANDRA-754:
------------------------------------

As the third remote API to make it into Cassandra, this patch has the 
unfortunate burden of making the lifecycle for Avro, Thrift and HTTP 
consistent. I would suggest:
 1. Adding an 'o.a.c.api' package, containing avro, thrift, http.
 2. Moving generic logic out of the CassandraServer classes and into 
StorageProxy, so that it isn't necessary to call from HTTP->Thrift
 3. Applying IPluggableAPI to the CassandraServer classes for avro and thrift
 4. A single CassandraDaemon class in the service package should give 
life(cycle) to a configurable set of IPluggableAPIs

Also:
 * HTTPPluggableAPI.doQuery() is huge: break it up into the stages that you 
mention in the Javadoc
 * HTTPPluggableAPI should implement HTTPHandler directly
 * Inconsistent Http vs HTTP in class names

This is a good start, but there is a long road ahead. Thanks Ted!

> Pluggable API with a simple HTTP+JSON daemon
> --------------------------------------------
>
>                 Key: CASSANDRA-754
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-754
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Ted Zlatanov
>            Priority: Minor
>         Attachments: 001-CASSANDRA-754-http.patch
>
>
> Proposal of a simple pluggable API interface with a HTTP daemon implementation

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to