Bumping up on this thread.

In a forked Kafka repo, if we want to introduce a new tagged field. Which
approach should be taken?
Is it fine to relax the constraint in StructSpec
<https://github.com/apache/kafka/blob/trunk/generator/src/main/java/org/apache/kafka/message/StructSpec.java#L76>
to
start with a very large tag-id like 10000 for custom
tagged fields to not clash with future tagged fields being introduced
upstream? TIA.

Thanks,
Kamal

On Thu, Jan 23, 2025 at 11:47 PM Kamal Chandraprakash <
kamal.chandraprak...@gmail.com> wrote:

> Hi all,
>
> In KIP-482
> <https://cwiki.apache.org/confluence/display/KAFKA/KIP-482%3A+The+Kafka+Protocol+should+Support+Optional+Tagged+Fields#KIP482:TheKafkaProtocolshouldSupportOptionalTaggedFields-FlexibleVersions>,
> we have introduced support for optional tagged fields when the
> API-message supports "flexibleVersions" feature. One of the motivations of
> the KIP is to support attaching extra information to a message without
> requiring a version bump for everyone who has to read that message.
>
> In StructSpec
> <https://github.com/apache/kafka/blob/trunk/generator/src/main/java/org/apache/kafka/message/StructSpec.java#L76>,
> there is a constraint to start the tagId of the tagged field from 0 and
> should be contiguous. Once the user introduces a custom taggedField that
> starts from 0, there is a risk of protocol divergence between the server
> and client when the upstream/Apache introduces a new taggedField in future
> that starts from 0.
>
> Once a tag-id gets introduced, it cannot be used for anything else. We
> want to propagate a custom trace-id in the API-message between
> server/client and want to use a large tagId like 10001 (2 bytes varint) to
> avoid conflict with the future API message specification.
>
> We would like to understand the reason behind the tagId constraint to
> start from 0 and contiguous. One use-case of having this constraint ensures
> that the tag-id starts from 0 and won't be random. If it is random, then
> the user won't be sure in defining the unique tagged-ids for their
> user-defined fields.
>
> I’d appreciate it if you could take a look and share your thoughts or
> feedback.
>
> Thanks,
> Kamal
>
>
>
>

Reply via email to