Skip to content

Conversation

@Zouxxyy
Copy link
Contributor

@Zouxxyy Zouxxyy commented Jul 19, 2023

Change Logs

  • Improve ConflictResolutionStrategy interface
  • Enable SimpleConcurrentFileWritesConflictResolutionStrategy to automatically identify write priority or bucket index, and optimize the logic of getCandidateInstants
  • Add StateTransitionTimeBasedConflictResolutionStrategy, which is based on StateTransition and does not need to get pending instants
  • Remove lastCompletedTxnOwnerInstant in TransactionManager (only used for conflict detection, under the new logic, it has no effect)
  • Full tests

To know more, can read #9220

Impact

above

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

medium

Documentation Update

Describe any necessary documentation update if there is any new feature, config, or user-facing change

  • 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

@Zouxxyy Zouxxyy changed the title [HUDI-6543] Enhance OCC conflict detection [HUDI-6543][WIP] Enhance OCC conflict detection Jul 19, 2023
@Zouxxyy Zouxxyy changed the title [HUDI-6543][WIP] Enhance OCC conflict detection [HUDI-6543] Enhance OCC conflict detection Jul 20, 2023
@hudi-bot
Copy link
Collaborator

CI report:

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

Copy link
Member

Choose a reason for hiding this comment

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

@Zouxxyy I am yet to review the patch fully. Just curious, why removing this strategy? Is it taken care of in the new conflict resolver based on state transition time?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@Zouxxyy I am yet to review the patch fully. Just curious, why removing this strategy? Is it taken care of in the new conflict resolver based on state transition time?

Two reasons:

  1. If we want to use bucket index, ingestion primary, and don't want to use state transition time (because it is not stable yet), how to choose the strategy, should we write another one?
  2. I hope that the current strategy can automatically identify the bucket index and ingestion primary, which is better for users.

if (!isIngestionPrimaryClustering()) {
actionsToPick.add(REPLACE_COMMIT_ACTION);
}
actionsToPick.add(COMPACTION_ACTION);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here I just keep the current implementation, because log compaction has pre commit now, hope to get more opinions @suryaprasanna

@github-actions github-actions bot added the size:XL PR with lines of changes > 1000 label Feb 26, 2024
@Zouxxyy Zouxxyy closed this Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-1.0.0 size:XL PR with lines of changes > 1000

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants