hadoop-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@apache.org>
Subject Re: HTTP transport?
Date Tue, 29 Sep 2009 21:08:44 GMT
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.


View raw message