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