Versions Compared

Key

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

...

A corner case is that although we don't allow static member to send LeaveGroupRequest, it is possible that broker receives a leaveGroupRequest whose `member`member.id` id` field points to a static member. This could be due to a sequence of operations like below:

  1. A static member successfully joins the group.
  2. Client did a restart and remove `group`group.instance.id` id` from the member consumer. (switching back to dynamic member)
  3. Client won't send the LeaveGroupRequest, and the restart time was faster than session timeout.
  4. The dynamic member rejoins the group without `group`group.instance.id`id`. It will be accepted since it is a known member.
  5. Client did another restart. As a dynamic member, it sends LeaveGroupRequest to the broker.
  6. Broker detects a LeaveGroupRequest with `member`member.id` id` attributing to a static member.

...