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

Ted Yu commented on HBASE-6907:
-------------------------------

Integrated to trunk.

Thanks for the review, Stack and Matt.
                
> KeyValue equals and compareTo methods should match
> --------------------------------------------------
>
>                 Key: HBASE-6907
>                 URL: https://issues.apache.org/jira/browse/HBASE-6907
>             Project: HBase
>          Issue Type: Bug
>          Components: util
>            Reporter: Matt Corgan
>            Assignee: Ted Yu
>             Fix For: 0.96.0
>
>         Attachments: 6907-v1.txt, 6907-v2.txt, 6907-v3.txt, 6907-v4.txt, 
> 6907-v5.txt
>
>
> KeyValue.KVComparator includes the memstoreTS when comparing, however the 
> KeyValue.equals() method ignores the memstoreTS.
> The Comparator interface has always specified that comparator return 0 when 
> equals would return true and vice versa.  Obeying that rule has been sort of 
> optional in the past, but Java 7 introduces a new default collection sorting 
> algorithm called Tim Sort which relies on that behavior.  
> http://bugs.sun.com/view_bug.do?bug_id=6804124
> Possible problem spots:
> * there's a Collections.sort(KeyValues) in 
> RedundantKVGenerator.generateTestKeyValues(..)
> * TestColumnSeeking compares two collections of KeyValues using the 
> containsAll method.  It is intentionally ignoring memstoreTS, so will need an 
> alternative method for comparing the two collections.

--
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