nsivabalan commented on code in PR #13519:
URL: https://github.com/apache/hudi/pull/13519#discussion_r2274928454
##########
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/upgrade/UpgradeDowngrade.java:
##########
@@ -164,17 +167,20 @@ public void run(HoodieTableVersion toVersion, String
instantTime) {
// upgrade
while (fromVersion.versionCode() < toVersion.versionCode()) {
HoodieTableVersion nextVersion =
HoodieTableVersion.fromVersionCode(fromVersion.versionCode() + 1);
- tablePropsToAdd.putAll(upgrade(fromVersion, nextVersion, instantTime));
+ UpgradeDowngrade.TableConfigChangeSet tableConfigChangeSet =
+ upgrade(fromVersion, nextVersion, instantTime);
+ tablePropsToAdd.putAll(tableConfigChangeSet.getPropertiesToUpdate());
+
tablePropsToRemove.addAll(tableConfigChangeSet.getPropertiesToDelete());
fromVersion = nextVersion;
}
} else {
// downgrade
isDowngrade = true;
while (fromVersion.versionCode() > toVersion.versionCode()) {
HoodieTableVersion prevVersion =
HoodieTableVersion.fromVersionCode(fromVersion.versionCode() - 1);
- Pair<Map<ConfigProperty, String>, List<ConfigProperty>>
tablePropsToAddAndRemove = downgrade(fromVersion, prevVersion, instantTime);
- tablePropsToAdd.putAll(tablePropsToAddAndRemove.getLeft());
- tablePropsToRemove.addAll(tablePropsToAddAndRemove.getRight());
+ UpgradeDowngrade.TableConfigChangeSet tableConfigChangeSet =
downgrade(fromVersion, prevVersion, instantTime);
+ tablePropsToAdd.putAll(tableConfigChangeSet.getPropertiesToUpdate());
+
tablePropsToRemove.addAll(tableConfigChangeSet.getPropertiesToDelete());
Review Comment:
its ok to keep it simple. we do one version upgrade at a time. so that if
table is always left in some sane state.
say if user wishes to upgrade from 6 to 9.
after upgrading to 8, say there are some issues, atleast we leave the table
in usable state w/ version 8.
So, I suggest to keep this as is for now
--
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]