On Jan 17, 2011, at 9:01 PM, Eric Evans wrote:

> On Mon, 2011-01-17 at 12:12 -0500, Jake Luciani wrote:
>> Some context: We have begun the process of removing Avro from the
>> service layer CASSANDRA-926. We currently use Avro for schema
>> migrations internally, and we have two open items that are using Avro
>> for our internal file storage. CASSANDRA-1472 and CASSANDRA-674.
> 
> FWIW, this should be done (removing the RPC interface).  Anything missed
> is deserving of a bug report
> 
>> My opinion is we need to control the lowest layers of the code and not
>> rely on a third party library.  By using a third party library like
>> Avro, it becomes a black box that we need to deeply understand and
>> work around. Also, since Avro is developed separately we have another
>> core dependency that could disrupt releases (say a bug in Avro).
> 
> +1
> 
> The Avro RPC interface was an experiment, and it was always the case
> that if it didn't supplant the Thrift interface as status quo, that it'd
> be removed.  However, as I remember it, part of the justification for
> using it in migrations was that it was already there.  In hindsight that
> was probably a mistake.
> 
> Anyway, we have too many dependencies as it is, I'd rather move toward
> eliminating it entirely unless there is a very compelling reason not to
> (I don't think there is).

Just saw Stu's comment on CASSANDRA-1472:
"I think that implementing a compressible block based file format is a 
non-trivial task, and that before we commit to re-implementing Avro's (in a 
bounded timeframe especially), we should review our requirements. This decision 
needs to be made for technical reasons and not grounded in NIH."

Is that a compelling reason to use avro for some of the internals or is that 
something that someone is willing to implement/maintain?  Just trying to bridge 
discussion here with comments on the ticket.

> 
> -- 
> Eric Evans
> eev...@rackspace.com
> 

Reply via email to