-
Notifications
You must be signed in to change notification settings - Fork 4.8k
HIVE-29400: Execute Hive Iceberg test-suite agains V3 format #6263
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
Conversation
d015bc1 to
58e0951
Compare
58e0951 to
37fe308
Compare
37fe308 to
bb8f8d3
Compare
bb8f8d3 to
c42f617
Compare
c42f617 to
a3e2e07
Compare
- added v3, removed redundancy, fixed TestConflictingDataFiles
a3e2e07 to
56eafae
Compare
772069d to
f8ad5b6
Compare
hm, it seems to be fixed now, build was green |
e2de599 to
293e882
Compare
293e882 to
47229dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds V3 format support to the Hive Iceberg test suite and restructures the test framework for better maintainability. The changes include parameterization improvements to enable testing across format versions (V1, V2, V3), reorganization of test utilities into proper package structures, and fixes to the concurrent test framework used for testing optimistic concurrency and table locking scenarios.
Changes:
- Extended test parameterization to support format versions 1-3 with configurable filtering
- Moved test utilities to dedicated
testandtest.utilspackages for better organization - Fixed concurrent testing framework (HiveIcebergStorageHandlerStub, TestUtilPhaser, WithMockedStorageHandler)
Reviewed changes
Copilot reviewed 43 out of 43 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| TestHiveIcebergVectorization.java | Added V2-only filtering for vectorization tests |
| HiveIcebergTestUtils.java | Moved to test.utils package, updated stream operations to modern API |
| HiveIcebergStorageHandlerTestUtils.java | Moved to test.utils package, changed visibility to public |
| WithMockedStorageHandler.java | New annotation/rule for mocking storage handler in concurrent tests |
| TestUtilPhaser.java | New comprehensive phaser utility for coordinating concurrent test execution |
| HiveIcebergStorageHandlerStub.java | New stub implementation supporting both ext-locking and barrier synchronization modes |
| TestTables.java | Moved to test package, added getCatalog() accessor |
| TestHiveShell.java | Moved to test package |
| CustomTestHiveAuthorizerFactory.java | Moved to test package |
| TestOptimisticRetry.java | Updated to use new concurrent testing framework |
| TestConflictingDataFiles.java | Updated to use new concurrent testing framework with proper synchronization |
| Multiple test files | Updated imports and added format version filtering |
| HiveTableUtil.java | Added utility methods for job/file locations, improved documentation |
| HiveIcebergOutputCommitter.java | Refactored to use HiveTableUtil methods for location generation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
@Aggarwal-Raghav , @difin, @kokila-19 any final comments, or shall we merge? |
|
LGTM +1, It can be merged. |



What changes were proposed in this pull request?
Why are the changes needed?
Additional test coverage for v3 format
Does this PR introduce any user-facing change?
No
How was this patch tested?
Jenkins
No production code changes, just test framework