Return-Path: Delivered-To: apmail-hadoop-general-archive@minotaur.apache.org Received: (qmail 55389 invoked from network); 29 Sep 2009 21:09:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Sep 2009 21:09:11 -0000 Received: (qmail 72302 invoked by uid 500); 29 Sep 2009 21:09:10 -0000 Delivered-To: apmail-hadoop-general-archive@hadoop.apache.org Received: (qmail 72239 invoked by uid 500); 29 Sep 2009 21:09:10 -0000 Mailing-List: contact general-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@hadoop.apache.org Delivered-To: mailing list general@hadoop.apache.org Received: (qmail 72229 invoked by uid 99); 29 Sep 2009 21:09:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Sep 2009 21:09:10 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.9] (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 29 Sep 2009 21:09:07 +0000 Received: (qmail 55301 invoked by uid 99); 29 Sep 2009 21:08:45 -0000 Received: from localhost.apache.org (HELO [192.168.168.108]) (127.0.0.1) (smtp-auth username cutting, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Sep 2009 21:08:45 +0000 Message-ID: <4AC2775C.2000302@apache.org> Date: Tue, 29 Sep 2009 14:08:44 -0700 From: Doug Cutting User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: general@hadoop.apache.org Subject: Re: HTTP transport? References: <4AAAC403.80809@apache.org> <1CB467B9-B60C-4ED0-BA82-7BB571E724C6@apache.org> <4AC13BC7.6020902@apache.org> <4AC2635C.20902@apache.org> <7c962aed0909291338o7f09601ci102186e23fd4d464@mail.gmail.com> In-Reply-To: <7c962aed0909291338o7f09601ci102186e23fd4d464@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org stack wrote: > What do you think the path on the first line look like? Will it be a method > name or will it be customizable? Avro RPC currently includes the message name in the payload, so, unless that changes, for Avro RPC, we'd probably use a different URL per protocol. As a convention we might use the namespace-qualified protocol name as the URL path. Alternately, we could try to make Avro's RPC more HTTP-friendly, and pull stuff out of Avro's payload into HTTP headers. The downside of that would be that, if we still wish to support non-HTTP transports, we'd end up with duplicated logic. If we fully embraced HTTP as Avro's primary RPC transport then it might make sense to move the message name to the URL and to use the HTTP return code to determine whether the response is an error or not. Avro's RPC payload also currently includes request and response metadata, which are functionally redundant with HTTP headers. > (In hbase, it might be nice to have path be /tablename/row/family/qualifier etc). It sounds like you'd perhaps like to be able to put RPC request parameters into the URL? I don't see that being done automatically in a general way for arbitrary parameter types without the URLs getting really ugly and adding a lot of complexity. For this it might be better to write a servlet filter that constructs the appropriate Avro-format request and forwards it to the RPC url. Doug