[jira] [Assigned] (KAFKA-15277) Design & implement support for internal Consumer delegates

2023-10-30 Thread Kirk True (Jira)


 [ 
https://issues.apache.org/jira/browse/KAFKA-15277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk True reassigned KAFKA-15277:
-

Assignee: Kirk True  (was: Philip Nee)

> Design & implement support for internal Consumer delegates
> --
>
> Key: KAFKA-15277
> URL: https://issues.apache.org/jira/browse/KAFKA-15277
> Project: Kafka
>  Issue Type: Sub-task
>  Components: clients, consumer
>Reporter: Kirk True
>Assignee: Kirk True
>Priority: Blocker
>  Labels: consumer-threading-refactor, kip-848, kip-848-e2e, 
> kip-848-preview
>
> 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 {{LegacyKafkaConsumerDelegate}} and 
> {{PrototypeAsyncConsumer}} will be renamed as 
> {{{}AsyncKafkaConsume{}}}{{{}rDelegate{}}}. It is assumed that neither 
> {{{}AsyncKafkaConsume{}}}{{{}rDelegate{}}} nor 
> {{{}LegacyKafkaConsume{}}}{{{}rDelegate{}}} 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}}
>  * Once available (in KAFKA-15284), use the 
> {{ConsumerGroupProtocolVersionResolver}} to determine which delegate to use
> 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)


[jira] [Assigned] (KAFKA-15277) Design & implement support for internal Consumer delegates

2023-07-31 Thread Kirk True (Jira)


 [ 
https://issues.apache.org/jira/browse/KAFKA-15277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirk True reassigned KAFKA-15277:
-

Assignee: Philip Nee  (was: Kirk True)

> 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: Philip Nee
>Priority: Major
>  Labels: consumer-threading-refactor, kip-848
>
> 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 {{LegacyKafkaConsumerDelegate}} and 
> {{PrototypeAsyncConsumer}} will be renamed as 
> {{{}AsyncKafkaConsume{}}}{{{}rDelegate{}}}{{{}{}}}. It is assumed that 
> neither {{{}AsyncKafkaConsume{}}}{{{}rDelegate{}}}{{{}{}}} nor 
> {{{}LegacyKafkaConsume{}}}{{{}rDelegate{}}}{{{}{}}} 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)