You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Swaroop Jagadish (JIRA)" <ji...@apache.org> on 2013/09/20 00:08:53 UTC

[jira] [Created] (HELIX-249) Allow participants to "Reject state transitions"

Swaroop Jagadish created HELIX-249:
--------------------------------------

             Summary: Allow participants to "Reject state transitions"
                 Key: HELIX-249
                 URL: https://issues.apache.org/jira/browse/HELIX-249
             Project: Apache Helix
          Issue Type: New Feature
            Reporter: Swaroop Jagadish
            Assignee: Swaroop Jagadish
            Priority: Minor


There are situations in which a participant will not be able to honor the state transition directive from the controller (e.g: Bad configuration etc.). Currently, if the state transition handler throws an exception, it enters the "error" state. This can be a problem in scenarios where the participant runs internal consistency checks (i.e. no partition should be in error state) to decide whether it should disable itself. 

For well known error conditions (bad configuration etc.), we should allow the participant to reject the state transition. For all unexpected errors, the participant can still go into an error state.  

We need to figure out the exact mechanism for rejecting a state transition - one mechanism could be to be to throw a special type of exception. The client library then requests a rejection by recording a flag in the currentstate. The controller can still decide to send the participant into an error state or re-evaluate system state based on the rejection.

Let me know if this makes sense

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira