Description
We can validate error codes from JoinGroupResponses and HeartbeatResponses. Currently this includes:
- JoinGroupRequest to the wrong coordinator returns NOT_COORDINATOR_FOR_CONSUMER
- JoinGroupRequest with an unknown partition assignment strategy returns UNKNOWN_PARTITION_ASSIGNMENT_STRATEGY
- JoinGroupRequest with an out-of-range session timeout returns INVALID_SESSION_TIMEOUT
- JoinGroupRequest on a brand new group with an unrecognized consumer id produces UNKNOWN_CONSUMER_ID
- JoinGroupRequest with mismatched partition assignment strategy compared to the rest of the group returns INCONSISTENT_PARTITION_ASSIGNMENT_STRATEGY
- JoinGroupRequest on an existing group with an unrecognized consumer id produces UNKNOWN_CONSUMER_ID
- A correct JoinGroupRequest returns NONE
- HeartbeatRequest to the wrong coordinator returns NOT_COORDINATOR_FOR_CONSUMER
- HeartbeatRequest with an unknown group returns UNKNOWN_CONSUMER_ID
- HeartbeatRequest with an unrecognized consumer id returns UNKNOWN_CONSUMER_ID
- HeartbeatRequest with generation id mismatch returns ILLEGAL_GENERATION
- A correct HeartbeatRequest returns NONE
We can validate the generation id increments on rebalance based on the JoinGroupResponse.