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

Hongchao Deng updated ZOOKEEPER-1997:
-------------------------------------

    Description: 
A server goes to standalone mode if there is only a single server line or none 
in server list description.

In fact, the serverline was ignored.

The test 
[testStandaloneQuorum|https://github.com/apache/zookeeper/blob/fa6d21fa8a8acba812237538e4f7172faf969d37/src/java/test/org/apache/zookeeper/test/StandaloneTest.java#L64]
 was incorrectly successful before -- the client port was ignored and the 
server was responding through the jetty port.

When I do a client port check, it failed.

This is caused by the logic in 
[checkvalidity|https://github.com/apache/zookeeper/blob/4bb76bd22916de8dcfe0c40f649d02d61737e871/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java#L439]:
{code}
 if (numMembers > 1  || (!standaloneEnabled && numMembers > 0)) {
...
{code}
This would assume it's standaloneEnabled mode and won't take client port 
parameter in dynamic file.
This is undesired after introducing reconfig because a cluster could set up one 
server and then add more later.

  was:
A server goes to standalone mode when there is a single server line in ensemble 
description.
{code}
server.1=xxx
{code}
The server will goes up without a client port.

The test 
[testStandaloneQuorum|https://github.com/apache/zookeeper/blob/fa6d21fa8a8acba812237538e4f7172faf969d37/src/java/test/org/apache/zookeeper/test/StandaloneTest.java#L64]
 was incorrectly successful before -- the client port was ignored and the 
server was responding through the jetty port.

When I do a client port check, it failed.

This is caused by the logic in 
[checkvalidity|https://github.com/apache/zookeeper/blob/4bb76bd22916de8dcfe0c40f649d02d61737e871/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java#L439]:
{code}
 if (numMembers > 1  || (!standaloneEnabled && numMembers > 0)) {
...
{code}
This would assume it's standaloneEnabled mode and won't take client port 
parameter in dynamic file
This is undesired after introducing reconfig because a cluster could set up one 
server and then add more later.


> fix testStandaloneQuorum in StandaloneTest
> ------------------------------------------
>
>                 Key: ZOOKEEPER-1997
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1997
>             Project: ZooKeeper
>          Issue Type: Bug
>            Reporter: Hongchao Deng
>
> A server goes to standalone mode if there is only a single server line or 
> none in server list description.
> In fact, the serverline was ignored.
> The test 
> [testStandaloneQuorum|https://github.com/apache/zookeeper/blob/fa6d21fa8a8acba812237538e4f7172faf969d37/src/java/test/org/apache/zookeeper/test/StandaloneTest.java#L64]
>  was incorrectly successful before -- the client port was ignored and the 
> server was responding through the jetty port.
> When I do a client port check, it failed.
> This is caused by the logic in 
> [checkvalidity|https://github.com/apache/zookeeper/blob/4bb76bd22916de8dcfe0c40f649d02d61737e871/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java#L439]:
> {code}
>  if (numMembers > 1  || (!standaloneEnabled && numMembers > 0)) {
> ...
> {code}
> This would assume it's standaloneEnabled mode and won't take client port 
> parameter in dynamic file.
> This is undesired after introducing reconfig because a cluster could set up 
> one server and then add more later.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to