GitHub user ymatsuda opened a pull request:
https://github.com/apache/kafka/pull/526
KAFKA-2811: add standby tasks
@guozhangwang
* added a new config param "num.standby.replicas" (the default value is 0).
* added a new abstract class AbstractTask
* added StandbyTask as a subclass of AbstractTask
* modified StreamTask to a subclass of AbstractTask
* StreamThread
* standby tasks are created by calling StreamThread.addStandbyTask() from
onPartitionsAssigned()
* standby tasks are destroyed by calling
StreamThread.removeStandbyTasks() from onPartitionRevoked()
* In addStandbyTasks(), change log partitions are assigned to
restoreConsumer.
* In removeStandByTasks(), change log partitions are removed from
restoreConsumer.
* StreamThread polls change log records using restoreConsumer in the
runLoop with timeout=0.
* If records are returned, StreamThread calls StandbyTask.update and pass
records to each standby tasks.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ymatsuda/kafka standby_task
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/526.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 #526
----
commit 4f015e107ede8b03cea9aeddd40c7f04bc930acc
Author: Yasuhiro Matsuda <[email protected]>
Date: 2015-11-13T18:51:20Z
standby tasks
commit ea8814e3d668da63847650718d107b9a1a47ceb9
Author: Yasuhiro Matsuda <[email protected]>
Date: 2015-11-13T19:16:36Z
cleanup
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---