zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2784) Add some limitations on code level for `SID` to avoid configuration problem
Date Fri, 19 May 2017 17:37:04 GMT

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

ASF GitHub Bot commented on ZOOKEEPER-2784:
-------------------------------------------

Github user eribeiro commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/257#discussion_r117407300
  
    --- Diff: src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java ---
    @@ -657,9 +663,12 @@ public void run() {
                             LOG.error("Error closing server socket", ie);
                         } catch (InterruptedException ie) {
                             LOG.error("Interrupted while sleeping. " +
    -                            "Ignoring exception", ie);
    +                                "Ignoring exception", ie);
                         }
                         closeSocket(client);
    +                } catch (ConfigException e) {
    +                    LOG.error(e.getMessage());
    +                    ce = e;
    --- End diff --
    
    :+1: BUT you need to call `closeSocket(client);` here too. See line 668. ;) It is the
ServerSocket and Socket we need to close in case of error. I know we close the socket previously
before throwing the exception, but `Socket#close()` is idempotent so, I would advise to put
it here too. In fact, we could remove line 668 and add a `finally` block with the  `closeSocket(client);`
after line 672.
    
    **Most important!** The latest change doesn't break the while loop so it only leave after
reaching the maximum number of retries or shutdown is called (I bet the first). We should
include a `break;` at line 672. ;)



> Add some limitations on code level for `SID` to avoid configuration problem
> ---------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2784
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2784
>             Project: ZooKeeper
>          Issue Type: Improvement
>          Components: quorum
>    Affects Versions: 3.5.2
>            Reporter: Benedict Jin
>             Fix For: 3.6.0
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> As so far, `QuorumCnxManager#receiveConnection` cannot find out the same `SID` problem,
then the Zookeeper cluster will start successfully. But the cluster is not health, and it
will throw some problem like `not synchronized`. So, i thought we should add some limitations
on code level for `SID` to find those configuration problem more early.



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

Mime
View raw message