numinnex opened a new issue, #4417:
URL: https://github.com/apache/iggy/issues/4417

   Part of #3560. Split out of #3543, which shipped `LeaveGroup` (13) in #4270.
   
   ## Summary
   
   Implement KIP-345 static membership for Kafka consumer groups in the gateway.
   
   Today `group.instance.id` (JoinGroup v5+) is stored, echoed back to the 
leader and seeds the generated member id, but nothing else is honoured (see 
"Static membership is accepted, not honoured" in 
`gateways/kafka/docs/CONSUMER_GROUPS.md`). A returning static member gets a new 
member id and its join triggers a rebalance, while its previous incarnation 
keeps its partitions until its session expires and triggers a second rebalance. 
Kafka replaces the old identity with no rebalance at all.
   
   ## Scope
   
   - [ ] A JoinGroup with a known `group_instance_id` replaces the previous 
holder's member id without a rebalance (Kafka's 
`updateStaticMemberAndRebalance` path, including the leader case)
   - [ ] One instance id maps to at most one member at a time
   - [ ] `FENCED_INSTANCE_ID` (82) from `JoinGroup`, `SyncGroup` and 
`Heartbeat` when the member id does not hold the instance id it names, not only 
from `LeaveGroup`
   - [ ] Session expiry of a static member still evicts it and rebalances
   - [ ] `LeaveGroup` by instance id keeps Kafka's semantics once there is a 
single holder
   - [ ] Update `CONSUMER_GROUPS.md` and the parity table
   
   ## Acceptance criteria
   
   - [ ] Test: a static member restarts within `session.timeout.ms` and gets 
its partitions back with no generation bump
   - [ ] Test: a stale incarnation of a replaced static member is fenced with 
82 on Heartbeat and SyncGroup
   - [ ] E2E with the Java client using `group.instance.id` (can ride on #3544)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to