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

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

    Description: 
The current problem is that it goes to standalone mode if there is only one 
server in ensemble description.
{code}
server.1=xxx
{code}
This 
[chechttps://github.com/apache/zookeeper/blob/4bb76bd22916de8dcfe0c40f649d02d61737e871/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java#L403]
 will throw an exception: 
{code}
   } else if (numParticipators == 1 && standaloneEnabled) {
            // HBase currently adds a single server line to the config, for
            // b/w compatibility reasons we need to keep this here. If 
standaloneEnabled
            // is true, the QuorumPeerMain script will create a standalone 
server instead
            // of a quorum configuration
            LOG.error("Invalid configuration, only one server specified 
(ignoring)");
            if (numObservers > 0) {
                throw new IllegalArgumentException("Observers w/o quorum is an 
invalid configuration");
            }
        }
{code}

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.

  was:
The current problem is that it goes to standalone mode if there is only one 
server in dynamic file.
I understand that it's necessary to keep standalone mode for backward 
compatibility. But since dynamic file was introduced in 3.5 it shouldn't jump 
to standalone mode in this case.

Something like this 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.

I was trying to require a client port in ZooKeeper-1992. While I am not sure if 
this is a good choice, it definitely help check out some assumptions made 
before.

I will leave this thread for discussion and propose to disable standalone mode 
on booting up from dynamic file.


> disable standalone mode if there is dynamic file
> ------------------------------------------------
>
>                 Key: ZOOKEEPER-1997
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1997
>             Project: ZooKeeper
>          Issue Type: Bug
>            Reporter: Hongchao Deng
>
> The current problem is that it goes to standalone mode if there is only one 
> server in ensemble description.
> {code}
> server.1=xxx
> {code}
> This 
> [chechttps://github.com/apache/zookeeper/blob/4bb76bd22916de8dcfe0c40f649d02d61737e871/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java#L403]
>  will throw an exception: 
> {code}
>    } else if (numParticipators == 1 && standaloneEnabled) {
>             // HBase currently adds a single server line to the config, for
>             // b/w compatibility reasons we need to keep this here. If 
> standaloneEnabled
>             // is true, the QuorumPeerMain script will create a standalone 
> server instead
>             // of a quorum configuration
>             LOG.error("Invalid configuration, only one server specified 
> (ignoring)");
>             if (numObservers > 0) {
>                 throw new IllegalArgumentException("Observers w/o quorum is 
> an invalid configuration");
>             }
>         }
> {code}
> 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 message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to