Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
JoinGroupRequest => GroupId SessionTimeout RebalanceTimeout MemberId GroupInstanceId ProtocolType GroupProtocols
  GroupId             => String
  SessionTimeout      => int32
  RebalanceTimeout	  => int32
  MemberId            => String
  GroupInstanceId     => String // new
  ProtocolType        => String
  GroupProtocols      => [Protocol MemberMetadata]
  Protocol            => String
  MemberMetadata      => bytes


LeaveGroupRequest => GroupId MemberId GroupInstanceIdList
  GroupId             => String

  MemberId            => String

  GroupInstanceIdList => list[String] // new

In the meantime, we bump the join/leave group request/response version to v4/v3.

Code Block
languagejava
titleJoinGroupRequest.java
public static Schema[] schemaVersions() {
    return new Schema[] {JOIN_GROUP_REQUEST_V0, JOIN_GROUP_REQUEST_V1, JOIN_GROUP_REQUEST_V2, JOIN_GROUP_REQUEST_V3, JOIN_GROUP_REQUEST_V4};
}


Code Block
languagejava
titleJoinGroupResponseLeaveGroupRequest.java
public static Schema[] schemaVersions() {
    return new Schema[] {JOINLEAVE_GROUP_RESPONSEREQUEST_V0, JOINLEAVE_GROUP_RESPONSEREQUEST_V1, JOINLEAVE_GROUP_RESPONSEREQUEST_V2, JOINLEAVE_GROUP_RESPONSEREQUEST_V3, JOIN_GROUP_RESPONSE_V4};
}


Code Block
titleJoinGroupResponse.java
public static Schema[] schemaVersions() {
    return new Schema[] {JOIN_GROUP_RESPONSE_V0, JOIN_GROUP_RESPONSE_V1, JOIN_GROUP_RESPONSE_V2, JOIN_GROUP_RESPONSE_V3, JOIN_GROUP_RESPONSE_V4};
}


Code Block
titleLeaveGroupResponse.java
public static Schema[] schemaVersions() {
    return new Schema[] {LEAVE_GROUP_RESPONSE_V0, LEAVE_GROUP_RESPONSE_V1, LEAVE_GROUP_RESPONSE_V2, LEAVE_GROUP_RESPONSE_V3};
}

We are also introducing a new type of return error in JoinGroupResponse V4. Will explain the handling We are also introducing a new type of return error in JoinGroupResponse V4. Will explain their functionalities in the next section.

Code Block
languagejava
titleErrors.java
MEMBER_ID_MISMATCH(78, "The join group contains group instance id which is already in the consumer group, however the member id was not matching the record on coordinator", MemeberIdMisMatchException::new),

...