You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/04 14:48:00 UTC
[jira] [Commented] (KAFKA-5702) Refactor StreamThread to separate
concerns and enable better testability
[ https://issues.apache.org/jira/browse/KAFKA-5702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114458#comment-16114458 ]
ASF GitHub Bot commented on KAFKA-5702:
---------------------------------------
GitHub user dguy opened a pull request:
https://github.com/apache/kafka/pull/3624
KAFKA-5702: extract refactor StreamThread
Extracted `TaskManager` to handle all task related activities.
Make `StandbyTaskCreator`, `TaskCreator`, and `RebalanceListener` static classes so they must define their dependencies and can be testing independently of `StreamThread`
Added interfaces between `StreamPartitionAssignor` & `StreamThread` to reduce coupling.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dguy/kafka stream-thread-refactor
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/3624.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 #3624
----
commit 1d46a295a2ac10cd612b89c336790a033a9a9afa
Author: Damian Guy <da...@gmail.com>
Date: 2017-08-03T12:42:27Z
extract taskmanager from stream thread
make partition assignor test work
----
> Refactor StreamThread to separate concerns and enable better testability
> ------------------------------------------------------------------------
>
> Key: KAFKA-5702
> URL: https://issues.apache.org/jira/browse/KAFKA-5702
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Damian Guy
> Assignee: Damian Guy
>
> {{StreamThread}} does a lot of stuff, i.e., managing and creating tasks, getting data from consumers, updating standby tasks, punctuating, rebalancing etc. With the current design it is extremely hard to reason about and is quite tightly coupled.
> We need to start to tease out some of the separate concerns from StreamThread, ie, TaskManager, RebalanceListener etc.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)