voonhous opened a new issue, #19413: URL: https://github.com/apache/hudi/issues/19413
Follow-up from the #19295 review (https://github.com/apache/hudi/pull/19295#discussion_r3679361621). `HudiTrinoReaderContext.getRecordMerger` returns `HoodieAvroRecordMerger` for EVENT_TIME_ORDERING and `OverwriteWithLatestMerger` for COMMIT_TIME_ORDERING. When a log block carries the `IS_PARTIAL` header, `BufferedRecordMergerFactory.create` wraps the record merger in `PartialUpdateBufferedRecordMerger`, which delegates to `HoodieRecordMerger.partialMerge`. Neither Avro merger overrides `partialMerge`, so reading such a table through the Trino connector hits the throwing default (`UnsupportedOperationException`). This is not Trino-specific: `HoodieAvroReaderContext` returns the same mergers, and the only production merger implementing `partialMerge` is `DefaultSparkRecordMerger`, so the whole Avro read path shares the gap. Scope: - implement `partialMerge` for the Avro mergers in hudi-common (or an Avro partial-merge fallback) - add a Trino read test over a MoR table with `IS_PARTIAL` log blocks for both ordering modes Tracked inline via a TODO in `HudiTrinoReaderContext.getRecordMerger`. -- 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]
