yihua opened a new pull request, #849:
URL: https://github.com/apache/hudi-rs/pull/849

   ## Description
   
   The C ABI crate takes `hudi` with its defaults, so a consumer of 
`hudi-jvm-ffi` gets the merge map's on-disk tier (`spill-rocksdb`, and with it 
RocksDB, bindgen and libclang) with no way to opt out, since a consumer can 
only drop a feature its direct dependency exposes. This forwards the feature 
the way `hudi-datafusion` and `hudi` already do: `default = ["spill-rocksdb"]`, 
`spill-rocksdb = ["hudi/spill-rocksdb"]`, and `hudi` taken with 
`default-features = false`. Default builds are unchanged; a consumer that wants 
the tier gone builds the crate with `--no-default-features`.
   
   The `no-spill-backend` CI job now checks the crate without the feature and 
includes it in the `cargo tree -i rocksdb` presence and absence assertions, so 
a change that reintroduces the native dependency through this crate fails 
there. The Features paragraph in `AGENTS.md` names the crate among the 
forwarders.
   
   Follows the review on #834, which rebases onto this once it lands, alongside 
#847.
   
   ## How are the changes test-covered
   
   - [ ] N/A
   - [x] Automated tests (unit and/or integration tests)
   - [x] Manual tests
     - [x] Details are described below
   
   The CI dependency-graph assertion is the test: with `--no-default-features`, 
`cargo tree -p hudi-jvm-ffi -i rocksdb` reports the package absent, and with 
defaults it still lists `rocksdb` under `hudi-core`. On `main` the opt-out form 
still reaches `rocksdb`. Locally, `cargo check`, `cargo clippy --all-targets -D 
warnings` and `cargo test -p hudi-jvm-ffi` pass both with defaults and with 
`--no-default-features`, and `Cargo.lock` is 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