dajac opened a new pull request, #13476:
URL: https://github.com/apache/kafka/pull/13476

   This PR adds the GroupMetadataManager to the group-coordinator module. This 
manager is responsible for handling the groups management, the members 
management and the entire reconciliation process. At this point, only the new 
consumer group type/protocol is implemented.
   
   As you will see, the new manager is based on an architecture inspired from 
the quorum controller. A request can access/read the state but can't mutate it 
directly. Instead, a list of records is generated together with the response 
and those records will be applied to the state by the runtime framework. We use 
timeline data structures. Note that the runtime framework is not part of this 
PR. It will come in a following one.
   
   For the reviewers, I suggest starting from the 
GroupMetadataManager.consumerGroupHeartbeat method. From there, you will how 
the consumer group heartbeat is handled and how all the classes fit together. 
Then, it is possible to review the classes independently, I suppose.
   
   Note that I have diverged from the KIP in a few places. Firstly, I have 
adapted to assignor interface to be more convenient with the internals. This is 
something that we could still change. Secondly, I have adapted a few records. 
Especially, I have changed how the current state of the member is persisted. 
The way that we had in the KIP was a but naive and not practical at all for the 
implementation.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to