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

Reply via email to