[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2012-10-01 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Priority: Critical  (was: Major)

> 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
>Priority: Critical
> Fix For: 0.96.0
>
>
> 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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-17 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Priority: Major  (was: Critical)

I agree this is not critical for 0.96.

> 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
> Fix For: 0.96.0
>
>
> 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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Attachment: 6907-v1.txt

First attempt at this issue.

TestColumnSeeking passes.

> 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
> Fix For: 0.96.0
>
> Attachments: 6907-v1.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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Status: Patch Available  (was: Open)

Let Hadoop QA tell us what large tests fail.

> 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
> Fix For: 0.96.0
>
> Attachments: 6907-v1.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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Attachment: 6907-v2.txt

Patch v2 fixes failures in TestHRegion

Please comment whether this is in the right direction.

> 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
> Fix For: 0.96.0
>
> Attachments: 6907-v1.txt, 6907-v2.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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Attachment: 6907-v3.txt

Patch v3 should have fixed all medium tests.

> 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
> Fix For: 0.96.0
>
> Attachments: 6907-v1.txt, 6907-v2.txt, 6907-v3.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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Attachment: 6907-v4.txt

Patch v4 makes TestHRegionBusyWait and TestHRegion pass

> 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
> Fix For: 0.96.0
>
> Attachments: 6907-v1.txt, 6907-v2.txt, 6907-v3.txt, 6907-v4.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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Attachment: 6907-v5.txt

Patch v5 addresses Matt's comment.

The original intention of modifying Cell interface was that there might be 
change(s) required in core.

Now that we see the changes are limited mostly to the tests, there is no need 
for such modification.

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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-18 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

Assignee: Ted Yu
Release Note: 
KeyValue.equals() method used to ignore the memstoreTS.
Now KeyValue.equals() takes memstoreTS into account and is aligned with 
KeyValue.KVComparator in behavior


> 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


[jira] [Updated] (HBASE-6907) KeyValue equals and compareTo methods should match

2013-01-21 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-6907:
--

  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

> 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