mj...@apache.org any update on that? Can we release it in 4.1.0?

pt., 7 mar 2025 o 09:08 Paweł Szymczyk <pawel.szymczy...@gmail.com>
napisał(a):

> mj...@apache.org the main point is that this class is a regular data
> structure, there is no way to give an alternative implementation which is
> the purpose of interface in Java. We can completely eliminate the
> possibility of creating an instance of this class in any other way than via
> Kafka Consumer by changing the access modifiers of the constructors to
> private and providing a static create method that takes a kafka consumer
> object as a parameter or we can make the ConsumerGroupMetada inner not
> static class in KafkaConsumer, for those two alternative scenarios we have
> to provide different inner class for ConsumerCoordinator and
> AsyncKafkaConsumer and then translate inner into public in Kafka Consumer
> class, like that:
>
>     public ConsumerGroupMetadata groupMetadata() {
>         return new ConsumerGroupMetadata(delegate.groupMetadata().groupId,
> delegate.groupMetadata().generationId(), delegate.groupMetadata().memberId,
> groupMetadata().groupInstanceId);
>     }
>
> śr., 5 mar 2025 o 21:01 Matthias J. Sax <mj...@apache.org> napisał(a):
>
>> Reversing the question. What is the problem with using an interface? It
>> seem, and interface would provide the cleanest way to separate public
>> and internal things? Or maybe I misunderstand what you propose?
>>
>> We can for sure not have a `private` constructor.
>>
>> We can also not have "package private" constructor, because the class is
>> public, but we instantiate it from multiple different (internal) packages.
>>
>> `protected` could maybe work, but `protected` it technically still
>> public API, so if we need to change the constructor, we would need to do
>> a KIP.
>>
>>
>>
>> -Matthias
>>
>> On 3/5/25 9:22 AM, Ismael Juma wrote:
>> > Hi,
>> >
>> > Thanks for the KIP. Why did we reject the alternative where the
>> constructor
>> > is unavailable to external users?
>> >
>> > Ismael
>> >
>> > On Tue, Feb 25, 2025 at 8:27 AM Paweł Szymczyk <
>> pawel.szymczy...@gmail.com>
>> > wrote:
>> >
>> >>
>> >>
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1136%3A+Make+ConsumerGroupMetadata+an+interface
>> >>
>> >> --
>> >> Pozdrawiam
>> >> Paweł Szymczyk
>> >>
>> >
>>
>>
>
> --
> Pozdrawiam
> Paweł Szymczyk
>


-- 
Pozdrawiam
Paweł Szymczyk

Reply via email to