[
https://issues.apache.org/jira/browse/KAFKA-14365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirk True updated KAFKA-14365:
------------------------------
Summary: Extract common logic from Fetcher into FetcherUtils (was:
Refactor Fetcher to allow different implementations)
> Extract common logic from Fetcher into FetcherUtils
> ---------------------------------------------------
>
> Key: KAFKA-14365
> URL: https://issues.apache.org/jira/browse/KAFKA-14365
> Project: Kafka
> Issue Type: Improvement
> Components: clients, consumer
> Reporter: Kirk True
> Assignee: Kirk True
> Priority: Minor
>
> The `Fetcher` API is used internally by the `KafkaConsumer` to fetch records
> from the brokers. There is ongoing work to create a new consumer
> implementation with a significantly refactored threading model. The threading
> refactor work requires a similarly refactored `Fetcher`. In order to keep the
> existing `KafkaConsumer` as untouched as possible, this Jira proposes to
> refactor the `Fetcher` so as to allow other implementations to use the unit
> tests and `KafkaConsumer`.
> Here are the proposed steps:
> # Extract out the common APIs used by the `KafkaConsumer` and related unit
> tests into a new Java interface named `Fetcher`
> # Rename the existing `Fetcher` as `KafkaFetcher` (or similar)
> # Refactor the `KafkaConsumer`, `FetcherTest`, and other call sites to
> primarily use the new `Fetcher` interface
> A future pull request will add the new `Fetcher` implementation and tie it in
> to the existing `FetcherTest` tests.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)