linliu-code opened a new pull request, #681: URL: https://github.com/apache/hudi-rs/pull/681
## Description `spill-rocksdb` exists so a consumer need not put libclang and a C++ toolchain in front of a tier that only engages above `hoodie.memory.merge.max.size`, but nothing could actually opt out: `hudi` and `hudi-datafusion` both took `hudi-core` with its defaults and forwarded nothing, so `rocksdb` reached every consumer through the umbrella crate. Both now take `hudi-core` with `default-features = false` and forward the feature, still default-on. Forwarding from `hudi-datafusion` as well is what makes the opt-out hold: a consumer can only opt out of a feature its direct dependency exposes, and unification through that crate would otherwise return the tier whatever `hudi` asked for. The Python wheel and the cxx bridge keep the tier, since dropping it makes a merge past the budget fail instead of spilling. Note that `default-features = false` on `hudi` was previously a no-op and now genuinely removes the tier. `AGENTS.md` described the old intent as fact and now describes this. Also cross-references the two delete-record schemas: `HoodieDeleteRecordList` is the wire schema and `HoodieDeleteRecord` its post-unwrap companion, and the singular helpers over the latter are reachable only from that module's own tests while the live decode goes through their plural namesakes, which is what made them read as dead. Follow-up to #660 ([discussion](https://github.com/apache/hudi-rs/pull/660#discussion_r3781318368)). ## How are the changes test-covered - [ ] N/A - [ ] Automated tests (unit and/or integration tests) - [x] Manual tests - [x] Details are described below Feature wiring, so it is verified by the dependency graph rather than a test: `cargo tree -p hudi -i rocksdb` finds `rocksdb` under the defaults and finds nothing under `--no-default-features`, both with and without the `datafusion` feature. `cargo check --workspace --all-targets` and the `hudi-core` suites are green. -- 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]
