Hi Sophie,

No worries! And thanks for taking a look.
I’ve updated the KIP.

Will wait some time for any additional feedback that might arise.

Best,
Levani

> On 17. Mar 2021, at 19:11, Sophie Blee-Goldman <sop...@confluent.io.INVALID> 
> wrote:
> 
> Ah, sorry for hijacking the VOTE thread :(
> 
> Limiting the tag length and total amount of tags specified are already part
>> of the implementation I work on. Assuming that
> 
> encoding a limited number of strings is acceptable, I think it's the most
>> straightforward way to move forward. Any objections?
> 
> 
> This sounds good to me -- I imagine most users probably only need a handful
> of tags anyway. If someone is bumping up
> against the limit and has a valid use case, we can always increase it.
> 
> One last minor thing -- if we're going to encode the full tag names, then I
> think we can leave out the "version" field from the
> ClientTag struct. If we ever want to modify this struct, we should do so by
> bumping the overall SubscriptionInfo protocol version.
> This way we have one fewer version in the mix, and we get all the benefits
> of version probing already baked in -- which
> means we can modify the protocol however we like without worrying about
> compatibility. For example this gives us the flexibility
> to go back to some kind of encoding if need be (although I don't expect to
> need to).
> 
> If everyone else is on board with the current KIP, I'm +1 (binding) --
> thanks for the proposal Levani!
> 
> Cheers,
> Sophie
> 
> 
> On Wed, Mar 17, 2021 at 7:54 AM Levani Kokhreidze <levani.co...@gmail.com>
> wrote:
> 
>> Hi Sophie and Bruno,
>> 
>> Thanks for the questions and suggestions.
>> Not sure if it's best to discuss this in the DISCUSSION thread, but I will
>> write it here first, and if it needs more discussion, we can move to the
>> DISCUSSION thread.
>> Actually, in the implementation, I have a version field in the ClientTag
>> struct. I assumed that all structs must-have versions, and it's an explicit
>> requirement; therefore, I left it out of KIP (fixed).
>> I'm okay with changing the name to "rack.aware.assignment.tags" (fixed).
>> As for upgrade and evolving tags, good question, we must try to make it as
>> flexible as possible. Good catch that with encoding changing the tags may
>> be problematic, especially changing the tags' order. One other way around
>> it maybe is to change the "rack.aware.assignment.tags" config in a way that
>> users can specify the tag index. For instance:
>> rack.aware.assignment.tags.0: cluster, rack.aware.assignment.1: zone; But
>> configuration is way uglier and more complicated (and easier to get wrong).
>> Limiting the tag length and total amount of tags specified are already part
>> of the implementation I work on. Assuming that encoding a limited number of
>> strings is acceptable, I think it's the most straightforward way to move
>> forward. Any objections?
>> I've updated KIP [1] with the latest discussion points and reverted the
>> "encoding tag keys" part (sorry Guozhang, I haven't really thought about
>> this potential edge-case, and thanks, Sophie, for catching it).
>> 
>> I am looking forward to your feedback.
>> 
>> Best,
>> Levani
>> 
>> [1] -
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-708%3A+Rack+awareness+for+Kafka+Streams
>> 
>>> On 16. Mar 2021, at 23:30, Bruno Cadonna <br...@confluent.io.INVALID>
>> wrote:
>>> 
>>> Sophie
>> 
>> 

Reply via email to