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

Ted Yu commented on HBASE-7579:
-------------------------------

{code}
+    if(this.name == null && o.getName()!=null) {
+      return 1;
     }
-    return result;
+    
+    if(this.name != null && o.getName()==null) {
+      return 1;
{code}
I think -1 should be returned in the first if statement.

For the changes in HTableDescriptor, looks like they were based on an earlier 
patch.
{code}
-      //HashSet for O(1) evaluation
-      HashSet<HColumnDescriptor>  otherFamiliesAsHashSet = new 
HashSet<HColumnDescriptor>(other.families.values());
{code}
                
> HTableDescriptor equals method fails if results are returned in a different 
> order
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-7579
>                 URL: https://issues.apache.org/jira/browse/HBASE-7579
>             Project: HBase
>          Issue Type: Bug
>          Components: Admin
>            Reporter: Aleksandr Shulman
>            Assignee: Aleksandr Shulman
>            Priority: Minor
>             Fix For: 0.96.0, 0.94.5
>
>         Attachments: HBASE-7579-v1.patch, HBASE-7579-v2.patch
>
>
> HTableDescriptor's compareTo function compares a set of HColumnDescriptors 
> against another set of HColumnDescriptors. It iterates through both, relying 
> on the fact that they will be in the same order.
> In my testing, I may have seen this issue come up, so I decided to fix it.
> It's a straightforward fix. I convert the sets into a hashset for O(1) 
> lookups (at least in theory), then I check that all items in the first set 
> are found in the second.
> Since the sizes are the same, we know that if all elements showed up in the 
> second set, then they must be equal.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to