This is an automated email from the ASF dual-hosted git repository.
dengzh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 7f713aa45f0 HIVE-26647: Implemented deserialization API for commit
compaction event (Sai Hemanth, reviewed by Yu-Wen Lai, Zhihua Deng)
7f713aa45f0 is described below
commit 7f713aa45f067437931ef2834d5e17472c80e8a1
Author: Sai Hemanth Gantasala
<[email protected]>
AuthorDate: Sun Oct 30 18:43:10 2022 -0700
HIVE-26647: Implemented deserialization API for commit compaction event
(Sai Hemanth, reviewed by Yu-Wen Lai, Zhihua Deng)
Closes #3689
---
.../hadoop/hive/metastore/messaging/MessageDeserializer.java | 7 +++++++
.../hive/metastore/messaging/json/JSONMessageDeserializer.java | 9 +++++++++
.../hadoop/hive/metastore/messaging/json/gzip/DeSerializer.java | 6 ++++++
3 files changed, 22 insertions(+)
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
index 9455e1d5fe3..237bfbf8b35 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/MessageDeserializer.java
@@ -86,6 +86,8 @@ public abstract class MessageDeserializer {
return getUpdatePartitionColumnStatMessage(messageBody);
case DELETE_PARTITION_COLUMN_STAT:
return getDeletePartitionColumnStatMessage(messageBody);
+ case COMMIT_COMPACTION:
+ return getCommitCompactionMessage(messageBody);
default:
throw new IllegalArgumentException("Unsupported event-type: " +
eventTypeString);
}
@@ -237,6 +239,11 @@ public abstract class MessageDeserializer {
*/
public abstract DeletePartitionColumnStatMessage
getDeletePartitionColumnStatMessage(String messageBody);
+ /**
+ * Method to de-serialize CommitCompactionMessage instance.
+ */
+ public abstract CommitCompactionMessage getCommitCompactionMessage(String
messageBody);
+
/**
* Method to de-serialize any string passed. Need to be over-ridden by
specific serialization subclasses.
*/
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
index 2a851b67caf..0761ff74db5 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/JSONMessageDeserializer.java
@@ -33,6 +33,7 @@ import
org.apache.hadoop.hive.metastore.messaging.AllocWriteIdMessage;
import org.apache.hadoop.hive.metastore.messaging.AlterDatabaseMessage;
import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
+import org.apache.hadoop.hive.metastore.messaging.CommitCompactionMessage;
import org.apache.hadoop.hive.metastore.messaging.CommitTxnMessage;
import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
@@ -333,4 +334,12 @@ public class JSONMessageDeserializer extends
MessageDeserializer {
throw new IllegalArgumentException("Could not construct
UpdatePartitionColumnStatMessage", e);
}
}
+
+ public CommitCompactionMessage getCommitCompactionMessage(String
messageBody) {
+ try {
+ return mapper.readValue(messageBody, JSONCommitCompactionMessage.class);
+ } catch (Exception e) {
+ throw new IllegalArgumentException("Could not construct
CommitCompactionMessage", e);
+ }
+ }
}
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/gzip/DeSerializer.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/gzip/DeSerializer.java
index 6a67308499b..a25f5f14b43 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/gzip/DeSerializer.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/messaging/json/gzip/DeSerializer.java
@@ -34,6 +34,7 @@ import
org.apache.hadoop.hive.metastore.messaging.AlterDatabaseMessage;
import org.apache.hadoop.hive.metastore.messaging.AlterPartitionMessage;
import org.apache.hadoop.hive.metastore.messaging.AlterTableMessage;
import org.apache.hadoop.hive.metastore.messaging.CommitTxnMessage;
+import org.apache.hadoop.hive.metastore.messaging.CommitCompactionMessage;
import org.apache.hadoop.hive.metastore.messaging.CreateDatabaseMessage;
import org.apache.hadoop.hive.metastore.messaging.CreateFunctionMessage;
import org.apache.hadoop.hive.metastore.messaging.CreateTableMessage;
@@ -208,6 +209,11 @@ public class DeSerializer extends JSONMessageDeserializer {
return super.getAllocWriteIdMessage(deCompress(messageBody));
}
+ @Override
+ public CommitCompactionMessage getCommitCompactionMessage(String
messageBody) {
+ return super.getCommitCompactionMessage(deCompress(messageBody));
+ }
+
@Override
public AcidWriteMessage getAcidWriteMessage(String messageBody) {
return super.getAcidWriteMessage(deCompress(messageBody));