Since LinkedIn has some kind of wrapper thingy that adds the headers,
where they could have added them to Apache Kafka - I'm very curious to
hear what drove that decision and the pros/cons of managing the
headers outside Kafka itself.

On Wed, Oct 5, 2016 at 2:16 PM, K Burstev <k.burs...@yandex.com> wrote:
> +1
>
> This is a much needed feature, one I also have been waiting for, and that
> Kafka has been too long without.
>
> Especially since compaction the custom wrapper solution does not work where
> you want a null payload but need the record to have headers.
>
> (It actually made me sign up to the mailing list so I could reply, as up
> until now I just browse the archives and forums)
>
>
> In general the KIP looks great. The solution address's all my core needs.
> Really hope this makes it to the next release after the current one.
>
>
> Questions:
>
> 1) Why not String,String headers?
>
> I assume reading the KIP it is for message size but surely compression would
> greatly reduce this overhead with Strings.
>
> Many systems in the eco-sphere that kafka sits in, like JMS and Flume use
> String,String headers as such it would be easier to integrate with these
> frameworks/systems, as they can simply map across the headers.
>
>
> 2) Key Allocation
>
> If you do keep with int keys why not make the key allocation the proposed
> why is it an example. The example makes sense after all, and seems very
> sensible and clean.
>
> 3) Header Ordering
>
> I would avoid this as per your proposed between the two options and keep
> them un-ordered.
> There are many clients not maintained by the core community and also
> internally in many companies, that would need to implement it. Whilst
> trivial it complicates matters, its easier to just expect an unordered set
> as will be converted to a map client side anyhow.
>
> Kostya
>
>
>
> On 04/10/2016 23:35, radai wrote:
>>
>> another potential benefit of headers is it would reduce the number of API
>> changes required to support future features (as they could be implemented
>> as plugins).
>> that would greatly accelerate the rate with which kafka can be extended.
>>
>> On Mon, Oct 3, 2016 at 12:46 PM, Michael Pearce <michael.pea...@ig.com>
>> wrote:
>>
>>> Opposite way around v4 instead of v3 ;)
>>> ________________________________________
>>> From: Michael Pearce
>>> Sent: Monday, October 3, 2016 8:45 PM
>>> To: dev@kafka.apache.org
>>> Subject: Re: [DISCUSS] KIP-82 - Add Record Headers
>>>
>>> Thanks guys for spotting this, i have updated KIP-82 to state v3 instead
>>> of v4.
>>>
>>> Mike.
>>> ________________________________________
>>> From: Becket Qin <becket....@gmail.com>
>>> Sent: Monday, October 3, 2016 6:18 PM
>>> To: dev@kafka.apache.org
>>> Subject: Re: [DISCUSS] KIP-82 - Add Record Headers
>>>
>>> Yes, KIP-74 has already been checked in. The new FetchRequest/Response
>>> version should be V4. :)
>>>
>>> On Mon, Oct 3, 2016 at 10:14 AM, Sean McCauliff <
>>> smccaul...@linkedin.com.invalid> wrote:
>>>
>>>> Change to public interfaces:
>>>>
>>>> "Add ProduceRequest/ProduceResponse V3 which uses the new message
>>>> format.
>>>> Add FetchRequest/FetchResponse V3 which uses the new message format."
>>>>
>>>> When I look at org.apache.kafka.common.requests.FetchResponse on
>>>> master I see that there is already a version 3.  Seems like this is
>>>> from a recent commit about implementing KIP-74.  Do we need to
>>>> coordinate these changes with KIP-74?
>>>>
>>>>
>>>> "The serialisation of the [int, bye[]] header set will on the wire
>>>> using a strict format"  bye[] -> byte[]
>>>>
>>>> Sean
>>>> --
>>>> Sean McCauliff
>>>> Staff Software Engineer
>>>> Kafka
>>>>
>>>> smccaul...@linkedin.com
>>>> linkedin.com/in/sean-mccauliff-b563192
>>>>
>>>>
>>>> On Fri, Sep 30, 2016 at 3:43 PM, radai <radai.rosenbl...@gmail.com>
>>>
>>> wrote:
>>>>>
>>>>> I think headers are a great idea.
>>>>>
>>>>> Right now, people who are trying to implement any sort of org-wide
>>>>> functionality like monitoring, tracing, profiling etc pretty much have
>>>
>>> to
>>>>>
>>>>> define their own wrapper layers, which probably leads to everyone
>>>>> implementing their own variants of the same underlying functionality.
>>>>>
>>>>> I think a common base for headers would allow implementing a lot of
>>>
>>> this
>>>>>
>>>>> functionality only one in a way that different header-based
>>>
>>> capabilities
>>>>>
>>>>> could be shared and composed and open the door the a wide range of
>>>>
>>>> possible
>>>>>
>>>>> Kafka middleware that's simply impossible to write against the current
>>>>
>>>> API.
>>>>>
>>>>> Here's a list of things that could be implemented as "plugins" on top
>>>
>>> of
>>>>
>>>> a
>>>>>
>>>>> header mechanism (full list here -
>>>>> https://cwiki.apache.org/confluence/display/KAFKA/A+
>>>>
>>>> Case+for+Kafka+Headers).
>>>>>
>>>>> A lot of these already exist within LinkedIn and could for example be
>>>>
>>>> open
>>>>>
>>>>> sourced if Kafka had headers. I'm fairly certain the same is true in
>>>>
>>>> other
>>>>>
>>>>> organizations using Kafka
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Sep 22, 2016 at 12:31 PM, Michael Pearce <
>>>
>>> michael.pea...@ig.com>
>>>>>
>>>>> wrote:
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>>
>>>>>> I would like to discuss the following KIP proposal:
>>>>>>
>>>>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>>>>> 82+-+Add+Record+Headers
>>>>>>
>>>>>>
>>>>>>
>>>>>> I have some initial ?drafts of roughly the changes that would be
>>>
>>> needed.
>>>>>>
>>>>>> This is no where finalized and look forward to the discussion
>>>>
>>>> especially as
>>>>>>
>>>>>> some bits I'm personally in two minds about.
>>>>>>
>>>>>> https://github.com/michaelandrepearce/kafka/tree/
>>>>
>>>> kafka-headers-properties
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here is a link to a alternative option mentioned in the kip but one i
>>>>>> would personally would discard (disadvantages mentioned in kip)
>>>>>>
>>>>>> https://github.com/michaelandrepearce/kafka/tree/kafka-headers-full?
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Mike
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> The information contained in this email is strictly confidential and
>>>
>>> for
>>>>>>
>>>>>> the use of the addressee only, unless otherwise indicated. If you are
>>>>
>>>> not
>>>>>>
>>>>>> the intended recipient, please do not read, copy, use or disclose to
>>>>
>>>> others
>>>>>>
>>>>>> this message or any attachment. Please also notify the sender by
>>>>
>>>> replying
>>>>>>
>>>>>> to this email or by telephone (+44(020 7896 0011) and then delete the
>>>>
>>>> email
>>>>>>
>>>>>> and any copies of it. Opinions, conclusion (etc) that do not relate to
>>>>
>>>> the
>>>>>>
>>>>>> official business of this company shall be understood as neither given
>>>>
>>>> nor
>>>>>>
>>>>>> endorsed by it. IG is a trading name of IG Markets Limited (a company
>>>>>> registered in England and Wales, company number 04008957) and IG Index
>>>>>> Limited (a company registered in England and Wales, company number
>>>>>> 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill,
>>>>>> London EC4R 2YA. Both IG Markets Limited (register number 195355) and
>>>
>>> IG
>>>>>>
>>>>>> Index Limited (register number 114059) are authorised and regulated by
>>>>
>>>> the
>>>>>>
>>>>>> Financial Conduct Authority.
>>>>>>
>>> The information contained in this email is strictly confidential and for
>>> the use of the addressee only, unless otherwise indicated. If you are not
>>> the intended recipient, please do not read, copy, use or disclose to
>>> others
>>> this message or any attachment. Please also notify the sender by replying
>>> to this email or by telephone (+44(020 7896 0011) and then delete the
>>> email
>>> and any copies of it. Opinions, conclusion (etc) that do not relate to
>>> the
>>> official business of this company shall be understood as neither given
>>> nor
>>> endorsed by it. IG is a trading name of IG Markets Limited (a company
>>> registered in England and Wales, company number 04008957) and IG Index
>>> Limited (a company registered in England and Wales, company number
>>> 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill,
>>> London EC4R 2YA. Both IG Markets Limited (register number 195355) and IG
>>> Index Limited (register number 114059) are authorised and regulated by
>>> the
>>> Financial Conduct Authority.
>>>
>



-- 
Gwen Shapira
Product Manager | Confluent
650.450.2760 | @gwenshap
Follow us: Twitter | blog

Reply via email to