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/07/31 19:55:18 UTC
hive git commit: HIVE-16759 : Add table type information to HMS log
notifications (Janaki Lahorani,
reviewed by Sergio Pena and Vihang Karajgaonkar)
Repository: hive
Updated Branches:
refs/heads/branch-2 8aca411ad -> 7530ff5c4
HIVE-16759 : Add table type information to HMS log notifications (Janaki Lahorani, reviewed by Sergio Pena and Vihang Karajgaonkar)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/7530ff5c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/7530ff5c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/7530ff5c
Branch: refs/heads/branch-2
Commit: 7530ff5c46f9e3e082c1896427737474fb2e9c17
Parents: 8aca411
Author: Janaki Lahorani <ja...@cloudera.com>
Authored: Mon Jul 31 12:48:28 2017 -0700
Committer: Vihang Karajgaonkar <vi...@cloudera.com>
Committed: Mon Jul 31 12:48:33 2017 -0700
----------------------------------------------------------------------
.../listener/DbNotificationListener.java | 7 ++---
.../hcatalog/messaging/AddPartitionMessage.java | 2 ++
.../messaging/AlterPartitionMessage.java | 2 ++
.../hcatalog/messaging/AlterTableMessage.java | 1 +
.../hcatalog/messaging/CreateTableMessage.java | 2 ++
.../messaging/DropPartitionMessage.java | 1 +
.../hcatalog/messaging/DropTableMessage.java | 1 +
.../hive/hcatalog/messaging/InsertMessage.java | 1 +
.../hive/hcatalog/messaging/MessageFactory.java | 12 +++++++++
.../messaging/json/JSONAddPartitionMessage.java | 15 +++++++++--
.../json/JSONAlterPartitionMessage.java | 19 +++++++++++--
.../messaging/json/JSONAlterTableMessage.java | 18 +++++++++++--
.../messaging/json/JSONCreateTableMessage.java | 16 +++++++++--
.../json/JSONDropPartitionMessage.java | 15 +++++++++--
.../messaging/json/JSONDropTableMessage.java | 11 ++++++--
.../messaging/json/JSONInsertMessage.java | 14 +++++++++-
.../messaging/json/JSONMessageFactory.java | 28 +++++++++++++-------
.../listener/TestNotificationListener.java | 7 +++++
.../api/TestHCatClientNotification.java | 5 ++++
.../listener/TestDbNotificationListener.java | 18 ++++++++++++-
.../hive/metastore/events/InsertEvent.java | 4 +++
.../messaging/AddPartitionMessage.java | 2 ++
.../messaging/AlterPartitionMessage.java | 2 ++
.../metastore/messaging/AlterTableMessage.java | 2 ++
.../metastore/messaging/CreateTableMessage.java | 2 ++
.../messaging/DropPartitionMessage.java | 2 ++
.../metastore/messaging/DropTableMessage.java | 2 ++
.../hive/metastore/messaging/InsertMessage.java | 2 ++
.../metastore/messaging/MessageFactory.java | 3 +++
.../messaging/json/JSONAddPartitionMessage.java | 8 +++++-
.../json/JSONAlterPartitionMessage.java | 8 +++++-
.../messaging/json/JSONAlterTableMessage.java | 8 +++++-
.../messaging/json/JSONCreateTableMessage.java | 18 ++++++++++---
.../json/JSONDropPartitionMessage.java | 15 +++++++++--
.../messaging/json/JSONDropTableMessage.java | 13 ++++++++-
.../messaging/json/JSONInsertMessage.java | 14 +++++++++-
.../messaging/json/JSONMessageFactory.java | 9 ++++++-
37 files changed, 272 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
index f08b970..41347c2 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java
@@ -439,9 +439,10 @@ public class DbNotificationListener extends MetaStoreEventListener {
@Override
public void onInsert(InsertEvent insertEvent) throws MetaException {
NotificationEvent event =
- new NotificationEvent(0, now(), EventType.INSERT.toString(), msgFactory.buildInsertMessage(
- insertEvent.getDb(), insertEvent.getTable(), insertEvent.getPartitionKeyValues(),
- new FileChksumIterator(insertEvent.getFiles(), insertEvent.getFileChecksums()))
+ new NotificationEvent(0, now(), EventType.INSERT.toString(),
+ msgFactory.buildInsertMessage(insertEvent.getDb(), insertEvent.getTable(),
+ insertEvent.getTableType(), insertEvent.getPartitionKeyValues(),
+ new FileChksumIterator(insertEvent.getFiles(), insertEvent.getFileChecksums()))
.toString());
event.setDbName(insertEvent.getDb());
event.setTableName(insertEvent.getTable());
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AddPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AddPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AddPartitionMessage.java
index 5b114b5..9dacbf6 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AddPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AddPartitionMessage.java
@@ -37,6 +37,8 @@ public abstract class AddPartitionMessage extends HCatEventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
/**
* Getter for list of partitions added.
* @return List of maps, where each map identifies values for each partition-key, for every added partition.
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterPartitionMessage.java
index 10a300d..8d9575e 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterPartitionMessage.java
@@ -31,6 +31,8 @@ public abstract class AlterPartitionMessage extends HCatEventMessage {
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Map<String,String> getKeyValues();
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterTableMessage.java
index 0b58f29..94f07cd 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/AlterTableMessage.java
@@ -28,6 +28,7 @@ public abstract class AlterTableMessage extends HCatEventMessage {
}
public abstract String getTable();
+ public abstract String getTableType();
@Override
public HCatEventMessage checkValid() {
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateTableMessage.java
index 6c8e2a4..6442340 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/CreateTableMessage.java
@@ -34,6 +34,8 @@ public abstract class CreateTableMessage extends HCatEventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
@Override
public HCatEventMessage checkValid() {
if (getTable() == null)
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropPartitionMessage.java
index ee222ec..d7b74f7 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropPartitionMessage.java
@@ -32,6 +32,7 @@ public abstract class DropPartitionMessage extends HCatEventMessage {
}
public abstract String getTable();
+ public abstract String getTableType();
public abstract List<Map<String, String>> getPartitions ();
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropTableMessage.java
index e47b572..345345e 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/DropTableMessage.java
@@ -33,6 +33,7 @@ public abstract class DropTableMessage extends HCatEventMessage {
* @return Table-name (String).
*/
public abstract String getTable();
+ public abstract String getTableType();
@Override
public HCatEventMessage checkValid() {
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/InsertMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/InsertMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/InsertMessage.java
index be7ea10..d2aae7b 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/InsertMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/InsertMessage.java
@@ -36,6 +36,7 @@ public abstract class InsertMessage extends HCatEventMessage {
* @return Table-name (String).
*/
public abstract String getTable();
+ public abstract String getTableType();
/**
* Get the map of partition keyvalues. Will be null if this insert is to a table and not a
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
index 44574fe..28026db 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/MessageFactory.java
@@ -211,4 +211,16 @@ public abstract class MessageFactory {
*/
public abstract InsertMessage buildInsertMessage(String db, String table,
Map<String,String> partVals, List<String> files);
+
+ /**
+ * Factory method for building insert message
+ * @param db Name of the database the insert occurred in
+ * @param table Table the insert occurred in
+ * @param partVals Partition values for the partition that the insert occurred in, may be null
+ * if the insert was done into a non-partitioned table
+ * @param files List of files created as a result of the insert, may be null.
+ * @return instance of InsertMessage
+ */
+ public abstract InsertMessage buildInsertMessage(String db, Table table,
+ Map<String,String> partVals, List<String> files);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
index ac7dcd9..5d201f4 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAddPartitionMessage.java
@@ -31,7 +31,7 @@ import java.util.Map;
public class JSONAddPartitionMessage extends AddPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -45,11 +45,17 @@ public class JSONAddPartitionMessage extends AddPartitionMessage {
public JSONAddPartitionMessage() {}
public JSONAddPartitionMessage(String server, String servicePrincipal, String db, String table,
- List<Map<String,String>> partitions, Long timestamp) {
+ List<Map<String,String>> partitions, Long timestamp) {
+ this(server, servicePrincipal, db, table, null, partitions, timestamp);
+ }
+
+ public JSONAddPartitionMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, List<Map<String,String>> partitions, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.partitions = partitions;
this.timestamp = timestamp;
checkValid();
@@ -68,6 +74,11 @@ public class JSONAddPartitionMessage extends AddPartitionMessage {
public String getTable() { return table; }
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Long getTimestamp() { return timestamp; }
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
index 4f1d104..7ae7d75 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterPartitionMessage.java
@@ -34,7 +34,7 @@ import java.util.Map;
public class JSONAlterPartitionMessage extends AlterPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -53,16 +53,26 @@ public class JSONAlterPartitionMessage extends AlterPartitionMessage {
String table,
Map<String,String> keyValues,
Long timestamp) {
+ this(server, servicePrincipal, db, table, null, keyValues, timestamp);
+ }
+
+ public JSONAlterPartitionMessage(String server,
+ String servicePrincipal,
+ String db,
+ String table,
+ String tableType,
+ Map<String,String> keyValues,
+ Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
this.keyValues = keyValues;
checkValid();
}
-
@Override
public String getServer() {
return server;
@@ -89,6 +99,11 @@ public class JSONAlterPartitionMessage extends AlterPartitionMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Map<String,String> getKeyValues() {
return keyValues;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
index b057d4a..f23aedf 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONAlterTableMessage.java
@@ -32,7 +32,7 @@ import java.util.List;
public class JSONAlterTableMessage extends AlterTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -47,15 +47,24 @@ public class JSONAlterTableMessage extends AlterTableMessage {
String db,
String table,
Long timestamp) {
+ this(server, servicePrincipal, db, table, null, timestamp);
+ }
+
+ public JSONAlterTableMessage(String server,
+ String servicePrincipal,
+ String db,
+ String table,
+ String tableType,
+ Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
checkValid();
}
-
@Override
public String getServer() {
return server;
@@ -82,6 +91,11 @@ public class JSONAlterTableMessage extends AlterTableMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String toString() {
try {
return JSONMessageDeserializer.mapper.writeValueAsString(this);
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
index 9c66730..327dc97 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONCreateTableMessage.java
@@ -28,7 +28,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class JSONCreateTableMessage extends CreateTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -38,11 +38,18 @@ public class JSONCreateTableMessage extends CreateTableMessage {
*/
public JSONCreateTableMessage() {}
- public JSONCreateTableMessage(String server, String servicePrincipal, String db, String table, Long timestamp) {
+ public JSONCreateTableMessage(String server, String servicePrincipal, String db, String table,
+ Long timestamp) {
+ this(server, servicePrincipal, db, table, null, timestamp);
+ }
+
+ public JSONCreateTableMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
checkValid();
}
@@ -63,6 +70,11 @@ public class JSONCreateTableMessage extends CreateTableMessage {
public String getTable() { return table; }
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String toString() {
try {
return JSONMessageDeserializer.mapper.writeValueAsString(this);
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
index a4d6400..ecdc39d 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropPartitionMessage.java
@@ -31,7 +31,7 @@ import java.util.Map;
public class JSONDropPartitionMessage extends DropPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -45,11 +45,17 @@ public class JSONDropPartitionMessage extends DropPartitionMessage {
public JSONDropPartitionMessage() {}
public JSONDropPartitionMessage(String server, String servicePrincipal, String db, String table,
- List<Map<String,String>> partitions, Long timestamp) {
+ List<Map<String,String>> partitions, Long timestamp) {
+ this(server, servicePrincipal, db, table, null, partitions, timestamp);
+ }
+
+ public JSONDropPartitionMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, List<Map<String,String>> partitions, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.partitions = partitions;
this.timestamp = timestamp;
checkValid();
@@ -69,6 +75,11 @@ public class JSONDropPartitionMessage extends DropPartitionMessage {
public String getTable() { return table; }
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Long getTimestamp() { return timestamp; }
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
index 3b62023..4300625 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONDropTableMessage.java
@@ -28,7 +28,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class JSONDropTableMessage extends DropTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -38,11 +38,13 @@ public class JSONDropTableMessage extends DropTableMessage {
*/
public JSONDropTableMessage() {}
- public JSONDropTableMessage(String server, String servicePrincipal, String db, String table, Long timestamp) {
+ public JSONDropTableMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
checkValid();
}
@@ -52,6 +54,11 @@ public class JSONDropTableMessage extends DropTableMessage {
public String getTable() { return table; }
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String getServer() { return server; }
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
index 8a4db15..667df4d 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONInsertMessage.java
@@ -31,7 +31,7 @@ import java.util.Map;
public class JSONInsertMessage extends InsertMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -49,10 +49,17 @@ public class JSONInsertMessage extends InsertMessage {
public JSONInsertMessage(String server, String servicePrincipal, String db, String table,
Map<String,String> partKeyVals, List<String> files, Long timestamp) {
+ this(server, servicePrincipal, db, table, null, partKeyVals, files, timestamp);
+ }
+
+ public JSONInsertMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, Map<String,String> partKeyVals, List<String> files,
+ Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
this.partKeyVals = partKeyVals;
this.files = files;
@@ -64,6 +71,11 @@ public class JSONInsertMessage extends InsertMessage {
public String getTable() { return table; }
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String getServer() { return server; }
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
index 251084f..7962732 100644
--- a/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
+++ b/hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/messaging/json/JSONMessageFactory.java
@@ -95,37 +95,40 @@ public class JSONMessageFactory extends MessageFactory {
@Override
public CreateTableMessage buildCreateTableMessage(Table table) {
return new JSONCreateTableMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(),
- table.getTableName(), now());
+ table.getTableName(), table.getTableType(), now());
}
@Override
public AlterTableMessage buildAlterTableMessage(Table before, Table after) {
return new JSONAlterTableMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, before.getDbName(),
- before.getTableName(), now());
+ before.getTableName(), before.getTableType(), now());
}
@Override
public DropTableMessage buildDropTableMessage(Table table) {
- return new JSONDropTableMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(), table.getTableName(),
- now());
+ return new JSONDropTableMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(),
+ table.getTableName(), table.getTableType(), now());
}
@Override
public AddPartitionMessage buildAddPartitionMessage(Table table, Iterator<Partition> partitionsIterator) {
return new JSONAddPartitionMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(),
- table.getTableName(), getPartitionKeyValues(table, partitionsIterator), now());
+ table.getTableName(), table.getTableType(),
+ getPartitionKeyValues(table, partitionsIterator), now());
}
@Override
public AlterPartitionMessage buildAlterPartitionMessage(Table table, Partition before, Partition after) {
return new JSONAlterPartitionMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL,
- before.getDbName(), before.getTableName(), getPartitionKeyValues(table,before),now());
+ before.getDbName(), before.getTableName(), table.getTableType(),
+ getPartitionKeyValues(table,before),now());
}
@Override
public DropPartitionMessage buildDropPartitionMessage(Table table, Iterator<Partition> partitions) {
return new JSONDropPartitionMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(),
- table.getTableName(), getPartitionKeyValues(table, partitions), now());
+ table.getTableName(), table.getTableType(),
+ getPartitionKeyValues(table, partitions), now());
}
@Override
@@ -161,8 +164,15 @@ public class JSONMessageFactory extends MessageFactory {
@Override
public InsertMessage buildInsertMessage(String db, String table, Map<String,String> partKeyVals,
List<String> files) {
- return new JSONInsertMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, db, table, partKeyVals,
- files, now());
+ return new JSONInsertMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, db, table, null,
+ partKeyVals, files, now());
+ }
+
+ @Override
+ public InsertMessage buildInsertMessage(String db, Table table, Map<String,String> partKeyVals,
+ List<String> files) {
+ return new JSONInsertMessage(HCAT_SERVER_URL, HCAT_SERVICE_PRINCIPAL, table.getDbName(),
+ table.getTableName(), table.getTableType(), partKeyVals, files, now());
}
private long now() {
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/hcatalog/server-extensions/src/test/java/org/apache/hive/hcatalog/listener/TestNotificationListener.java
----------------------------------------------------------------------
diff --git a/hcatalog/server-extensions/src/test/java/org/apache/hive/hcatalog/listener/TestNotificationListener.java b/hcatalog/server-extensions/src/test/java/org/apache/hive/hcatalog/listener/TestNotificationListener.java
index ef7b575..3a33403 100644
--- a/hcatalog/server-extensions/src/test/java/org/apache/hive/hcatalog/listener/TestNotificationListener.java
+++ b/hcatalog/server-extensions/src/test/java/org/apache/hive/hcatalog/listener/TestNotificationListener.java
@@ -42,6 +42,7 @@ import org.apache.hadoop.hive.cli.CliSessionState;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
+import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hadoop.hive.metastore.api.PartitionEventType;
import org.apache.hadoop.hive.ql.Driver;
import org.apache.hadoop.hive.ql.session.SessionState;
@@ -168,6 +169,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
CreateTableMessage message = deserializer.getCreateTableMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof CreateTableMessage);
Assert.assertEquals("mydb", message2.getDB());
@@ -181,6 +183,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
Assert.assertEquals("mydb", message.getDB());
Assert.assertEquals(1, message.getPartitions().size());
Assert.assertEquals("2011", message.getPartitions().get(0).get("b"));
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof AddPartitionMessage);
Assert.assertEquals("mydb", message2.getDB());
@@ -195,6 +198,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
Assert.assertEquals("mydb", message.getDB());
Assert.assertEquals(1, message.getKeyValues().size());
Assert.assertTrue(message.getKeyValues().values().contains("2011"));
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof AlterPartitionMessage);
Assert.assertEquals("mydb", message2.getDB());
@@ -210,6 +214,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
Assert.assertEquals("mydb", message.getDB());
Assert.assertEquals(1, message.getPartitions().size());
Assert.assertEquals("2011", message.getPartitions().get(0).get("b"));
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof DropPartitionMessage);
Assert.assertEquals("mydb", message2.getDB());
@@ -223,6 +228,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
DropTableMessage message = deserializer.getDropTableMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof DropTableMessage);
Assert.assertEquals("mydb", message2.getDB());
@@ -241,6 +247,7 @@ public class TestNotificationListener extends HCatBaseTest implements MessageLis
AlterTableMessage message = deserializer.getAlterTableMessage(messageBody);
Assert.assertEquals("mytbl", message.getTable());
Assert.assertEquals("mydb", message.getDB());
+ Assert.assertEquals(TableType.MANAGED_TABLE.toString(), message.getTableType());
HCatEventMessage message2 = MessagingUtils.getMessage(msg);
Assert.assertTrue("Unexpected message-type.", message2 instanceof AlterTableMessage);
Assert.assertEquals("mydb", message2.getDB());
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java
----------------------------------------------------------------------
diff --git a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java
index c09e687..b9a3218 100644
--- a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java
+++ b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hive.hcatalog.messaging.AddPartitionMessage;
import org.apache.hive.hcatalog.messaging.CreateDatabaseMessage;
import org.apache.hive.hcatalog.messaging.CreateTableMessage;
@@ -137,6 +138,7 @@ public class TestHCatClientNotification {
CreateTableMessage createTableMessage = md.getCreateTableMessage(event.getMessage());
assertEquals(dbName, createTableMessage.getDB());
assertEquals(tableName, createTableMessage.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), createTableMessage.getTableType());
// fetch the table marked by the message and compare
HCatTable createdTable = hCatClient.getTable(dbName,tableName);
@@ -167,6 +169,7 @@ public class TestHCatClientNotification {
DropTableMessage dropTableMessage = md.getDropTableMessage(event.getMessage());
assertEquals(dbName, dropTableMessage.getDB());
assertEquals(tableName, dropTableMessage.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), dropTableMessage.getTableType());
}
@Test
@@ -198,6 +201,7 @@ public class TestHCatClientNotification {
AddPartitionMessage addPartitionMessage = md.getAddPartitionMessage(event.getMessage());
assertEquals(dbName, addPartitionMessage.getDB());
assertEquals(tableName, addPartitionMessage.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), addPartitionMessage.getTableType());
List<Map<String,String>> ptndescs = addPartitionMessage.getPartitions();
// fetch the partition referred to by the message and compare
@@ -245,6 +249,7 @@ public class TestHCatClientNotification {
DropPartitionMessage dropPartitionMessage = md.getDropPartitionMessage(event.getMessage());
assertEquals(dbName, dropPartitionMessage.getDB());
assertEquals(tableName, dropPartitionMessage.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), dropPartitionMessage.getTableType());
List<Map<String, String>> droppedPartSpecs = dropPartitionMessage.getPartitions();
assertNotNull(droppedPartSpecs);
assertEquals(1,droppedPartSpecs.size());
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/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 976c3c5..8de66b3 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
@@ -42,6 +42,7 @@ import org.apache.hadoop.hive.metastore.HiveMetaStoreClient;
import org.apache.hadoop.hive.metastore.IMetaStoreClient;
import org.apache.hadoop.hive.metastore.MetaStoreEventListener;
import org.apache.hadoop.hive.metastore.MetaStoreEventListenerConstants;
+import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hadoop.hive.metastore.api.Database;
import org.apache.hadoop.hive.metastore.api.FieldSchema;
import org.apache.hadoop.hive.metastore.api.FireEventRequest;
@@ -365,7 +366,7 @@ public class TestDbNotificationListener {
emptyParameters);
Table table =
new Table(tblName, defaultDbName, tblOwner, startTime, startTime, 0, sd, null,
- emptyParameters, null, null, null);
+ emptyParameters, null, null, TableType.MANAGED_TABLE.toString());
msClient.createTable(table);
// Get notifications from metastore
@@ -383,6 +384,7 @@ public class TestDbNotificationListener {
assertEquals(defaultDbName, createTblMsg.getDB());
assertEquals(tblName, createTblMsg.getTable());
assertEquals(table, createTblMsg.getTableObj());
+ assertEquals(TableType.MANAGED_TABLE.toString(), createTblMsg.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
@@ -442,6 +444,7 @@ public class TestDbNotificationListener {
AlterTableMessage alterTableMessage = md.getAlterTableMessage(event.getMessage());
assertEquals(table, alterTableMessage.getTableObjAfter());
+ assertEquals(TableType.MANAGED_TABLE.toString(), alterTableMessage.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
@@ -496,6 +499,7 @@ public class TestDbNotificationListener {
DropTableMessage dropTblMsg = md.getDropTableMessage(event.getMessage());
assertEquals(defaultDbName, dropTblMsg.getDB());
assertEquals(tblName, dropTblMsg.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), dropTblMsg.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.DROP_TABLE, firstEventId + 2);
@@ -565,6 +569,7 @@ public class TestDbNotificationListener {
Iterator<Partition> ptnIter = addPtnMsg.getPartitionObjs().iterator();
assertTrue(ptnIter.hasNext());
assertEquals(partition, ptnIter.next());
+ assertEquals(TableType.MANAGED_TABLE.toString(), addPtnMsg.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.ADD_PARTITION, firstEventId + 2);
@@ -635,6 +640,7 @@ public class TestDbNotificationListener {
assertEquals(defaultDbName, alterPtnMsg.getDB());
assertEquals(tblName, alterPtnMsg.getTable());
assertEquals(newPart, alterPtnMsg.getPtnObjAfter());
+ assertEquals(TableType.MANAGED_TABLE.toString(), alterPtnMsg.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.ADD_PARTITION, firstEventId + 2);
@@ -702,6 +708,7 @@ public class TestDbNotificationListener {
assertEquals(table.getDbName(), tableObj.getDbName());
assertEquals(table.getTableName(), tableObj.getTableName());
assertEquals(table.getOwner(), tableObj.getOwner());
+ assertEquals(TableType.MANAGED_TABLE.toString(), dropPtnMsg.getTableType());
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.DROP_PARTITION, firstEventId + 3);
@@ -784,6 +791,8 @@ public class TestDbNotificationListener {
assertEquals(dbName, addPtnMsg.getDB());
assertEquals(tab2.getTableName(), addPtnMsg.getTable());
Iterator<Partition> ptnIter = addPtnMsg.getPartitionObjs().iterator();
+ assertEquals(TableType.MANAGED_TABLE.toString(), addPtnMsg.getTableType());
+
assertTrue(ptnIter.hasNext());
Partition msgPart = ptnIter.next();
assertEquals(part1.getValues(), msgPart.getValues());
@@ -801,6 +810,7 @@ public class TestDbNotificationListener {
DropPartitionMessage dropPtnMsg = md.getDropPartitionMessage(event.getMessage());
assertEquals(dbName, dropPtnMsg.getDB());
assertEquals(tab1.getTableName(), dropPtnMsg.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), dropPtnMsg.getTableType());
Iterator<Map<String, String>> parts = dropPtnMsg.getPartitions().iterator();
assertTrue(parts.hasNext());
assertEquals(part1.getValues(), Lists.newArrayList(parts.next().values()));
@@ -1186,6 +1196,12 @@ public class TestDbNotificationListener {
// Parse the message field
verifyInsert(event, defaultDbName, tblName);
+ // Parse the message field
+ InsertMessage insertMessage = md.getInsertMessage(event.getMessage());
+ assertEquals(defaultDbName, insertMessage.getDB());
+ assertEquals(tblName, insertMessage.getTable());
+ assertEquals(TableType.MANAGED_TABLE.toString(), insertMessage.getTableType());
+
// Verify the eventID was passed to the non-transactional listener
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.INSERT, firstEventId + 2);
MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.CREATE_TABLE, firstEventId + 1);
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java b/metastore/src/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java
index 7bc0e04..0690c1b 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/events/InsertEvent.java
@@ -37,6 +37,7 @@ public class InsertEvent extends ListenerEvent {
// we have just the string names, but that's fine for what we need.
private final String db;
private final String table;
+ private final String tableType;
private final Map<String, String> keyValues;
private final List<String> files;
private List<String> fileChecksums = new ArrayList<String>();
@@ -60,6 +61,7 @@ public class InsertEvent extends ListenerEvent {
GetTableRequest req = new GetTableRequest(db, table);
req.setCapabilities(HiveMetaStoreClient.TEST_VERSION);
Table t = handler.get_table_req(req).getTable();
+ tableType = t.getTableType();
keyValues = new LinkedHashMap<String, String>();
if (partVals != null) {
for (int i = 0; i < partVals.size(); i++) {
@@ -82,6 +84,8 @@ public class InsertEvent extends ListenerEvent {
return table;
}
+ public String getTableType() {return tableType; }
+
/**
* @return List of values for the partition keys.
*/
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AddPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AddPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AddPartitionMessage.java
index 28f1101..774c020 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AddPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AddPartitionMessage.java
@@ -37,6 +37,8 @@ public abstract class AddPartitionMessage extends EventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Table getTableObj() throws Exception;
/**
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterPartitionMessage.java
index ed6080b..8443244 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterPartitionMessage.java
@@ -31,6 +31,8 @@ public abstract class AlterPartitionMessage extends EventMessage {
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Map<String,String> getKeyValues();
public abstract Table getTableObj() throws Exception;
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterTableMessage.java
index 5487123..60e4c9b 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/AlterTableMessage.java
@@ -28,6 +28,8 @@ public abstract class AlterTableMessage extends EventMessage {
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Table getTableObjBefore() throws Exception;
public abstract Table getTableObjAfter() throws Exception;
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/CreateTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/CreateTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/CreateTableMessage.java
index 441fd84..b75caa6 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/CreateTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/CreateTableMessage.java
@@ -33,6 +33,8 @@ public abstract class CreateTableMessage extends EventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Table getTableObj() throws Exception;
/**
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropPartitionMessage.java
index 0dd3e50..d254ad9 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/DropPartitionMessage.java
@@ -32,6 +32,8 @@ public abstract class DropPartitionMessage extends EventMessage {
public abstract String getTable();
+ public abstract String getTableType();
+
public abstract Table getTableObj() throws Exception;
public abstract List<Map<String, String>> getPartitions ();
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/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 64a8cc5..03f73f1 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
@@ -31,6 +31,8 @@ public abstract class DropTableMessage extends EventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
@Override
public EventMessage checkValid() {
if (getTable() == null)
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/InsertMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/InsertMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/InsertMessage.java
index 3d16721..3adee52 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/InsertMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/InsertMessage.java
@@ -36,6 +36,8 @@ public abstract class InsertMessage extends EventMessage {
*/
public abstract String getTable();
+ public abstract String getTableType();
+
/**
* Get the map of partition keyvalues. Will be null if this insert is to a table and not a
* partition.
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
index aa770f2..ff57326 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/MessageFactory.java
@@ -236,4 +236,7 @@ public abstract class MessageFactory {
*/
public abstract InsertMessage buildInsertMessage(String db, String table,
Map<String, String> partVals, Iterator<String> files);
+
+ public abstract InsertMessage buildInsertMessage(String db, String table, String tableType,
+ Map<String, String> partVals, Iterator<String> files);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
index a488205..db3431e 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAddPartitionMessage.java
@@ -43,7 +43,7 @@ import java.util.Map;
public class JSONAddPartitionMessage extends AddPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableObjJson;
+ String server, servicePrincipal, db, table, tableType, tableObjJson;
@JsonProperty
Long timestamp;
@@ -73,6 +73,7 @@ public class JSONAddPartitionMessage extends AddPartitionMessage {
this.servicePrincipal = servicePrincipal;
this.db = tableObj.getDbName();
this.table = tableObj.getTableName();
+ this.tableType = tableObj.getTableType();
this.timestamp = timestamp;
partitions = new ArrayList<Map<String, String>>();
partitionListJson = new ArrayList<String>();
@@ -112,6 +113,11 @@ public class JSONAddPartitionMessage extends AddPartitionMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Table getTableObj() throws Exception {
return (Table) JSONMessageFactory.getTObj(tableObjJson,Table.class);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
index dd1bf3c..f545bf2 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterPartitionMessage.java
@@ -34,7 +34,7 @@ import java.util.Map;
public class JSONAlterPartitionMessage extends AlterPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableObjJson;
+ String server, servicePrincipal, db, table, tableType, tableObjJson;
@JsonProperty
Long timestamp;
@@ -57,6 +57,7 @@ public class JSONAlterPartitionMessage extends AlterPartitionMessage {
this.servicePrincipal = servicePrincipal;
this.db = tableObj.getDbName();
this.table = tableObj.getTableName();
+ this.tableType = tableObj.getTableType();
this.timestamp = timestamp;
this.keyValues = JSONMessageFactory.getPartitionKeyValues(tableObj, partitionObjBefore);
try {
@@ -95,6 +96,11 @@ public class JSONAlterPartitionMessage extends AlterPartitionMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Map<String, String> getKeyValues() {
return keyValues;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
index 792015e..8f4b018 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONAlterTableMessage.java
@@ -29,7 +29,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class JSONAlterTableMessage extends AlterTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableObjBeforeJson, tableObjAfterJson;
+ String server, servicePrincipal, db, table, tableType, tableObjBeforeJson, tableObjAfterJson;
@JsonProperty
Long timestamp;
@@ -46,6 +46,7 @@ public class JSONAlterTableMessage extends AlterTableMessage {
this.servicePrincipal = servicePrincipal;
this.db = tableObjBefore.getDbName();
this.table = tableObjBefore.getTableName();
+ this.tableType = tableObjBefore.getTableType();
this.timestamp = timestamp;
try {
this.tableObjBeforeJson = JSONMessageFactory.createTableObjJson(tableObjBefore);
@@ -82,6 +83,11 @@ public class JSONAlterTableMessage extends AlterTableMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Table getTableObjBefore() throws Exception {
return (Table) JSONMessageFactory.getTObj(tableObjBeforeJson,Table.class);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
index dbc3dd4..9dd7a74 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONCreateTableMessage.java
@@ -35,7 +35,7 @@ import com.google.common.collect.Lists;
public class JSONCreateTableMessage extends CreateTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableObjJson;
+ String server, servicePrincipal, db, table, tableType, tableObjJson;
@JsonProperty
Long timestamp;
@JsonProperty
@@ -48,18 +48,25 @@ public class JSONCreateTableMessage extends CreateTableMessage {
}
public JSONCreateTableMessage(String server, String servicePrincipal, String db, String table,
- Long timestamp) {
+ String tableType, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
checkValid();
}
+ public JSONCreateTableMessage(String server, String servicePrincipal, String db, String table,
+ Long timestamp) {
+ this(server, servicePrincipal, db, table, null, timestamp);
+ }
+
public JSONCreateTableMessage(String server, String servicePrincipal, Table tableObj,
Iterator<String> fileIter, Long timestamp) {
- this(server, servicePrincipal, tableObj.getDbName(), tableObj.getTableName(), timestamp);
+ this(server, servicePrincipal, tableObj.getDbName(), tableObj.getTableName(),
+ tableObj.getTableType(), timestamp);
try {
this.tableObjJson = JSONMessageFactory.createTableObjJson(tableObj);
} catch (TException e) {
@@ -94,6 +101,11 @@ public class JSONCreateTableMessage extends CreateTableMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Table getTableObj() throws Exception {
return (Table) JSONMessageFactory.getTObj(tableObjJson,Table.class);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
index f1860af..576806c 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONDropPartitionMessage.java
@@ -33,7 +33,7 @@ import java.util.Map;
public class JSONDropPartitionMessage extends DropPartitionMessage {
@JsonProperty
- String server, servicePrincipal, db, table, tableObjJson;
+ String server, servicePrincipal, db, table, tableType, tableObjJson;
@JsonProperty
Long timestamp;
@@ -49,10 +49,16 @@ public class JSONDropPartitionMessage extends DropPartitionMessage {
public JSONDropPartitionMessage(String server, String servicePrincipal, String db, String table,
List<Map<String, String>> partitions, Long timestamp) {
+ this(server, servicePrincipal, db, table, null, partitions, timestamp);
+ }
+
+ public JSONDropPartitionMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, List<Map<String, String>> partitions, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.partitions = partitions;
this.timestamp = timestamp;
checkValid();
@@ -61,7 +67,7 @@ public class JSONDropPartitionMessage extends DropPartitionMessage {
public JSONDropPartitionMessage(String server, String servicePrincipal, Table tableObj,
List<Map<String, String>> partitionKeyValues, long timestamp) {
this(server, servicePrincipal, tableObj.getDbName(), tableObj.getTableName(),
- partitionKeyValues, timestamp);
+ tableObj.getTableType(), partitionKeyValues, timestamp);
try {
this.tableObjJson = JSONMessageFactory.createTableObjJson(tableObj);
} catch (TException e) {
@@ -90,6 +96,11 @@ public class JSONDropPartitionMessage extends DropPartitionMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public Long getTimestamp() {
return timestamp;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/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 635ab61..17f38ba 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
@@ -28,7 +28,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class JSONDropTableMessage extends DropTableMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -41,10 +41,16 @@ public class JSONDropTableMessage extends DropTableMessage {
public JSONDropTableMessage(String server, String servicePrincipal, String db, String table,
Long timestamp) {
+ this(server, servicePrincipal, db, table, null, timestamp);
+ }
+
+ public JSONDropTableMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
checkValid();
}
@@ -55,6 +61,11 @@ public class JSONDropTableMessage extends DropTableMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String getServer() {
return server;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
index e1316a4..329f320 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/messaging/json/JSONInsertMessage.java
@@ -34,7 +34,7 @@ import java.util.Map;
public class JSONInsertMessage extends InsertMessage {
@JsonProperty
- String server, servicePrincipal, db, table;
+ String server, servicePrincipal, db, table, tableType;
@JsonProperty
Long timestamp;
@@ -53,10 +53,17 @@ public class JSONInsertMessage extends InsertMessage {
public JSONInsertMessage(String server, String servicePrincipal, String db, String table,
Map<String, String> partKeyVals, Iterator<String> fileIter, Long timestamp) {
+ this(server, servicePrincipal, db, table, null, partKeyVals, fileIter, timestamp);
+ }
+
+ public JSONInsertMessage(String server, String servicePrincipal, String db, String table,
+ String tableType, Map<String, String> partKeyVals, Iterator<String> fileIter,
+ Long timestamp) {
this.server = server;
this.servicePrincipal = servicePrincipal;
this.db = db;
this.table = table;
+ this.tableType = tableType;
this.timestamp = timestamp;
this.partKeyVals = partKeyVals;
this.files = Lists.newArrayList(fileIter);
@@ -69,6 +76,11 @@ public class JSONInsertMessage extends InsertMessage {
}
@Override
+ public String getTableType() {
+ if (tableType != null) return tableType; else return "";
+ }
+
+ @Override
public String getServer() {
return server;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/7530ff5c/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 3406afb..7308adb 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
@@ -111,7 +111,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(), now());
+ table.getTableName(), table.getTableType(), now());
}
@Override
@@ -167,6 +167,13 @@ public class JSONMessageFactory extends MessageFactory {
fileIter, now());
}
+ @Override
+ public InsertMessage buildInsertMessage(String db, String table, String tableType, Map<String,
+ String> partKeyVals, Iterator<String> fileIter) {
+ return new JSONInsertMessage(MS_SERVER_URL, MS_SERVICE_PRINCIPAL, db, table, tableType,
+ partKeyVals, fileIter, now());
+ }
+
private long now() {
return System.currentTimeMillis() / 1000;
}