You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by vi...@apache.org on 2017/10/12 15:18:35 UTC
hive git commit: HIVE-17747 : HMS DropTableMessage should include the
full table object (Dan Burkert, reviewed by Vihang Karajgaonkar)
Repository: hive
Updated Branches:
refs/heads/master b3122da53 -> 697922bdc
HIVE-17747 : HMS DropTableMessage should include the full table object (Dan Burkert, reviewed by Vihang Karajgaonkar)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/697922bd
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/697922bd
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/697922bd
Branch: refs/heads/master
Commit: 697922bdc2fb0ec472ae413af0cdd69c2aa8681c
Parents: b3122da
Author: Vihang Karajgaonkar <vi...@cloudera.com>
Authored: Thu Oct 12 08:08:28 2017 -0700
Committer: Vihang Karajgaonkar <vi...@cloudera.com>
Committed: Thu Oct 12 08:08:38 2017 -0700
----------------------------------------------------------------------
.../listener/TestDbNotificationListener.java | 6 ++++++
.../metastore/messaging/DropTableMessage.java | 4 ++++
.../messaging/json/JSONDropTableMessage.java | 21 +++++++++++++++++++-
.../messaging/json/JSONMessageFactory.java | 3 +--
4 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/697922bd/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
----------------------------------------------------------------------
diff --git a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
index c36b632..308ab0d 100644
--- a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
+++ b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java
@@ -519,6 +519,12 @@ public class TestDbNotificationListener {
assertEquals(defaultDbName, dropTblMsg.getDB());
assertEquals(tblName, dropTblMsg.getTable());
assertEquals(TableType.MANAGED_TABLE.toString(), dropTblMsg.getTableType());
+ Table tableObj = dropTblMsg.getTableObj();
+ assertEquals(table.getDbName(), tableObj.getDbName());
+ assertEquals(table.getTableName(), tableObj.getTableName());
+ assertEquals(table.getOwner(), tableObj.getOwner());
+ assertEquals(table.getParameters(), tableObj.getParameters());
+ assertEquals(TableType.MANAGED_TABLE.toString(), tableObj.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.DROP_TABLE, firstEventId + 2);
http://git-wip-us.apache.org/repos/asf/hive/blob/697922bd/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropTableMessage.java
index 03f73f1..7aed21b 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropTableMessage.java
@@ -19,6 +19,8 @@
package org.apache.hadoop.hive.metastore.messaging;
+import org.apache.hadoop.hive.metastore.api.Table;
+
public abstract class DropTableMessage extends EventMessage {
protected DropTableMessage() {
@@ -33,6 +35,8 @@ public abstract class DropTableMessage extends EventMessage {
public abstract String getTableType();
+ public abstract Table getTableObj() throws Exception;
+
@Override
public EventMessage checkValid() {
if (getTable() == null)
http://git-wip-us.apache.org/repos/asf/hive/blob/697922bd/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
index 17f38ba..4334f73 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropTableMessage.java
@@ -19,7 +19,9 @@
package org.apache.hadoop.hive.metastore.messaging.json;
+import org.apache.hadoop.hive.metastore.api.Table;
import org.apache.hadoop.hive.metastore.messaging.DropTableMessage;
+import org.apache.thrift.TException;
import org.codehaus.jackson.annotate.JsonProperty;
/**
@@ -28,7 +30,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class JSONDropTableMessage extends DropTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableType;
+ String server, servicePrincipal, db, table, tableType, tableObjJson;
@JsonProperty
Long timestamp;
@@ -55,6 +57,18 @@ public class JSONDropTableMessage extends DropTableMessage {
checkValid();
}
+ public JSONDropTableMessage(String server, String servicePrincipal, Table tableObj,
+ Long timestamp) {
+ this(server, servicePrincipal, tableObj.getDbName(), tableObj.getTableName(),
+ tableObj.getTableType(), timestamp);
+ try {
+ this.tableObjJson = JSONMessageFactory.createTableObjJson(tableObj);
+ } catch (TException e) {
+ throw new IllegalArgumentException("Could not serialize: ", e);
+ }
+ checkValid();
+ }
+
@Override
public String getTable() {
return table;
@@ -66,6 +80,11 @@ public class JSONDropTableMessage extends DropTableMessage {
}
@Override
+ public Table getTableObj() throws Exception {
+ return (Table) JSONMessageFactory.getTObj(tableObjJson,Table.class);
+ }
+
+ @Override
public String getServer() {
return server;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/697922bd/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
index f53b14b..c7877ee 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageFactory.java
@@ -118,8 +118,7 @@ public class JSONMessageFactory extends MessageFactory {
@Override
public DropTableMessage buildDropTableMessage(Table table) {
- return new JSONDropTableMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, table.getDbName(),
- table.getTableName(), table.getTableType(), now());
+ return new JSONDropTableMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, table, now());
}
@Override