[
https://issues.apache.org/jira/browse/ZOOKEEPER-2031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14145407#comment-14145407
]
some one commented on ZOOKEEPER-2031:
-------------------------------------
> 1) when is the tag assigned to a server ? suppose I'm adding server 2 using
> and specifying a certain tag in the reconfig command. It seems that 2 will be
> added, no matter what its tag was booting up. Right ?
The tag has to be assigned at the bootup of the server. The idea is that if you
reconfig and you want to add server 2, but don't specify the right tag that
server 2 has upon bootup, server 2 won't be added.
> 2) Kindof related to 1 - can tag be modified dynamically ? what happens if I
> invoke a reconfig specifying a different tag for server 2 ?
No, the tag can't be modified dynamically, it is uniquely assigned to a node
upon bootup.
If you invoke a reconfig specifying a different tag for server 2 using an
absolute list, you would cause a removal of the old server 2 with tag A and add
the new server 2 with tag B.
This means that we assume that the tag is part if the identity of a server, so
server 2 is not just server 2 anymore, its server 2 + someTag, so there is no
concept of dynamically modifying the tag, since the tag identifies the server.
> 3) are any CLI changes required ? how about C ?
The ClI just works with the new server string format (the CLI is what I've bee
using to manually test with).
I haven't looked at C client, but if it doesn't perform any parsing of the
string before sending the request, then it should be fine.
> 4) I'm a bit concerned of having an arbitrary string as the suffix of the
> server string. It may mean that we'll never be able to add anything else
> there. Would it be better to have tag as a separate keyword ? Like tag.1 =
> ... or something like that.
Could we just document that the tag string shouldn't contain semicolons (and
maybe also add an assert when setting the tag?) ? This way we wouldn't have an
issue.
> Support tagging a QuorumServer
> ------------------------------
>
> Key: ZOOKEEPER-2031
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2031
> Project: ZooKeeper
> Issue Type: Improvement
> Components: server
> Reporter: some one
> Assignee: some one
> Fix For: 3.5.1, 3.6.0
>
> Attachments: ZOOKEEPER-2031-Additional.patch, ZOOKEEPER-2031.patch
>
>
> Currently ZooKeeper only allows using the server id which is an integer for
> identifying servers. For my (unavoidable) use case, there may be concurrent
> dynamic removes and adds of servers which may eventually have id collisions.
> When this occurs, there is no good way to determine if the server (given an
> id collision) that we want to remove is the right server.
> To support my use case, I propose that we add a tag field to the server
> string.
> For my specific use case, this tag field will be used to store a uuid as a
> string.
> So for example:
> server.1=127.0.0.1:1234:1236:participant;0.0.0.0:1237;743b9d23-85cb-45b1-8949-930fdabb21f0
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)