sparsh-30 opened a new pull request, #19855:
URL: https://github.com/apache/hudi/pull/19855
### Describe the issue this Pull Request addresses
Closes #19841.
Several schema-related utilities contain duplicated logic. Projection schema
generation is implemented in both `HoodieSchemaUtils` and
`HoodieRealtimeRecordReaderUtils`, while timestamp-millis detection is
duplicated between `HoodieSchemaRepair` and `HoodieTableMetadataUtil`.
### Summary and Changelog
- Add a shared projection schema generation overload to `HoodieSchemaUtils`.
- Preserve the source schema's error flag when creating projection schemas.
- Update `AbstractRealtimeRecordReader` to use the common utility.
- Remove the duplicate projection schema generation method from
`HoodieRealtimeRecordReaderUtils`.
- Move the shared `timestamp-millis` predicate to `HoodieSchemaUtils`.
- Reuse `HoodieSchemaUtils.isTimestampMillisField` from `HoodieSchemaRepair`
and `HoodieTableMetadataUtil`.
### Impact
No user-facing behavior or storage-format change is introduced.
The refactoring preserves existing schema projection and timestamp-millis
detection behavior while reducing duplicated implementation logic. No new
public feature or configuration is added.
### Risk Level
Low. The changes consolidate existing implementations and update callers to
use the shared utilities. The affected schema utility, schema repair, and
realtime reader test coverage will be used to verify that behavior remains
unchanged.
### Documentation Update
none
### Contributor's checklist
- [x] Read through contributor's guide
- [x] Enough context is provided in the sections above
- [x] Adequate tests were added if applicable
--
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]