lianetm commented on PR #15188:
URL: https://github.com/apache/kafka/pull/15188#issuecomment-1936141808

   @Phuc-Hong-Tran regarding this:
   
   > Just for clarification, when we were talking about "implement and test 
everything up to the point where the field is populated", does that mean we're 
not gonna implement and test the part where the client receive the assignment 
from broker at this stage?
   
   We do need to:
   - `implement and test everything up to the point where the field is 
populated ` (from the point the user calls subscribe with the 
SubscriptionPattern, to the point where the supplied regex is available in the 
HB builder, to be included in the HB request). 
   - include the field in the HB request. This is where we do need the RPC to 
be updated to support the new field.
   
   I could be missing something, but I would say we don't need any changes for 
the part where the client receives the assignment from the broker after 
subscribing to a regex. It should be exactly the same logic as when a client 
receives an assignment from the broker after subscribing to a list of topics. 
After sending the HB with the new regex, the client will receive the list of 
partitions assigned to it, and will reconcile them, just as it reconciles all 
assignments received (no matter the subscription type that led to receiving 
that assignment).
   
   Just for the record, the legacy coordinator does have a bit of logic 
([here](https://github.com/apache/kafka/blob/ec4a8aaadbc95cfcf0de2f5e1385373f095298ca/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerCoordinator.java#L367))
 for validating assignments received after subscribing to a regex, where it 
checks that the assignment received matches the regex. Our initial thought was 
not to include any assignment validation like that in the client, in an attempt 
to simplify it: the broker is the sole responsible for computing the regex and 
target assignment, the client takes and reconciles whatever the broker sends, 
and if the subscription changes from the client side, we have a common logic 
(not specific for regex), to make sure that the new subscription is sent to the 
broker (what the legacy achieved with the rejoin)


-- 
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