Versions Compared

Key

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

...

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

...

  • Member.id must be set if the `member.name` is already within the map, and it has to match the given value. Otherwise reply MISSINGMEMBER_MEMBERID_ID MISMATCH
  • Member.id must be left empty if the `member.name` is new. Otherwise reply DUPLICATE_STATIC_MEMBER

For MEMBER_ID_MISMATCH, we haven't been able to define the possible edge case which could cause this issue. So for the first version, we shall just fail the consumer immediately when it hits this exception.

For DUPLICATE_STATIC_MEMBER, so that when member name has duplicates, we could refuse join request from members with an outdated member.id (since we update the mapping upon each join group request). In an edge case where the client hits DUPLICATE_STATIC_MEMBER hits this exception in the response, it is suggesting that some other consumer takes its spot. The client should immediately fail itself to inform end user that there is a configuration bug which is generating duplicate consumers with same identity. For first version of this KIP, we just want to have straightforward handling to expose the error in early stage and reproduce bug cases easily.

...