[jira] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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
[jira] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13558927#comment-13558927 ] Hudson commented on HBASE-6907: --- Integrated in HBase-TRUNK #3773 (See [https://builds.apache.org/job/HBase-TRUNK/3773/]) HBASE-6907 KeyValue equals and compareTo methods should match (Ted Yu) (Revision 1436434) Result = FAILURE tedyu : Files : * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13559251#comment-13559251 ] Hudson commented on HBASE-6907: --- Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #365 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/365/]) HBASE-6907 KeyValue equals and compareTo methods should match (Ted Yu) (Revision 1436434) Result = FAILURE tedyu : Files : * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueTestUtil.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557344#comment-13557344 ] stack commented on HBASE-6907: -- Is it involved? Is it not just adding mvcc to equals? (Pardon if I missing sufficient context?) If we are going to change it, now is time to do it? 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557441#comment-13557441 ] Devaraj Das commented on HBASE-6907: I haven't done deep analysis of the impact of the change. But from the description of the jira it seems like this change would affect some parts of code... Will spend some more time and go deeper.. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557580#comment-13557580 ] Hadoop QA commented on HBASE-6907: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12565542/6907-v3.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 9 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.regionserver.TestHRegionBusyWait org.apache.hadoop.hbase.regionserver.TestHRegion org.apache.hadoop.hbase.TestLocalHBaseCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4091//console This message is automatically generated. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557641#comment-13557641 ] Hadoop QA commented on HBASE-6907: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12565552/6907-v4.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 9 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 findbugs{color}. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.TestLocalHBaseCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4093//console This message is automatically generated. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557657#comment-13557657 ] Matt Corgan commented on HBASE-6907: hmm - not sure I'd add a method to the Cell interface for this. There could be dozens of permutations like this that we don't want in the interface. Better to call {code}CellComparator.equalsIgnoreMvccVersion(a, b){code} rather than {code}a.equalsIgnoreMvccVersion(b){code} would that work, or was there a specific reason for adding to the interface? 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557730#comment-13557730 ] stack commented on HBASE-6907: -- +1 I tried to reason what would happen if we went in the other direction, ignoring mvcc and I could only see issues -- possibly returning older Cells. If it happens we need to compare minus mvcc, lets make a comparator that does that for those cases. I think this more strict equality check is what we want, or at least, lets try it. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557744#comment-13557744 ] Hadoop QA commented on HBASE-6907: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12565568/6907-v5.txt against trunk revision . {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 9 new or modified tests. {color:green}+1 hadoop2.0{color}. The patch compiles against the hadoop 2.0 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.util.TestHBaseFsck org.apache.hadoop.hbase.TestLocalHBaseCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4096//console This message is automatically generated. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13557750#comment-13557750 ] Ted Yu commented on HBASE-6907: --- TestHBaseFsck passes locally with patch: {code} Running org.apache.hadoop.hbase.util.TestHBaseFsck 2013-01-18 15:25:12.371 java[73739:1703] Unable to load realm info from SCDynamicStore Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 200.426 sec {code} [~mcorgan]: Do you want to take another look ? 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13556810#comment-13556810 ] Devaraj Das commented on HBASE-6907: Is this a critical issue. Since we have been living with this issue for so long, and there are no test failures even with Java-7, thinking.. Also the fix may be involved.. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13556820#comment-13556820 ] Matt Corgan commented on HBASE-6907: No, not critical. I just filed it because I figured our most central class should obey it, and it's likely to rear its head at some point. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13540583#comment-13540583 ] Matt Corgan commented on HBASE-6907: We decided to call it mvccVersion in the Cell interface and deprecate the memstoreTS name. 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] [Commented] (HBASE-6907) KeyValue equals and compareTo methods should match
[ https://issues.apache.org/jira/browse/HBASE-6907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13540212#comment-13540212 ] Ted Yu commented on HBASE-6907: --- Over in https://reviews.apache.org/r/7591 (for HBASE-4676), memstoreTS is named MvccVersion 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