Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 76785 invoked from network); 3 Feb 2010 18:59:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 3 Feb 2010 18:59:49 -0000 Received: (qmail 12804 invoked by uid 500); 3 Feb 2010 18:59:49 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 12782 invoked by uid 500); 3 Feb 2010 18:59:49 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 12723 invoked by uid 99); 3 Feb 2010 18:59:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 18:59:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 18:59:48 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id EE35429A001E for ; Wed, 3 Feb 2010 10:59:27 -0800 (PST) Message-ID: <144621045.8651265223567974.JavaMail.jira@brutus.apache.org> Date: Wed, 3 Feb 2010 18:59:27 +0000 (UTC) From: "Stu Hood (JIRA)" To: cassandra-commits@incubator.apache.org Subject: [jira] Commented: (CASSANDRA-754) Pluggable API with a simple HTTP+JSON daemon In-Reply-To: <664874010.34741265146338744.JavaMail.jira@brutus.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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.