[Buildbot-devel] GSoC 2012 proposal for Implementation of a new Master-Slave Protocol.

Tom Prince tom.prince at ualberta.net
Wed Apr 4 05:26:19 UTC 2012


This is a very nice, well researched proposal.

On Tue, 3 Apr 2012 19:30:51 +0530, Saurabh Kumar <saurabhgeek92 at gmail.com> wrote:
> - The data to be transferred should be serialized through JSON. I also
> considered Protobuf and Apache Thrift, but I believe that there is no
> need for a binary protocol, which would add complexity.

The data should be json *serializable*, but not necessarily be
serialized that way. but amp for example, has a native serialization of
all the types that json can serialize, and that should be used when
using amp.

> - The protocol itself should be scalable to multiple masters, to a
> large number of slaves, etc. and should gracefully handle the removal
> of masters or slaves due to disconnection or other problems. It is to
> be seen how  e.g 0mq's brokerless design(or any other fitting design)
> can be ported to or will be compatible with the higher level
> abstraction.

I'd be interested in seeing what shape you see the mutlt-master scaling
taking. As well as the graceful handling of disconnections.

> -Backward compatibility would somehow have to be maintained, so that
> current masters work with old slaves, or current slaves with old
> masters. At the very least, the user should be able to choose between
> the present protocol and the new one.

Ideally, the current protocol will work simply as one instance of the
new plugable protocol abstraction.

> 3) The rest of the period would be dedicated to writing backends,
> starting with amp or 0mq and proceeding further as time allows, while
> making required changes to the abstraction layer.

I know it is hard to estimate in advance, particularly when a the design
isn't fixed yet. But I'd be interested to know if you have any thoughts
on what kind of time-frame this would take.

- Tom




More information about the devel mailing list