[jboss-jira] [JBoss JIRA] Commented: (JGRP-591) IpAddress.hashCode() not unique per ip/port

robert chou (JIRA) jira-events at lists.jboss.org
Tue Sep 11 03:02:11 EDT 2007


    [ http://jira.jboss.com/jira/browse/JGRP-591?page=comments#action_12376159 ] 
            
robert chou commented on JGRP-591:
----------------------------------

I use it in hashmaps and in prefuse to model the member relationships visually (hashcode is the key).  I run multiple jgroup instances per machine and on consecutive ip address range and so collision happens sometimes causing graph to be wrong.  I'm currently working around it using "address.toString().hashCode()".

thanks,
rob

> IpAddress.hashCode() not unique per ip/port
> -------------------------------------------
>
>                 Key: JGRP-591
>                 URL: http://jira.jboss.com/jira/browse/JGRP-591
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 2.4.1 SP4
>         Environment: windows xp sp2, jdk 1.6 update 2
>            Reporter: robert chou
>         Assigned To: Bela Ban
>             Fix For: 2.6, 2.5.1, 2.4.1 SP5
>
>
> Current implementation produces hashcode where ip/port combos "1.2.3.4:2" and "1.2.3.5:1" result in the same hash code.
> Existing code:
>     public final int hashCode() {
>         return ip_addr != null ? ip_addr.hashCode() + port : port;
>     }
> Manual test code:
>          InetAddress ip1 = InetAddress.getByAddress( new byte[] {1,2,3,4} );
>          int         port1 = 2;
>          int         hash1 = ip1.hashCode() + port1;
>          System.out.println( "hash1 = " + hash1 );
>          
>          InetAddress ip2 = InetAddress.getByAddress( new byte[] {1,2,3,5} );
>          int         port2 = 1;
>          int         hash2 = ip2.hashCode() + port2;
>          System.out.println( "hash2 = " + hash2 );

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list