You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Ismael Juma (JIRA)" <ji...@apache.org> on 2017/07/26 06:41:00 UTC

[jira] [Commented] (KAFKA-5641) Metadata request should always be allowed to send no regardless of value for max.in.flight.requests.per.connection

    [ https://issues.apache.org/jira/browse/KAFKA-5641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16101231#comment-16101231 ] 

Ismael Juma commented on KAFKA-5641:
------------------------------------

The broker only processes one request at a time, so even if you send the metadata request, it won't be processed until the processing of the previous request is completed. Given that, the benefit is reasonably small and not clear if it's worth adding the special case. Also note that we try to find a node with no inflight connections in NetworkClient.leastLoadedNode for this reason.

> Metadata request should always be allowed to send no regardless of value for max.in.flight.requests.per.connection
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-5641
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5641
>             Project: Kafka
>          Issue Type: Improvement
>          Components: network, producer 
>    Affects Versions: 0.11.0.0
>            Reporter: huxihx
>
> Metadata request might not be able to be sent when `max.in.flight.requests.per.connection` is set to 1 and there is already an inflight request in the same node's queue, as show below:
> {code:title=NetworkClient.java|borderStyle=solid}
> private long maybeUpdate(long now, Node node) {
>             String nodeConnectionId = node.idString();
>             if (canSendRequest(nodeConnectionId)) {
>             ......
>             }
> {code}
> However, setting `max.in.flight.requests.per.connection` to 1 actually means no out-of-order for the produced records, Metadata requests should have no related with this config. We don't have to check the inflight request's queue size when sending Metadata request.
> [~ijuma] Does it make any sense? If yes, I will work on it.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)