yihua commented on code in PR #11943:
URL: https://github.com/apache/hudi/pull/11943#discussion_r1805551495
##########
hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordMerger.java:
##########
@@ -167,17 +172,16 @@ default String[]
getMandatoryFieldsForMerging(HoodieTableConfig cfg) {
*/
String getMergingStrategy();
- /**
- * The record merge mode that corresponds to this record merger
- */
- default RecordMergeMode getRecordMergeMode() {
- switch (getMergingStrategy()) {
- case DEFAULT_MERGER_STRATEGY_UUID:
- return RecordMergeMode.EVENT_TIME_ORDERING;
- case OVERWRITE_MERGER_STRATEGY_UUID:
- return RecordMergeMode.OVERWRITE_WITH_LATEST;
+ static String getAvroMergerStrategyFromMergeMode(RecordMergeMode mergeMode) {
Review Comment:
```suggestion
static String getRecordMergeStrategyId(RecordMergeMode mergeMode) {
```
##########
hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordMerger.java:
##########
@@ -167,17 +172,16 @@ default String[]
getMandatoryFieldsForMerging(HoodieTableConfig cfg) {
*/
String getMergingStrategy();
- /**
- * The record merge mode that corresponds to this record merger
- */
- default RecordMergeMode getRecordMergeMode() {
- switch (getMergingStrategy()) {
- case DEFAULT_MERGER_STRATEGY_UUID:
- return RecordMergeMode.EVENT_TIME_ORDERING;
- case OVERWRITE_MERGER_STRATEGY_UUID:
- return RecordMergeMode.OVERWRITE_WITH_LATEST;
+ static String getAvroMergerStrategyFromMergeMode(RecordMergeMode mergeMode) {
Review Comment:
and let's move this to `HoodieAvroRecordMerger`.
##########
hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordMerger.java:
##########
@@ -167,17 +172,16 @@ default String[]
getMandatoryFieldsForMerging(HoodieTableConfig cfg) {
*/
String getMergingStrategy();
- /**
- * The record merge mode that corresponds to this record merger
- */
- default RecordMergeMode getRecordMergeMode() {
- switch (getMergingStrategy()) {
- case DEFAULT_MERGER_STRATEGY_UUID:
- return RecordMergeMode.EVENT_TIME_ORDERING;
- case OVERWRITE_MERGER_STRATEGY_UUID:
- return RecordMergeMode.OVERWRITE_WITH_LATEST;
+ static String getAvroMergerStrategyFromMergeMode(RecordMergeMode mergeMode) {
+ switch (mergeMode) {
+ case OVERWRITE_WITH_LATEST:
+ return OVERWRITE_MERGER_STRATEGY_UUID;
+ case EVENT_TIME_ORDERING:
+ return DEFAULT_MERGER_STRATEGY_UUID;
+ case CUSTOM:
+ return PAYLOAD_BASED_MERGER_STRATEGY_UUID;
Review Comment:
Should all modes go through `PAYLOAD_BASED_MERGER_STRATEGY_UUID` since
`OVERWRITE_WITH_LATEST` should use `OverwriteWithLatestAvroPayload` and
`EVENT_TIME_ORDERING` should use `DefaultHoodieRecordPayload` if
`HoodieAvroRecordMerger` is used?
--
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]