Hi, I can't understand how the protocol upgrades (to newer version) should work. When I send GroupJoinRequest with a list of assignment protocols (same protocol name, different versions) always the first protocol/version gets picked up as a member version. Even if all consumers in the group are configured with two versions still always the first specified version will be selected by coordinator and not the one with highest version number.
So for example: consumer1: [ {name:strategyX, version: 0}, {name: strategyX, version: 1} ] consumer2: [ {name:strategyX, version: 0}, {name: strategyX, version: 1} ] Both will be assigned a version 0 in a response to leader. If I make it this way: consumer1: [ {name:strategyX, version: 1}, {name: strategyX, version: 0} ] consumer2: [ {name:strategyX, version: 1}, {name: strategyX, version: 0} ] Both will be assigned version 1. In this case: consumer1: [ {name:strategyX, version: 10}, {name: strategyX, version: 1} ] consumer2: [ {name:strategyX, version: 20}, {name: strategyX, version: 1} ] Kafka will endlessly try to rebalance the group without success because consumer1 will have version:10 and consumer2 - version:20 in a GroupJoinResponse. Can anyone please explain the process of the protocol version upgrade?