Skip to content

[HUDI-7710] Remove compaction.inflight from conflict resolution#11148

Merged
danny0405 merged 1 commit intoapache:masterfrom
linliu-code:HUDI-7710_fix_compaction_concurrency
May 4, 2024
Merged

[HUDI-7710] Remove compaction.inflight from conflict resolution#11148
danny0405 merged 1 commit intoapache:masterfrom
linliu-code:HUDI-7710_fix_compaction_concurrency

Conversation

@linliu-code
Copy link
Collaborator

Change Logs

We filter it from SimpleConcurrentFileWritesConflictResolutionStrategy class.

Impact

Fix a buggy process.

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:XS PR with lines of changes in <= 10 label May 4, 2024
@hudi-bot
Copy link
Collaborator

hudi-bot commented May 4, 2024

CI report:

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

.findInstantsAfter(currentInstant.getTimestamp())
.filterInflightsAndRequested()
.filter(i -> (!i.getAction().equals(COMPACTION_ACTION)) || i.getState().equals(REQUESTED))
.getInstantsAsStream();
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks reasonable.

Copy link
Contributor

Choose a reason for hiding this comment

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

@linliu-code We still need to check the compaction for conflict correct? So instead of filtering out compaction.inflight, we should convert instant.compaction.inflight to instant.compaction.request for checking? Can you write a test case for this?

Copy link
Contributor

Choose a reason for hiding this comment

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

I guess if the compaction does not really execute before, there is no need to resolve the conflicts, because the log files would slice based on their specific completion time. If there is no confclits for the same file group from multiple writers, then we are good. @linliu-code , we can add some test cases to illustrate this.

@danny0405 danny0405 merged commit 1c7f837 into apache:master May 4, 2024
@linliu-code linliu-code changed the title [HUDI-7710] Remove compaction.inflight from conflict resolution [HUDI-7710] Remove compaction.inflight from conflict resolution May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS PR with lines of changes in <= 10

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants