[
https://issues.apache.org/jira/browse/KAFKA-2763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000798#comment-15000798
]
ASF GitHub Bot commented on KAFKA-2763:
---------------------------------------
GitHub user ymatsuda opened a pull request:
https://github.com/apache/kafka/pull/497
KAFKA-2763: better stream task assignment
@guozhangwang
When the rebalance happens each consumer reports the following information
to the coordinator.
* Client UUID (a unique id assigned to an instance of KafkaStreaming)
* Task ids of previously running tasks
* Task ids of valid local states on the client's state directory
TaskAssignor does the following
* Assign a task to a client which was running it previously. If there is no
such client, assign a task to a client which has its valid local state.
* Try to balance the load among stream threads.
* A client may have more than one stream threads. The assignor tries to
assign tasks to a client proportionally to the number of threads.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ymatsuda/kafka task_assignment
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/497.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 #497
----
commit 0e4cd31d3f9f055aa8db5917bcb30f1dbc3da984
Author: Yasuhiro Matsuda <[email protected]>
Date: 2015-11-11T17:46:57Z
better task assignment
----
> Reduce stream task migrations and initialization costs
> ------------------------------------------------------
>
> Key: KAFKA-2763
> URL: https://issues.apache.org/jira/browse/KAFKA-2763
> Project: Kafka
> Issue Type: Sub-task
> Components: kafka streams
> Affects Versions: 0.9.0.0
> Reporter: Yasuhiro Matsuda
>
> Stream task assignment is not aware of either the previous task assignment or
> local states of participating clients. By making the assignment logic aware
> of them, we can reduce task migrations and initialization cost.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)