You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/11/16 05:32:58 UTC
[jira] [Commented] (KAFKA-4415) Reduce time to create and send
MetadataUpdateRequest
[ https://issues.apache.org/jira/browse/KAFKA-4415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15669497#comment-15669497 ]
ASF GitHub Bot commented on KAFKA-4415:
---------------------------------------
GitHub user lindong28 opened a pull request:
https://github.com/apache/kafka/pull/2141
KAFKA-4415; Reduce time to create and send MetadataUpdateRequest
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/lindong28/kafka KAFKA-4415
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/2141.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2141
----
commit a317b6de574842298015121b8cd836512728141e
Author: Dong Lin <li...@gmail.com>
Date: 2016-11-16T05:30:03Z
KAFKA-4415; Reduce time to create and send MetadataUpdateRequest
----
> Reduce time to create and send MetadataUpdateRequest
> ----------------------------------------------------
>
> Key: KAFKA-4415
> URL: https://issues.apache.org/jira/browse/KAFKA-4415
> Project: Kafka
> Issue Type: Bug
> Reporter: Dong Lin
>
> As of current implementation, when controller receives ControlledShutdownRequest, it will 1) for every broker in the cluster, for every partition on the broker which wants to shutdown, create an instance of PartitionStateInfo and add it to ControllerBrokerRequestBatch.,updateMetadataRequestMap; and 2) for every broker, for every follower partitions on the broker which wants to shutdown, send one MetadataUpdateRequst to that broker.
> In order to shutdown a broker, the controller will need to instantiate O(partitionNum * brokerNum) PartitionStateInfo and send O(partitionNum * brokerNum) partitionStateInfo. This is not efficient. The broker should only need to instantiate O(partitionNum) PartitionStateInfo and send O(brokerNum) MetadataUpdateRequest.
> Micro-benchmark results show that this optimization can reduce the time of processing ControlledShutdownRequest by 30%.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)