You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ek...@apache.org on 2018/04/16 16:55:23 UTC
hive git commit: HIVE-16144 - CompactionInfo doesn't have
equals/hashCode but used in Set (Igor Kryvenko via Eugene Koifman)
Repository: hive
Updated Branches:
refs/heads/master c46c4c90f -> 996db32ba
HIVE-16144 - CompactionInfo doesn't have equals/hashCode but used in Set (Igor Kryvenko via Eugene Koifman)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/996db32b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/996db32b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/996db32b
Branch: refs/heads/master
Commit: 996db32ba31c030b26c059ef575cb3d5b68ab1b3
Parents: c46c4c9
Author: Eugene Koifman <ek...@apache.org>
Authored: Mon Apr 16 09:54:41 2018 -0700
Committer: Eugene Koifman <ek...@apache.org>
Committed: Mon Apr 16 09:55:11 2018 -0700
----------------------------------------------------------------------
.../hive/ql/txn/compactor/TestCompactor.java | 18 ++++++++++++++++++
.../hive/metastore/txn/CompactionInfo.java | 19 +++++++++++++++++++
2 files changed, 37 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/996db32b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
index b19aa23..82ba775 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java
@@ -1311,6 +1311,24 @@ public class TestCompactor {
3141, orcReader.getCompressionSize());
}
+ @Test
+ public void testCompactionInfoEquals() {
+ CompactionInfo compactionInfo = new CompactionInfo("dbName", "tableName", "partName", CompactionType.MINOR);
+ CompactionInfo compactionInfo1 = new CompactionInfo("dbName", "tableName", "partName", CompactionType.MINOR);
+ Assert.assertTrue("The object must be equal", compactionInfo.equals(compactionInfo));
+
+ Assert.assertFalse("The object must be not equal", compactionInfo.equals(new Object()));
+ Assert.assertTrue("The object must be equal", compactionInfo.equals(compactionInfo1));
+ }
+
+ @Test
+ public void testCompactionInfoHashCode() {
+ CompactionInfo compactionInfo = new CompactionInfo("dbName", "tableName", "partName", CompactionType.MINOR);
+ CompactionInfo compactionInfo1 = new CompactionInfo("dbName", "tableName", "partName", CompactionType.MINOR);
+
+ Assert.assertEquals("The hash codes must be equal", compactionInfo.hashCode(), compactionInfo1.hashCode());
+ }
+
private void writeBatch(StreamingConnection connection, DelimitedInputWriter writer,
boolean closeEarly)
throws InterruptedException, StreamingException {
http://git-wip-us.apache.org/repos/asf/hive/blob/996db32b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionInfo.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionInfo.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionInfo.java
index b74f69d..b34b7d7 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionInfo.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionInfo.java
@@ -110,6 +110,25 @@ public class CompactionInfo implements Comparable<CompactionInfo> {
"highestWriteId:" + highestWriteId;
}
+ @Override
+ public int hashCode() {
+ int result = 17;
+ result = 31 * result + this.getFullPartitionName().hashCode();
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof CompactionInfo)) {
+ return false;
+ }
+ CompactionInfo info = (CompactionInfo) obj;
+ return this.compareTo(info) == 0;
+ }
+
/**
* loads object from a row in Select * from COMPACTION_QUEUE
* @param rs ResultSet after call to rs.next()