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 <yasuh...@confluent.io> Date: 2015-11-13T18:51:20Z standby tasks commit ea8814e3d668da63847650718d107b9a1a47ceb9 Author: Yasuhiro Matsuda <yasuh...@confluent.io> 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---