You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2012/11/23 05:50:23 UTC

svn commit: r1412750 - in /hive/branches/branch-0.9/metastore/src: java/org/apache/hadoop/hive/metastore/ java/org/apache/hadoop/hive/metastore/events/ test/org/apache/hadoop/hive/metastore/

Author: hashutosh
Date: Fri Nov 23 04:50:22 2012
New Revision: 1412750

URL: http://svn.apache.org/viewvc?rev=1412750&view=rev
Log:
HIVE-3680 : Include Table information in Hive's AddPartitionEvent. (Mithun RadhaKrishnan via Ashutosh Chauhan)

Modified:
    hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
    hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/AddPartitionEvent.java
    hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/DropPartitionEvent.java
    hive/branches/branch-0.9/metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java

Modified: hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java?rev=1412750&r1=1412749&r2=1412750&view=diff
==============================================================================
--- hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java (original)
+++ hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java Fri Nov 23 04:50:22 2012
@@ -1195,6 +1195,7 @@ public class HiveMetaStore extends Thrif
         throws InvalidObjectException, AlreadyExistsException, MetaException {
       boolean success = false, madeDir = false;
       Path partLocation = null;
+      Table tbl = null;
       try {
         try {
           for(MetaStorePreEventListener listener : preListeners){
@@ -1217,7 +1218,7 @@ public class HiveMetaStore extends Thrif
         if (old_part != null) {
           throw new AlreadyExistsException("Partition already exists:" + part);
         }
-        Table tbl = ms.getTable(part.getDbName(), part.getTableName());
+        tbl = ms.getTable(part.getDbName(), part.getTableName());
         if (tbl == null) {
           throw new InvalidObjectException(
               "Unable to add partition because table or database do not exist");
@@ -1294,7 +1295,7 @@ public class HiveMetaStore extends Thrif
           }
         }
         for (MetaStoreEventListener listener : listeners) {
-          listener.onAddPartition(new AddPartitionEvent(part, success, this));
+          listener.onAddPartition(new AddPartitionEvent(tbl, part, success, this));
         }
       }
       Map<Partition, Boolean> returnVal = new HashMap<Partition, Boolean>();
@@ -1402,7 +1403,7 @@ public class HiveMetaStore extends Thrif
           }
         }
         for (MetaStoreEventListener listener : listeners) {
-          listener.onDropPartition(new DropPartitionEvent(part, success, this));
+          listener.onDropPartition(new DropPartitionEvent(tbl, part, success, this));
         }
       }
       return true;

Modified: hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/AddPartitionEvent.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/AddPartitionEvent.java?rev=1412750&r1=1412749&r2=1412750&view=diff
==============================================================================
--- hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/AddPartitionEvent.java (original)
+++ hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/AddPartitionEvent.java Fri Nov 23 04:50:22 2012
@@ -20,14 +20,17 @@ package org.apache.hadoop.hive.metastore
 
 import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler;
 import org.apache.hadoop.hive.metastore.api.Partition;
+import org.apache.hadoop.hive.metastore.api.Table;
 
 public class AddPartitionEvent extends ListenerEvent {
 
+  private final Table table;
   private final Partition partition;
 
-  public AddPartitionEvent (Partition partition, boolean status, HMSHandler handler) {
+  public AddPartitionEvent (Table table, Partition partition, boolean status, HMSHandler handler) {
 
     super (status, handler);
+    this.table = table;
     this.partition = partition;
   }
 
@@ -37,4 +40,11 @@ public class AddPartitionEvent extends L
   public Partition getPartition() {
     return partition;
   }
+
+  /**
+   * @return the table
+   */
+  public Table getTable() {
+    return table;
+  }
 }
\ No newline at end of file

Modified: hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/DropPartitionEvent.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/DropPartitionEvent.java?rev=1412750&r1=1412749&r2=1412750&view=diff
==============================================================================
--- hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/DropPartitionEvent.java (original)
+++ hive/branches/branch-0.9/metastore/src/java/org/apache/hadoop/hive/metastore/events/DropPartitionEvent.java Fri Nov 23 04:50:22 2012
@@ -20,14 +20,17 @@ package org.apache.hadoop.hive.metastore
 
 import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler;
 import org.apache.hadoop.hive.metastore.api.Partition;
+import org.apache.hadoop.hive.metastore.api.Table;
 
 public class DropPartitionEvent extends ListenerEvent {
 
+  private final Table table;
   private final Partition partition;
 
-  public DropPartitionEvent (Partition partition, boolean status, HMSHandler handler) {
+  public DropPartitionEvent (Table table, Partition partition, boolean status, HMSHandler handler) {
 
     super (status, handler);
+    this.table = table;
     this.partition = partition;
   }
 
@@ -38,4 +41,11 @@ public class DropPartitionEvent extends 
 
     return partition;
   }
+
+  /**
+   * @return the table
+   */
+  public Table getTable() {
+    return table;
+  }
 }

Modified: hive/branches/branch-0.9/metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.9/metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java?rev=1412750&r1=1412749&r2=1412750&view=diff
==============================================================================
--- hive/branches/branch-0.9/metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java (original)
+++ hive/branches/branch-0.9/metastore/src/test/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java Fri Nov 23 04:50:22 2012
@@ -125,6 +125,10 @@ public class TestMetaStoreEventListener 
     assertEquals(expectedPartition, actualPartition);
   }
 
+  private void validateTableInAddPartition(Table expectedTable, Table actualTable) {
+    assertEquals(expectedTable, actualTable);
+  }
+
   private void validatePartition(Partition expectedPartition, Partition actualPartition) {
     assertEquals(expectedPartition.getValues(), actualPartition.getValues());
     assertEquals(expectedPartition.getDbName(), actualPartition.getDbName());
@@ -167,6 +171,10 @@ public class TestMetaStoreEventListener 
     validatePartition(expectedPartition, actualPartition);
   }
 
+  private void validateTableInDropPartition(Table expectedTable, Table actualTable) {
+    validateTable(expectedTable, actualTable);
+  }
+
   private void validateDropTable(Table expectedTable, Table actualTable) {
     validateTable(expectedTable, actualTable);
   }
@@ -222,6 +230,7 @@ public class TestMetaStoreEventListener 
     AddPartitionEvent partEvent = (AddPartitionEvent)(notifyList.get(listSize-1));
     assert partEvent.getStatus();
     validateAddPartition(part, partEvent.getPartition());
+    validateTableInAddPartition(tbl, partEvent.getTable());
 
     PreAddPartitionEvent prePartEvent = (PreAddPartitionEvent)(preNotifyList.get(listSize-1));
     validateAddPartition(part, prePartEvent.getPartition());
@@ -308,6 +317,7 @@ public class TestMetaStoreEventListener 
     DropPartitionEvent dropPart = (DropPartitionEvent)notifyList.get(listSize - 1);
     assert dropPart.getStatus();
     validateDropPartition(part, dropPart.getPartition());
+    validateTableInDropPartition(tbl, dropPart.getTable());
 
     PreDropPartitionEvent preDropPart = (PreDropPartitionEvent)preNotifyList.get(listSize - 1);
     validateDropPartition(part, preDropPart.getPartition());