Hey Vipul, There's no "rebalance.protocol" config, as the protocol is determined by the supported partition assignors. The assignors can be configured with the config "partition.assignment.strategy". I suspect the "rebalance.protocol" comment was a leftover from an older version of the proposal. I'll update that section for the KIP
The downgrade path is essentially the same as the upgrade path, but in reverse. Let's say you're initially using the RangeAssignor on 2.3.0, which is the current default. To upgrade to using cooperative rebalancing, you follow the double rolling bounce path until you have only the CooperativeStickyAssignor configured with all members on 2.6.2. To downgrade, you do one rolling bounce to add the RangeAssignor to the list of supported assignors, without removing the CooperativeStickyAssignor and without downgrading to the 2.3.0 byte code. Once all members have both assignors, you can start the second rolling bounce in which you remove the CooperativeStickyAssignor and downgrade the member to 2.3 again. It's just the inverted upgrade path. Hope that helps, Sophie On Tue, May 11, 2021 at 7:36 AM Vipul Goyal <vipulgoyal...@gmail.com> wrote: > Hi Team, > > I need some guidance related to Kafka Consumer Incremental Rebalance > Protocol. > > I was following the below KIP and understood the upgrade path, But a bit > confused with the downgrade procedure. > > *KIP:* > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-429%3A+Kafka+Consumer+Incremental+Rebalance+Protocol > > I am currently using Kafka consumer 2.3.0 and trying to update it to 2.6.2. > Let's say, I switched to CooperativeStickyAssignor, and due to some reason, > I may need to roll back my build from production to 2.3.0. Also please > note, we are using ECS Blue-Green deployment. > > As per KIP, and also tested this locally, If we try to rollback to 2.3.0, > new consumers will not be able to join the group and will be kicked out > with the following error: > ----------- > org.apache.kafka.common.errors.InconsistentGroupProtocolException: The > group member's supported protocols are incompatible with those of existing > members or the first group member tried to join with empty protocol type or > empty protocol list. > ------------- > > I saw the below line in KIP, but could not find `rebalance.protocol` config > in ConsumerConfig. > > `*The right way to downgrade is first rolling bounce the instances while > setting "rebalance.protocol" to "compatible", and then a second rolling > bounce to set the rebalance protocol to "eager" if necessary.`* > > Can somebody please point me in the right direction regarding how to > downgrade is needed? > > Regards, > Vipul >