Okay thank you. But for now the quick fix is to make sure to name the
controllers differently?


On Fri, Jun 21, 2013 at 1:44 PM, Zhen Zhang <[email protected]> wrote:

>  This is a known bug in helix.
> https://issues.apache.org/jira/browse/HELIX-123
>
>  The problem is we are comparing the instance name of the controller but
> not the session id, so if you start two controllers of the same name,
> isLeader() return true. We will fix it shortly.
>
>  Thanks,
> Jason
>
>   From: Lance Co Ting Keh <[email protected]>
> Reply-To: "[email protected]" <
> [email protected]>
> Date: Friday, June 21, 2013 1:39 PM
> To: "[email protected]" <[email protected]>
> Subject: Re: Controller fault tolerance
>
>   Hi Kishore,
>
>  I tried starting two controllers programmatically like you mentioned:
>
>  controllerManager = HelixControllerMain.startHelixController(zkAddress,
>
>           clusterName, "controller", HelixControllerMain.STANDALONE);
>
>
> I then called isLeader() on the both managers 
> (http://helix.incubator.apache.org/apidocs/reference/org/apache/helix/HelixManager.html#isLeader()).
>  and both of them returned true. They're obviously both on the same zookeeper 
> instance, and on the same cluster. The controllers are running and so im not 
> sure whether or not its actually leader electing properly, or I'm 
> misinterpreting the isLeader() function
>
>
> Thanks
> Lance
>
>
>
> On Mon, Jun 17, 2013 at 9:22 AM, Manikumar Reddy <[email protected]>wrote:
>
>> Hi Kishore,
>>
>> Thanks for the quick response.
>>
>> Regards,
>> Kumar
>>
>>
>> On Mon, Jun 17, 2013 at 8:18 PM, kishore g <[email protected]> wrote:
>>
>>> Hi Kumar,
>>>
>>>  You can start multiple controllers and only one of them will be active
>>> and rest of them will be in standby mode. If the active controller fails,
>>> one of the standby will become active and start managing the cluster.
>>>
>>>  You can start the controllers either using command line or
>>> programmatically.
>>>
>>>  command line
>>>
>>> ./run-helix-controller.sh --zkSvr localhost:2199 --cluster <clustername>
>>>
>>>  using Helix api
>>>
>>> controllerManager = HelixControllerMain.startHelixController(zkAddress,
>>>           clusterName, "controller", HelixControllerMain.STANDALONE);
>>>
>>> Hope this helps.
>>>
>>> thanks,
>>> Kishore G
>>>
>>>
>>>
>>>
>>> On Mon, Jun 17, 2013 at 7:01 AM, Manikumar Reddy 
>>> <[email protected]>wrote:
>>>
>>>> Hi,
>>>>
>>>> I am trying to understand the Helix Controller/Cluster manager fault
>>>> tolerance mechanism.
>>>> Single Controller will become Single-Point-Failure. So what are the
>>>> available options/techniques to
>>>> achieve controller fault tolerance?   Any pointers/recipes/code
>>>> snippets?
>>>>
>>>> Regards,
>>>> Kumar
>>>
>>>
>>>
>>
>

Reply via email to