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