nsivabalan commented on code in PR #13079:
URL: https://github.com/apache/hudi/pull/13079#discussion_r2027509943


##########
hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordMerger.java:
##########
@@ -186,23 +187,36 @@ default String[] getMandatoryFieldsForMerging(Schema 
dataSchema, HoodieTableConf
    */
   String getMergingStrategy();
 
-  static String getRecordMergeStrategyId(RecordMergeMode mergeMode,
-                                         String payloadClassName,
-                                         String recordMergeStrategyId) {
+  static String getRecordMergeStrategyId(RecordMergeMode mergeMode, String 
payloadClassName,
+                                         String recordMergeStrategyId, 
HoodieTableVersion tableVersion) {
     switch (mergeMode) {
       case COMMIT_TIME_ORDERING:
         return COMMIT_TIME_BASED_MERGE_STRATEGY_UUID;
       case EVENT_TIME_ORDERING:
         return EVENT_TIME_BASED_MERGE_STRATEGY_UUID;
       case CUSTOM:
       default:
-        if (nonEmpty(recordMergeStrategyId)) {
-          return recordMergeStrategyId;
-        }
-        if (nonEmpty(payloadClassName)) {
-          return PAYLOAD_BASED_MERGE_STRATEGY_UUID;
-        }
-        return null;
+        return getCustomRecordMergeStrategyId(payloadClassName, 
recordMergeStrategyId, tableVersion);
+    }
+  }
+
+  static String getCustomRecordMergeStrategyId(String payloadClassName, String 
recordMergeStrategyId, HoodieTableVersion tableVersion) {
+    if (tableVersion.greaterThanOrEquals(HoodieTableVersion.EIGHT)) {
+      // For table version 8, we give preference to input 
recordMergeStrategyId over payload based strategy
+      if (nonEmpty(recordMergeStrategyId)) {
+        return recordMergeStrategyId;
+      } else if (nonEmpty(payloadClassName)) {
+        return PAYLOAD_BASED_MERGE_STRATEGY_UUID;
+      }
+      return null;
+    } else {
+      // For table version 8, we give preference to payload based strategy 
over input recordMergeStrategyId

Review Comment:
   minor typo. " version 6"



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