apache / apache/hudi

Fix Upgrade/Downgrade Command To Keep MDT Table and Data Table (max one version difference apart)

Open
#17,121 1 comment 0 reactions 0 assignees View on GitHub
from-jira priority:high type:improvement
Dominant language
Java
Stars
6.2k
Forks
2.5k
Avg merge
2d 8h
Merged PRs (30d)
111

Description

Currently within our code for Upgrade/Downgrade we first either fully uprgade/downgrade the mdt table from a startVersion to an endVersion. Then we do the same for the data table. For example say a user would like to go from table version 6 to now table version 9.

We would first migrate the MDT table to 6 -> 7, then 7-> 8, and finally 8->9 . Then we repeat the same process for the data table.

The issue is that if there is a crash after upgrading the mdt table say during the process of finishing 9, the problem is the data table is still stuck on 6.

We should ideally increment both mdt table and data table together to a version such as doing mdt table 6->7 and dt table 6->7,  then move on to next increment for both.

## JIRA info

- Link: https://issues.apache.org/jira/browse/HUDI-9660
- Type: Improvement

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the Upgrade/Downgrade command and the existing migration loops for the MDT and data tables. Check how a crash during one version transition leaves the tables inconsistent. Done means both tables advance together by at most one version difference, with coverage for interrupted upgrades or downgrades.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.