You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Hunter L (JIRA)" <ji...@apache.org> on 2018/11/02 21:03:00 UTC

[jira] [Created] (HELIX-787) TASK: Fix stuck tasks after Participant connection loss

Hunter L created HELIX-787:
------------------------------

             Summary: TASK: Fix stuck tasks after Participant connection loss
                 Key: HELIX-787
                 URL: https://issues.apache.org/jira/browse/HELIX-787
             Project: Apache Helix
          Issue Type: Improvement
            Reporter: Hunter L
            Assignee: Hunter L


When Helix Participants lose ZK connection and enter a new ZK session, that causes all task partitions on those Participants to be reset into INIT state. This is undesirable because in reality, these tasks are considered dropped and should be scheduled on some other instance. This is the Controller side fix for this problem: when we detect tasks whose assigned Participants are no longer live, we mark them as DROPPED in their parent JobContext so that AssignableInstance will not consider them active when it is refreshed in the next pipeline. This enables these dropped tasks to be reassigned onto other instances.

Note that a Participant-side fix must follow so that upon reset() on task partitions, they should be in DROPPED state, not in INIT state. This does not inherently solve stuck INIT states on the original Participant. However, by letting these tasks be assigned on other instances, this fix lets jobs and workflows complete, upon which their CurrentStates will be dropped altogether.

Changelist:
1. Mark task partitions whose assigned Participants are no longer live as DROPPED in JobContext



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)