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)