Re: Protocol version upgrades in 0.9

2015-12-28 Thread Ewen Cheslack-Postava
Although, also note that this is only necessary if you want to exactly mirror the Java client implementation. The consumer protocol can be implemented however you like in your library (although obviously the Java implementation is a good reference). The only reason you'd need to match it exactly

Re: Protocol version upgrades in 0.9

2015-12-24 Thread Ewen Cheslack-Postava
Oleksiy, The join group protocol is general enough to handle multiple types of group membership, not just consumers. This is used in Kafka Connect to form a group of workers (which, instead of splitting topic partitions between members splits connector tasks). In order to make this work and

Re: Protocol version upgrades in 0.9

2015-12-24 Thread Oleksiy Krivoshey
Hi Ewen, Thanks for detailed explanation. So its basically the version of MemberAssignment structure, not the version of the assignment strategy as I thought. Should I use version=0 in protocol exchanges for now? (I'm building a client in Node.js for 0.9:

Re: Protocol version upgrades in 0.9

2015-12-23 Thread Ewen Cheslack-Postava
Oleksiy, Where are you specifying the version? Unless I'm missing something, the JoinGroup protocol doesn't include versions so I'm not sure I understand the examples you are giving. Are the version numbers included in the per-protocol metadata? You can see exactly how the consumer coordinator

Re: Protocol version upgrades in 0.9

2015-12-23 Thread Oleksiy Krivoshey
Hi Ewen, I specify version in ProtocolMetadata structure, as per this document: https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol#AGuideToTheKafkaProtocol-JoinGroupResponse --- ProtocolType => "consumer" ProtocolName => AssignmentStrategy