You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Zhen Zhang (JIRA)" <ji...@apache.org> on 2013/12/06 02:15:36 UTC

[jira] [Updated] (HELIX-336) Add support for task framework

     [ https://issues.apache.org/jira/browse/HELIX-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhen Zhang updated HELIX-336:
-----------------------------

    Environment:     (was: Tasks are partitioned and placed based on a target resource. An explicit set of partitions or partition states may also be specified.
Tasks can be paused, resumed and deleted (the message handlers are still being worked on --- for the time being, the test cases directly set zk state).
Task resources and associated state are expired out of zk after a configured amount of time has elapsed since it was created. This is a per-task configuration.
The number of concurrent tasks that run per instance is configurable.
The only error policy available right now is to fail the entire task if any single task partition fails a configured number of times.
The Task state model is as follows:


                                       init
                                         +
                                         |
                                         |
                                         v
                 +-------------------+running+------------------------------+
                 |                      + + +                               |
                 |                      | | |                               |
                 |                      | | +--------------------+          |
                 |                      | |                      |          |
                 |                +-----+ +--------+             |          |
                 v                v                v             v          v
               stopped        completed        timed_out     task_error   error
                 +                +                +             +          +
                 |                |                |             |          |
                 |                +-----+ +--------+             |          |
                 |                      | |                      |          |
                 |                      | | +--------------------+          |
                 |                      v v v                               |
                 +------------------> dropped <-----------------------------+

"init" is the initial state of a task partition. 
"stopped" indicates that task partition is partially done but was stopped by the controller. 
"completed" indicates that the task partition is complete. 
"timed_out" indicates that the task partition did not complete within a configured time out value.
"task_error" indicates that the task partition encountered an error during execution.
"error" and "dropped" are helix internal states.
The "init" to "running" transition does not wait for the task to finish execution on the participant. The participant requests state changes (to "completed" or "timed_out" or "task_error") via a "REQUESTED_STATE" property in the CURRENTSTATE znode.
If the participant session is reset, all on-going tasks are stopped.)

> Add support for task framework
> ------------------------------
>
>                 Key: HELIX-336
>                 URL: https://issues.apache.org/jira/browse/HELIX-336
>             Project: Apache Helix
>          Issue Type: New Feature
>            Reporter: Zhen Zhang
>            Assignee: Zhen Zhang
>




--
This message was sent by Atlassian JIRA
(v6.1#6144)