You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2011/03/15 06:30:29 UTC

[jira] Commented: (HBASE-3644) HServerAddress Violates Equivalence Relations

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

stack commented on HBASE-3644:
------------------------------

Does it help that HBASE-1502 is trying to strip out HServerAddress N?  Its adding in a new ServerName instead, a carrier for the String hostname, the int port, and the long startcode.  No DNS in the mix.  HBASE-1502 is about removing heartbeats but along the way deprecating HSA and HServerInfo.

> HServerAddress Violates Equivalence Relations
> ---------------------------------------------
>
>                 Key: HBASE-3644
>                 URL: https://issues.apache.org/jira/browse/HBASE-3644
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.2, 0.92.0
>            Reporter: Nicolas Spiegelberg
>            Assignee: Nicolas Spiegelberg
>             Fix For: 0.90.2, 0.92.0
>
>
> See HBASE-3387 or http://www.ibm.com/developerworks/java/library/j-jtp05273.html#N10184 .  Basically, 'a' denotes HServerAddress(DNS) & 'b' denotes HServerAddress(nslookup(DNS)).  This is extremely common within HBase when 'conf/regionserver' contains DNS entries because ClusterStatus.getServers() is IP-based. You have a.address.equals(b.address) && !a.stringValue.equals(b.stringValue).  In this case, a.equals(b) while a.hashCode() != b.hashCode().  

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira