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

Raul Gutierrez Segales commented on ZOOKEEPER-2171:
---------------------------------------------------

Yeah, so git grep says:

{noformat}
src/java/main/org/apache/zookeeper/ClientCnxn.java:                    "(" + 
addr.getHostName() + ":" + addr.getPort() + ")"));
src/java/main/org/apache/zookeeper/ClientCnxn.java:                             
   principalUserName+"/"+addr.getHostName());
src/java/main/org/apache/zookeeper/ClientCnxn.java:                sock = new 
Socket(addr.getHostName(), addr.getPort());
src/java/main/org/apache/zookeeper/ClientCnxn.java:                        + 
addr.getHostName() + ":" + addr.getPort());
src/java/main/org/apache/zookeeper/client/StaticHostProvider.java:              
                               address.getHostName();
src/java/main/org/apache/zookeeper/client/StaticHostProvider.java:              
              .getHostName().equals(myServer.getHostName()))) {
src/java/main/org/apache/zookeeper/client/ZooKeeperSaslClient.java:             
   final String serviceHostname = serviceKerberosName.getHostName();
src/java/main/org/apache/zookeeper/common/HostNameUtils.java:               
socketAddress.getHostName();
src/java/main/org/apache/zookeeper/server/auth/KerberosName.java:  public 
String getHostName() {
src/java/main/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.java:  
              userNameBuilder.append("/").append(kerberosName.getHostN
src/java/main/org/apache/zookeeper/server/auth/SaslServerCallbackHandler.java:  
      return !isSystemPropertyTrue(SYSPROP_REMOVE_HOST) && kerberosNam
src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java:         
   String addr = self.getElectionAddress().getHostName() + ":" + self.
src/java/main/org/apache/zookeeper/server/quorum/RemotePeerBean.java:        
return peer.addr.getHostName()+":"+peer.addr.getPort();
src/java/main/org/apache/zookeeper/server/util/ConfigUtils.java:             
sb.append(qs.clientAddr.getHostName() + ":" + qs.clientAddr.getPort());
src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java:      
      String report = clientAddr.getHostName() + ':' + clientAddr.getP
src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java:      
      ',' + quorumLeaderAddr.getHostName() + ':' + quorumLeaderAddr.ge
src/java/test/org/apache/zookeeper/test/CnxManagerTest.java:        String addr 
= otherAddr.getHostName()+ ":" + otherAddr.getPort();
src/java/test/org/apache/zookeeper/test/ConnectStringParserTest.java:        
Assert.assertEquals("10.10.10.1", parser.getServerAddresses().get(0).getH
src/java/test/org/apache/zookeeper/test/ConnectStringParserTest.java:        
Assert.assertEquals("10.10.10.2", parser.getServerAddresses().get(1).getH
src/java/test/org/apache/zookeeper/test/ConnectStringParserTest.java:        
Assert.assertEquals("10.10.10.1", parser.getServerAddresses().get(0).getH
src/java/test/org/apache/zookeeper/test/ConnectStringParserTest.java:        
Assert.assertEquals("10.10.10.2", parser.getServerAddresses().get(1).getH
src/java/test/org/apache/zookeeper/test/ReconfigTest.java:      
Assert.assertEquals(qs.clientAddr.getHostName(), "0.0.0.0");
src/java/test/org/apache/zookeeper/test/ReconfigTest.java:                      
  qs.addr.getHostName() + ":"
src/java/test/org/apache/zookeeper/test/StaticHostProviderTest.java:            
String hostname = next.getHostName();
src/recipes/election/src/java/org/apache/zookeeper/recipes/leader/LeaderElectionSupport.java:
      return leaderOffers.get(0).getHostName();
src/recipes/election/src/java/org/apache/zookeeper/recipes/leader/LeaderElectionSupport.java:
  public String getHostName() {
src/recipes/election/src/java/org/apache/zookeeper/recipes/leader/LeaderOffer.java:
  public String getHostName() {
{noformat}

Though I think it's only in the QCM where it's specially annoying, because a 
failed DNS lookup could prevent a peer from joining the cluster after a 
partitioning. I feel less strong about the other cases, though we could change 
them in the same patch too.


> avoid reverse lookups in QuorumCnxManager
> -----------------------------------------
>
>                 Key: ZOOKEEPER-2171
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2171
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum
>            Reporter: Raul Gutierrez Segales
>            Assignee: Raul Gutierrez Segales
>             Fix For: 3.5.1, 3.6.0
>
>
> Apparently, ZOOKEEPER-107 (via a quick git-blame look) introduced a bunch of 
> getHostName() calls in QCM. Besides the overhead, these can cause problems 
> when mixed with failing/mis-configured DNS servers.
> It would be nice to reduce them, if that doesn't affect operational 
> correctness. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to