RatulDawar opened a new pull request, #14299:
URL: https://github.com/apache/hudi/pull/14299

   # Pull Request #14299 - Trino 478 Compatibility Update
   
   ## Describe the issue this Pull Request addresses
   
   This PR updates the Hudi Trino plugin to be compatible with Trino version 
478, upgrading from version 472. The changes address API compatibility issues 
and dependency updates required by the newer Trino version.
   
   ## Summary and Changelog
   
   ### Summary
   Users can now use the Hudi Trino plugin with Trino 478, benefiting from the 
latest Trino features, performance improvements, and bug fixes. This update 
ensures continued compatibility with the Trino ecosystem.
   
   ### Detailed Changelog
   
   #### 1. Dependency Updates
   - Upgraded Trino parent version from 472 to 478
   - Added `classifier` attribute to Guice dependency to use the `classes` 
classifier
   - Added `io.airlift:configuration-testing` test dependency
   - Added Maven enforcer plugin configuration to allow AWS S3 SDK v1 
dependencies (required for legacy HDFS file system)
   - Added ignored resource pattern for Jersey and Jetty `about.html` duplicates
   
   #### 2. API Compatibility Changes
   - **HudiConnectorFactory**: Refactored to use new `ConnectorContextModule` 
instead of manually binding context components (OpenTelemetry, Tracer, 
NodeVersion, NodeManager, TypeManager, CatalogName)
   - **HudiConnectorFactory**: Updated `HiveMetastoreModule` constructor to 
include new boolean parameter
   - **HudiConnectorFactory**: Updated `FileSystemModule` constructor to accept 
`ConnectorContext` instead of individual `NodeManager` and `OpenTelemetry` 
parameters
   - **HudiBaseFileOnlyPageSource**: Updated method signatures for 
compatibility with new Trino APIs
   - **HudiPageSource**: Updated method signatures for compatibility with new 
Trino APIs
   - **HudiPageSourceProvider**: Simplified code by leveraging new Trino 
utility methods
   - **HudiMetadata**: Minor API adjustments
   - **HudiModule**: Removed deprecated bindings
   - **HudiSplit**: Removed deprecated methods/fields
   - **HudiTrinoReaderContext**: Updated to use new Trino reader APIs
   - **HudiAvroSerializer**: Minor API adjustments
   
   #### 3. Test Updates
   - Updated test cases to align with new Trino testing framework
   - Added necessary test configurations
   
   ## Impact
   
   ### Public API Changes
   - No changes to Hudi's public APIs or user-facing features
   - Internal Trino plugin APIs updated to match Trino 478 requirements
   
   ### Performance Impact
   - No expected performance degradation
   - Potential performance improvements from Trino 478 optimizations
   
   ### User-Facing Changes
   - Users running Trino 478 can now use the Hudi connector
   - No breaking changes for existing Hudi table operations
   
   ## Risk Level
   
   **Low**
   
   ### Rationale
   - Changes are primarily dependency upgrades and API compatibility updates
   - No modifications to core Hudi functionality or data processing logic
   - The plugin maintains the same functionality with updated Trino APIs
   
   ### Verification
   - All existing test cases have been updated and should pass
   - The changes follow Trino's migration patterns from version 472 to 478
   - No changes to Hudi table format or data storage
   
   ## Documentation Update
   
   **Config Changes:** None - No new configurations added or default values 
changed
   
   **Feature Documentation:** None required - This is an internal compatibility 
update with no new user-facing features
   
   **Website Update:** Not required - This is a maintenance update for Trino 
compatibility
   
   ## Contributor's checklist
   
   - [x] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [x] Enough context is provided in the sections above
   - [ ] Adequate tests were added if applicable *(Note: Existing tests updated 
for compatibility; no new tests needed as functionality unchanged)*
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to