zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Benediktson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2879) Adding observers dynamically without server id
Date Tue, 22 Aug 2017 13:56:00 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-2879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16136823#comment-16136823

Dan Benediktson commented on ZOOKEEPER-2879:

[~hanm] No, local sessions are not a sufficient mitigation for the problems introduced by
this proposed feature:
- Local sessions can be upgraded to a global session at any time by creating an ephemeral
node; basically, enabling local sessions across an ensemble does not guarantee that all sessions
are local. If one of them upgrades, for instance, what happens to the other one?
- Moreover, I believe this proposed feature would let you accidentally reuse a local session
across two members of the same ensemble. Imagine two sessions connect to different members
and get the same session ID: now, one of them disconnects and tries to reconnect, and lands
on the second server (this is possible: local sessions are purely a server-side concept, so
in practice clients with a local session DO try to reconnect to another server, even though
it is guaranteed to fail). I expect it would succeed, at which point there are would be two
connections for the same local session, one of which actually originated from another node.
I don't know precisely what this would entail, but it's probably also undesirable.

> Adding observers dynamically without server id
> ----------------------------------------------
>                 Key: ZOOKEEPER-2879
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2879
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: quorum
>    Affects Versions: 3.6.0
>            Reporter: Fangmin Lv
>            Assignee: Fangmin Lv
> Dynamic config requires observer has unique server id, which means we cannot simply add
observer with dynamic server id -1. For large observer cluster, it's much more easier to add
observer without unique server id if it doesn't need to be promoted to participant. Also,
it will make dynamic config more efficient, we don't need to store and send the long list
of observers during re-config.

This message was sent by Atlassian JIRA

View raw message