Kirk True created KAFKA-15277:
---------------------------------

             Summary: Design & implement support for internal Consumer delegates
                 Key: KAFKA-15277
                 URL: https://issues.apache.org/jira/browse/KAFKA-15277
             Project: Kafka
          Issue Type: Task
          Components: clients, consumer
            Reporter: Kirk True
            Assignee: Kirk True


As mentioned above, there are presently two different, coexisting 
implementations of the {{Consumer}} interface: {{KafkaConsumer}} ("old") and 
{{PrototypeAsyncConsumer}} ("new"). Eventually, these will be reorganized using 
the delegation pattern. The top-level {{KafkaConsumer}} that implements the old 
protocol will be renamed as {{LegacyKafkaConsumer}} and 
{{PrototypeAsyncConsumer}} will be renamed as {{{}AsyncKafkaConsumer{}}}. It is 
assumed that neither {{AsyncKafkaConsumer}} nor {{LegacyKafkaConsumer}} will be 
top-level implementations of {{{}Consumer{}}}, but will likely implement an 
internal interface that is better suited to the needs of the top-level 
{{{}KafkaConsumer{}}}.

Provide the Java client support for the consumer delegates, including:
 * Create {{ConsumerDelegate}} interface
 * Clone {{{}KafkaConsumer{}}}, rename as {{LegacyKafkaConsumerDelegate}} and 
refactor to implement {{ConsumerDelegate}}
 * Rename {{PrototypeAsyncConsumer}} to {{AsyncKafkaConsumerDelegate}} and 
refactor to implement the {{ConsumerDelegate}} interface
 * Refactor the (original) {{KafkaConsumer}} to remove the core implementation, 
instead delegating to the {{{}ConsumerDelegate{}}}, which will be hard-coded to 
use {{LegacyKafkaConsumerDelegate}}

This task is part of the work to implement support for the new KIP-848 consumer 
group protocol.{{{}
{}}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to