linliu-code opened a new pull request, #639: URL: https://github.com/apache/hudi-rs/pull/639
## What Adds the context the merge-on-read file group reader needs, and the resolver that derives it from a table's configs. Nothing consumes it: `reader_v2` is `pub(crate)` and unreferenced, and the existing read path is untouched. **Public API delta: none.** ## Why this first This is the first change in a sequence that ports the merge-on-read file group reader. Resolving the context up front gives every later change a defined target to build against, and concentrates the read-semantics decisions in one small reviewable place rather than scattering them across the port. ## Decisions that need review **`append_only` is rejected rather than mapped.** The merge-on-read reader always merges by record key, so no merge mode reproduces "keep every version". The table config derives `append_only` whenever meta fields are disabled or no ordering field is set, which makes it reachable for ordinary tables — so guessing a mode here would silently change which rows a query returns. Erroring keeps the question visible, and costs nothing today because nothing calls the resolver. See the doc comment on `resolve_merge_mode`. **`should_merge_use_record_position` stays off.** Log blocks already carry record positions but nothing reads them, so merging by key is what a read does today. ## Deferred The schema handler, the record context, and the bootstrap flags — until something reads them. `merge_strategy_id` and `iterator_mode` are omitted as well: the merger dispatches on the merge mode, and only one iterator mode is implemented. ## Testing 12 unit tests, one per resolved field or decision, written test-first. Full workspace suite (`cargo test --workspace --all-targets --all-features`) is green; `cargo fmt --check` is clean; no clippy findings in the new module. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
