Kirk True created KAFKA-14365: --------------------------------- Summary: Refactor Fetcher to allow different implementations 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
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)