[ https://issues.apache.org/jira/browse/KAFKA-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788627#comment-17788627 ]
Phuc Hong Tran commented on KAFKA-15556: ---------------------------------------- what seems weird to me is that # {{isUnavailable}} # {{maybeThrowAuthFailure}} # {{tryConnect}} doesn't need to do through NetworkClientUtils at all, why are those methods written in the current way? > Remove NetworkClientDelegate methods isUnavailable, maybeThrowAuthFailure, > and tryConnect > ----------------------------------------------------------------------------------------- > > Key: KAFKA-15556 > URL: https://issues.apache.org/jira/browse/KAFKA-15556 > Project: Kafka > Issue Type: Sub-task > Components: clients, consumer > Reporter: Kirk True > Assignee: Phuc Hong Tran > Priority: Major > Labels: consumer-threading-refactor > > The "new consumer" (i.e. {{{}PrototypeAsyncConsumer{}}}) was designed to > handle networking details in a more centralized way. However, in order to > reuse code between the existing {{KafkaConsumer}} and the new > {{{}PrototypeAsyncConsumer{}}}, that design goal was "relaxed" when the > {{NetworkClientDelegate}} capitulated and -stole- copied three methods from > {{ConsumerNetworkClient}} related to detecting node status: > # {{isUnavailable}} > # {{maybeThrowAuthFailure}} > # {{tryConnect}} > Unfortunately, these have found their way into the {{FetchRequestManager}} > and {{OffsetsRequestManager}} implementations. We should review if we can > clean up—or even remove—this leaky abstraction. -- This message was sent by Atlassian Jira (v8.20.10#820010)