Hi Omnia,

Thanks for proposing this feature that many users expected.

Some comments:
1. It's quite interesting to see the idea of chained
serializer/deserializer used here. I like it.

2. It's not clear how the "retry count" comes into play in the KIP. It
needs more explanation.

3. What does "LargeMessageFormatter" do in the process?
I thought all we want to do is to replace the "large value data" into a
path, and consumers will read the path via blob store class.
All these should be done in serializer/deserializer, so why do we need the
formatter?

4. In the BlobStore, it looks like we presume users will use object stores,
which is not good.
Could we make it more generic? Javadoc, method names, ...

5. It would be good to have some explanation for the purpose of each new
interface/class, and clear javadoc for each method.

6. About the BlobIdGenerator, why do we need it, could you explain more?
Again, I thought we only need to replace value to a path, and add the
"large-message" header, so that when consumer reads this message, it'll
read the path from value and get the original data via BlobStore. Why do we
need this ID generator? I think users should do the object naming when
putting the object by themselves, not via another interface. WDYT?

Thanks.
Luke





On Thu, Apr 10, 2025 at 9:31 PM Omnia Ibrahim <o.g.h.ibra...@gmail.com>
wrote:

> Hi there I would like to start discussions on
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1159%3A+Large+message+reference+based+Serializer
>
> Thanks
> Omnia
>
>

Reply via email to