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)