Skip to content

[HUDI-9321] Fix unnecessary hoodie config conversion for ConfigUtils.getPayloadClass #13167

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 18, 2025

Conversation

danny0405
Copy link
Contributor

Change Logs

The construction of HoodieConfig is very costly, this would impact the regular read and also compaction.

Impact

none

Risk level (write none, low medium or high below)

none

Documentation Update

Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".

  • The config description must be updated if new configs are added or the default value of the configs are changed
  • Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
    ticket number here and follow the instruction to make
    changes to the website.

Contributor's checklist

  • Read through contributor's guide
  • Change Logs and Impact were stated clearly
  • Adequate tests were added if applicable
  • CI passed

@github-actions github-actions bot added the size:S PR with lines of changes in (10, 100] label Apr 18, 2025
@cshuo
Copy link
Contributor

cshuo commented Apr 18, 2025

+1, ConfigUtils.getPayloadClass will be called at record level during log scanning of regular read and compaction.

image

@hudi-bot
Copy link

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@github-project-automation github-project-automation bot moved this from 🆕 New to 🛬 Near landing in Hudi PR Support Apr 18, 2025
@codope codope merged commit d6c1272 into apache:master Apr 18, 2025
60 checks passed
@github-project-automation github-project-automation bot moved this from 🛬 Near landing to ✅ Done in Hudi PR Support Apr 18, 2025
voonhous pushed a commit to voonhous/hudi that referenced this pull request Apr 18, 2025
…getPayloadClass (apache#13167)

The construction of HoodieConfig is very costly, this would impact the regular read and also compaction.

(cherry picked from commit d6c1272)
public static String getPayloadClass(Properties properties) {
return HoodieRecordPayload.getPayloadClassName(new HoodieConfig(properties));
public static String getPayloadClass(Properties props) {
return HoodieRecordPayload.getPayloadClassName(props);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. Have you checked if there is other place using new HoodieConfig, in which all of them should be fixed if unnecessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do have many other new HoodieConfig invocations, but not at per-row level. Do we need to fix them for 1.0.2?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still good to revisit them and avoid this from happening in the future. We have landed #13174 and #13173 to address the remaining invocations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:blocker release-1.0.2 size:S PR with lines of changes in (10, 100]
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

5 participants