[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