jonvex commented on code in PR #11943:
URL: https://github.com/apache/hudi/pull/11943#discussion_r1803975428


##########
hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java:
##########
@@ -684,21 +690,85 @@ public void setInitialVersion(HoodieTableVersion 
initialVersion) {
   }
 
   public RecordMergeMode getRecordMergeMode() {
-    return 
RecordMergeMode.valueOf(getStringOrDefault(RECORD_MERGE_MODE).toUpperCase());
+    return RecordMergeMode.getValue(getStringOrDefault(RECORD_MERGE_MODE));
   }
 
   /**
    * Read the payload class for HoodieRecords from the table properties.
    */
-  public String getPayloadClass() {
+  public Option<String> getPayloadClass() {
     return RecordPayloadType.getPayloadClassName(this);
   }
 
+  public String getAvroPayloadClass() {
+    return getPayloadClass().orElseGet(() -> 
HoodieRecordPayload.getAvroPayloadForMergeMode(getRecordMergeMode()));
+  }
+
+  public String getAvroPayloadClassNonThrow() {
+    return getPayloadClass().orElseGet(() -> 
HoodieRecordPayload.getAvroPayloadForMergeModeNonThrow(getRecordMergeMode()));
+  }
+
   /**
    * Read the payload class for HoodieRecords from the table properties.
    */
-  public String getRecordMergerStrategy() {
-    return getStringOrDefault(RECORD_MERGER_STRATEGY);
+  public Option<String> getRecordMergerStrategy() {
+    return getStringOpt(RECORD_MERGER_STRATEGY);
+  }
+
+  public String getAvroRecordMergerStrategy() {
+    return getRecordMergerStrategy().orElseGet(() -> 
HoodieRecordMerger.getAvroMergerStrategyFromMergeMode(getRecordMergeMode()));
+  }
+
+  public static Triple<RecordMergeMode, String, String> 
inferCorrectMergingBehavior(RecordMergeMode recordMergeMode, String 
payloadClassName, String recordMergerStrategy) {
+    checkArgument(payloadClassName == null || 
!payloadClassName.equals("org.apache.spark.sql.hudi.command.payload.ExpressionPayload"),
 "Expression payload is being deduced!!!!!!");

Review Comment:
   removed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to