You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by "Zhen Zhang (JIRA)" <ji...@apache.org> on 2013/11/13 19:55:21 UTC

[jira] [Resolved] (HELIX-123) ZkHelixManager.isLeader() should check session id in addition to instance name

     [ https://issues.apache.org/jira/browse/HELIX-123?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhen Zhang resolved HELIX-123.
------------------------------

    Resolution: Fixed

> ZkHelixManager.isLeader() should check session id in addition to instance name
> ------------------------------------------------------------------------------
>
>                 Key: HELIX-123
>                 URL: https://issues.apache.org/jira/browse/HELIX-123
>             Project: Apache Helix
>          Issue Type: Sub-task
>            Reporter: Zhen Zhang
>            Assignee: Zhen Zhang
>             Fix For: 0.7.0-incubating
>
>
> Current ZkHelixManager.isLeader() is not checking session id. This is problematic. In case of session expiry, we might have multiple Helix manager instances with the same instance name but different session id's. And since they have the same instance name, if we have a manager leaking, multiple controllers will take the controller-ship and send multiple state transition messages.
> In distributed-mode, the CONTROLLER_PARTICIPANT will create the leader node and create a CONTROLLER manager instance. In this case, the leader node contains the session id of the CONTROLLER_PARTICIPANT not the CONTROLLER, so when checking against the leader session id, we need to take care of this case as well.



--
This message was sent by Atlassian JIRA
(v6.1#6144)