Perfect, that does help, thank you!

It seemed like ERROR state was the right thing, but I wasn’t sure and I 
definitely didn’t know about the exception throwing triggering that 
automatically.  

Thanks again!

~Brent

> On Sep 15, 2020, at 9:44 PM, kishore g <[email protected]> wrote:
> 
> 
> Throwing an exception is good enough. Helix will put that node into Error 
> state and pick another node to promote it to MASTER.
> 
> You can also disable that partition on that node using helix api.
> 
> Hope that helps. 
> 
> 
>> On Tue, Sep 15, 2020 at 9:16 PM Brent Nash <[email protected]> wrote:
>> Hello!
>> 
>> I had a follow-up question similar to an existing post:
>> 
>> https://mail-archives.apache.org/mod_mbox/helix-user/202008.mbox/%3CCAKg%2BLsmZBHKXkWUXcQX5cPuPgX6Wz9RpVSrjUZDeZ5TgAjjOGg%40mail.gmail.com%3E
>> 
>> My apologies for creating a new thread.  I couldn't figure out how to reply 
>> to the existing one.  
>> 
>> Here is a hypothetical scenario:
>> 
>> Let's say that I have a Helix controller running alongside a cluster.  I 
>> have a configuration with a resource named "Database" representing a sharded 
>> database and a MASTER/SLAVE state model.  
>> 
>> Due to changes in the cluster, the Helix controller tells node 10.144.100.1 
>> that it should transition from the SLAVE state to the MASTER state.  But 
>> when the code on 10.144.100.1 attempts to transition from SLAVE state to 
>> MASTER state, it encounters a failure (e.g. it can't open its database 
>> shard) and cannot complete the transition to MASTER.
>> 
>> Is there any way for node 10.144.100.1 to tell the Helix Controller that it 
>> failed the transition and it can't become the MASTER?
>> 
>> In general, how does the Helix Controller know whether or not a node 
>> transitions state successfully?
>> 
>> Thank you for your time and help!
>> 
>> 

Reply via email to