You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Thomas Koch <th...@koch.ro> on 2010/11/25 04:48:50 UTC
possible road to avro?
Hi,
I've had a look into the avro code last week and believe that there is a way
for a smooth transition from jute to avro. (ZOOKEEPER-102)
Avro has so called "encodings" which are in charge of translating java types
to byte arrays. Avro includes a binary and a json encoding. It should be
trivial (IMHO) to write an additional "jute" encoding that would be wire
compatible to current jute.
Question is, whether this encoding should be developed inside ZooKeeper or as
an avro contribution.
I'd propose to start with the avro migration after Netty has replaced NIO as
the transport layer. Thus there would be less complexity in the affected code.
After there has been one ZK version with avro, one could start to also support
the original avro binary encoding.
Since there are ZK clusters which can not be taken down, there must be a
migration path for a running ZK cluster. This could be achieved by an encoding
which wraps the avro binary encoding as well as the jute encoding. This
wrapper could notice on a connect request which encoding is used by the client
and choose the appropriate encoding for this session.
Best regards,
Thomas Koch, http://www.koch.ro