You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Kirk True (Jira)" <ji...@apache.org> on 2023/02/15 19:38:00 UTC

[jira] [Updated] (KAFKA-14274) Introduce FetchRequestManager to integrate fetch into new consumer threading refactor

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

Kirk True updated KAFKA-14274:
------------------------------
    Summary: Introduce FetchRequestManager to integrate fetch into new consumer threading refactor  (was: Introduce FetchRequestManager)

> Introduce FetchRequestManager to integrate fetch into new consumer threading refactor
> -------------------------------------------------------------------------------------
>
>                 Key: KAFKA-14274
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14274
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: clients, consumer
>            Reporter: Philip Nee
>            Assignee: Kirk True
>            Priority: Major
>
> The {{Fetcher}} class 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{}}}.
> This task is to introduce a new class named {{FetchRequestManager}} that will be responsible for:
>  # Formatting fetch requests to the background thread
>  # Configuring the callback on fetch responses for the background thread
> The response handler will collect the fetch responses from the broker and create {{{}CompletedFetch{}}}, instances, much as is done in {{{}Fetcher{}}}. The newly introduced {{FetchUtils}} will be used for both {{FetchRequestManager}} and {{Fetcher}} to keep the logic as reusable as possible.
> The foreground logic will decompress the data into a {{{}Record{}}}, which will then be deserialized into a {{ConsumerRecord}} for returning to the user.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)