[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


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

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