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

Reply via email to