HIVE-28341: Iceberg: Change Major QB Full Table Compaction to compact… #5328
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… partition by partition
What changes were proposed in this pull request?
Change Major QB Full Table Compaction to compact partition by partition
Why are the changes needed?
Currently, Iceberg Major compaction compacts a whole table in one step. If a table is partitioned and has a lot of data this operation can take a lot of time and it risks getting write conflicts at the commit stage. This PR proposes to improve it to work partition by partition. Also, for each partition it will create one snapshot instead of 2 snapshots (truncate+IOW) created now when compacting the whole table in one step.
Does this PR introduce any user-facing change?
No
Is the change a dependency upgrade?
No
How was this patch tested?
New query test added and updated existing iceberg compaction query tests with the new correct expected results.