Review Board 1.6.3

FLUME 136: Port Configuration Server to Avro

Review Request #319 - submitted 3 years, 8 months ago

Patrick Wendell Reviewers
flume
FLUME-136 jon, phunt, Henry
None flume
These are some preliminary files for the flume conversion to Avro. This review consists of three types of files

1) Avro source files and build targets
2) FlumeConfigData, a class capable of translating itself to/from Avro and Flume data types.
3) Avro versions of existing client/server implementations.

Having the translation logic within the intermediary class (FlumeConfigData) may not be the best way to do it. However, there isn't really an obvious place to put this logic. We could put it *just* in the client or server implementations, but then it's awkward to import translating logic from a server to a client or vice-versa. I'm open to suggestions though!

This upgrade is in two github commits on my github:
Avro port: eb751f9038d8098c9971d868da07949b33c49f35
See TestAvroMultiMasterRPC.java for an end-to-end test of client-server communication with Avro.
Review request changed
Updated 3 years, 8 months ago (August 18th, 2010, 12:19 p.m.)
I addressed everything in Jon's review comments. Also one small bugfix. Pull this from my github: 
http://github.com/pwendell/flume/tree/master_admin_rpc
473b428dd1d8e48f2f68

Blockers: 
(DONE) Licenses on certain files.
(DONE) DECOMMISSIONED state in avro rpc.

Debatable:
(DONE) I'm still not a fan of having init(xxx) instead of having the parameters plugged into the constructor.  

Not blockers:
(DONE where applicable) Prefer @override on interface implementations
(null is actually correct - see prior comments) return Void.TYPE instead of return null for things that return Void type.

Posted 3 years, 8 months ago (August 18th, 2010, 12:23 p.m.)
Responding to Jon's review comments.
Ship it!
Posted 3 years, 8 months ago (August 18th, 2010, 4:33 p.m.)
lgtm.  

One nit (no need for review) - is SingleMasterRPC still in the patch or is it removed (and just showing up in review board review?)  If not used, please remove!
  1. Just an artifact of reviewboard. Should be gone if pulled in from github commit listed here. (reminder: 473b428dd1d8e48f2f68)
  2. can you change the status of this to submitted? Thanks!