You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Michael Han (JIRA)" <ji...@apache.org> on 2017/03/13 16:21:58 UTC

[jira] [Updated] (ZOOKEEPER-991) QuoromPeer.OBSERVER_ID

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

Michael Han updated ZOOKEEPER-991:
----------------------------------
    Fix Version/s:     (was: 3.5.3)
                   3.5.4

> QuoromPeer.OBSERVER_ID
> ----------------------
>
>                 Key: ZOOKEEPER-991
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-991
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum
>    Affects Versions: 3.3.2
>         Environment: Windows
>            Reporter: Sandeep Maheshwari
>             Fix For: 3.5.4, 3.6.0
>
>
> I don't understand why do we even need this code at first place.
> if (remoteSid == QuorumPeer.OBSERVER_ID) {
>                /*
>                 * Choose identifier at random. We need a value to identify
>                 * the connection.
>                 */
>                remoteSid = observerCounter--;
>                initializeMessageQueue(remoteSid);
>                LOG.info("Setting arbitrary identifier to observer: " + remoteSid);
>            }
> Even if remove above code from  public Long readRemoteServerID(Socket sock) {} function the FLE will work correctly. Because when any other peer(PARTICIPANT) receive a notification from the observer, that peer won't consider his(observer) vote because of this check
>  if(!self.getVotingView().containsKey(response.sid))
> Hence there is no need of that code. Also bcoz to above code there is a possibility of creating redundant threads (SendWorker-ReceiveWorker) bcoz when same participant try to initiate connection with same peer we are doing (sid = observerCounter--;). So the same observer getting different sid and hence corresponding thread would be crated which will be of no use.
> Please let me know if i am correct.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)