This is an automated email from the ASF dual-hosted git repository.

sivabalan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new b244e5a7b7b [HUDI-7161] Add commit action type and extra metadata to 
write callback on commit message (#10213)
b244e5a7b7b is described below

commit b244e5a7b7b4f806d51663d602b39fd724ed5d62
Author: Rajesh Mahindra <[email protected]>
AuthorDate: Wed Nov 29 20:53:34 2023 -0800

    [HUDI-7161] Add commit action type and extra metadata to write callback on 
commit message (#10213)
    
    
    ---------
    
    Co-authored-by: rmahindra123 <[email protected]>
---
 .../common/HoodieWriteCommitCallbackMessage.java   | 36 +++++++++++++++++++++-
 .../apache/hudi/client/BaseHoodieWriteClient.java  |  3 +-
 2 files changed, 37 insertions(+), 2 deletions(-)

diff --git 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java
 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java
index 8210693a756..808f643da56 100644
--- 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java
+++ 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/callback/common/HoodieWriteCommitCallbackMessage.java
@@ -20,9 +20,11 @@ package org.apache.hudi.callback.common;
 import org.apache.hudi.ApiMaturityLevel;
 import org.apache.hudi.PublicAPIClass;
 import org.apache.hudi.common.model.HoodieWriteStat;
+import org.apache.hudi.common.util.Option;
 
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Base callback message, which contains commitTime and tableName only for now.
@@ -52,11 +54,35 @@ public class HoodieWriteCommitCallbackMessage implements 
Serializable {
    */
   private final List<HoodieWriteStat> hoodieWriteStat;
 
-  public HoodieWriteCommitCallbackMessage(String commitTime, String tableName, 
String basePath, List<HoodieWriteStat> hoodieWriteStat) {
+  /**
+   * Action Type of the commit.
+   */
+  private final Option<String> commitActionType;
+
+  /**
+   * Extra metadata in the commit.
+   */
+  private final Option<Map<String, String>> extraMetadata;
+
+  public HoodieWriteCommitCallbackMessage(String commitTime,
+                                          String tableName,
+                                          String basePath,
+                                          List<HoodieWriteStat> 
hoodieWriteStat) {
+    this(commitTime, tableName, basePath, hoodieWriteStat, Option.empty(), 
Option.empty());
+  }
+
+  public HoodieWriteCommitCallbackMessage(String commitTime,
+                                          String tableName,
+                                          String basePath,
+                                          List<HoodieWriteStat> 
hoodieWriteStat,
+                                          Option<String> commitActionType,
+                                          Option<Map<String, String>> 
extraMetadata) {
     this.commitTime = commitTime;
     this.tableName = tableName;
     this.basePath = basePath;
     this.hoodieWriteStat = hoodieWriteStat;
+    this.commitActionType = commitActionType;
+    this.extraMetadata = extraMetadata;
   }
 
   public String getCommitTime() {
@@ -74,4 +100,12 @@ public class HoodieWriteCommitCallbackMessage implements 
Serializable {
   public List<HoodieWriteStat> getHoodieWriteStat() {
     return hoodieWriteStat;
   }
+
+  public Option<String> getCommitActionType() {
+    return commitActionType;
+  }
+
+  public Option<Map<String, String>> getExtraMetadata() {
+    return extraMetadata;
+  }
 }
diff --git 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
index 7dbd07ea1cc..a3aa6699027 100644
--- 
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
+++ 
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
@@ -265,7 +265,8 @@ public abstract class BaseHoodieWriteClient<T, I, K, O> 
extends BaseHoodieClient
       if (null == commitCallback) {
         commitCallback = HoodieCommitCallbackFactory.create(config);
       }
-      commitCallback.call(new HoodieWriteCommitCallbackMessage(instantTime, 
config.getTableName(), config.getBasePath(), stats));
+      commitCallback.call(new HoodieWriteCommitCallbackMessage(
+          instantTime, config.getTableName(), config.getBasePath(), stats, 
Option.of(commitActionType), extraMetadata));
     }
     return true;
   }

Reply via email to