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]