This is an automated email from the ASF dual-hosted git repository.
yihua 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 5c28762c80c [HUDI-8571] Fix the upgrade for OverwriteWithLatestPayload
(#12335)
5c28762c80c is described below
commit 5c28762c80c678e66df662c0f4e4c2855766840f
Author: Lin Liu <[email protected]>
AuthorDate: Tue Nov 26 08:05:11 2024 -0800
[HUDI-8571] Fix the upgrade for OverwriteWithLatestPayload (#12335)
---
.../hudi/table/upgrade/SevenToEightUpgradeHandler.java | 12 ++++++------
.../org/apache/hudi/functional/TestSevenToEightUpgrade.scala | 6 +++---
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SevenToEightUpgradeHandler.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SevenToEightUpgradeHandler.java
index 4926ac1dc2f..d57a5e0498e 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SevenToEightUpgradeHandler.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/SevenToEightUpgradeHandler.java
@@ -69,7 +69,7 @@ public class SevenToEightUpgradeHandler implements
UpgradeHandler {
Map<ConfigProperty, String> tablePropsToAdd = new HashMap<>();
tablePropsToAdd.put(HoodieTableConfig.TIMELINE_PATH,
HoodieTableConfig.TIMELINE_PATH.defaultValue());
upgradePartitionFields(config, tableConfig, tablePropsToAdd);
- upgradeMergeMode(config, tableConfig, tablePropsToAdd);
+ upgradeMergeMode(tableConfig, tablePropsToAdd);
// Handle timeline upgrade:
// - Rewrite instants in active timeline to new format
@@ -126,20 +126,20 @@ public class SevenToEightUpgradeHandler implements
UpgradeHandler {
}
}
- private static void upgradeMergeMode(HoodieWriteConfig config,
HoodieTableConfig tableConfig, Map<ConfigProperty, String> tablePropsToAdd) {
+ private static void upgradeMergeMode(HoodieTableConfig tableConfig,
Map<ConfigProperty, String> tablePropsToAdd) {
if (tableConfig.getPayloadClass() != null
&&
tableConfig.getPayloadClass().equals(OverwriteWithLatestAvroPayload.class.getName()))
{
if (HoodieTableType.COPY_ON_WRITE == tableConfig.getTableType()) {
+ tablePropsToAdd.put(
+ HoodieTableConfig.RECORD_MERGE_MODE,
+ RecordMergeMode.COMMIT_TIME_ORDERING.name());
+ } else {
tablePropsToAdd.put(
HoodieTableConfig.PAYLOAD_CLASS_NAME,
DefaultHoodieRecordPayload.class.getName());
tablePropsToAdd.put(
HoodieTableConfig.RECORD_MERGE_MODE,
RecordMergeMode.EVENT_TIME_ORDERING.name());
- } else {
- tablePropsToAdd.put(
- HoodieTableConfig.RECORD_MERGE_MODE,
- RecordMergeMode.COMMIT_TIME_ORDERING.name());
}
}
}
diff --git
a/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestSevenToEightUpgrade.scala
b/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestSevenToEightUpgrade.scala
index 18eafd16029..862cd4f9ae9 100644
---
a/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestSevenToEightUpgrade.scala
+++
b/hudi-spark-datasource/hudi-spark/src/test/scala/org/apache/hudi/functional/TestSevenToEightUpgrade.scala
@@ -79,12 +79,12 @@ class TestSevenToEightUpgrade extends
RecordLevelIndexTestBase {
// After upgrade, based on the payload and table type, the merge mode is
updated accordingly.
if (HoodieTableType.COPY_ON_WRITE == tableType) {
- assertEquals(classOf[DefaultHoodieRecordPayload].getName,
metaClient.getTableConfig.getPayloadClass)
- assertEquals(RecordMergeMode.EVENT_TIME_ORDERING.name,
metaClient.getTableConfig.getRecordMergeMode.name)
- } else {
assertEquals(classOf[OverwriteWithLatestAvroPayload].getName,
metaClient.getTableConfig.getPayloadClass)
assertEquals(RecordMergeMode.COMMIT_TIME_ORDERING.name,
metaClient.getTableConfig.getRecordMergeMode.name)
assertEquals(HoodieRecordMerger.COMMIT_TIME_BASED_MERGE_STRATEGY_UUID,
metaClient.getTableConfig.getRecordMergeStrategyId)
+ } else {
+ assertEquals(classOf[DefaultHoodieRecordPayload].getName,
metaClient.getTableConfig.getPayloadClass)
+ assertEquals(RecordMergeMode.EVENT_TIME_ORDERING.name,
metaClient.getTableConfig.getRecordMergeMode.name)
}
}
}