linliu-code commented on code in PR #681:
URL: https://github.com/apache/hudi-rs/pull/681#discussion_r3793149525


##########
crates/hudi/Cargo.toml:
##########
@@ -28,10 +28,21 @@ homepage.workspace = true
 repository.workspace = true
 
 [dependencies]
-hudi-core = { version = "0.5.0-dev", path = "../core" }
-hudi-datafusion = { version = "0.5.0-dev", path = "../datafusion", optional = 
true }
+hudi-core = { version = "0.5.0-dev", path = "../core", default-features = 
false }
+hudi-datafusion = { version = "0.5.0-dev", path = "../datafusion", optional = 
true, default-features = false }
 
 [features]
+default = ["spill-rocksdb"]

Review Comment:
   Good point, and it turned out the changelog cannot carry it: that file is 
generated per release from PR titles, and this title would not convey the 
behavior change. Added an explicit "Upgrade note" section at the top of the PR 
description instead, so whoever cuts 0.5.0 has the wording to lift. It only 
affects consumers already passing `default-features = false`; anyone on 
defaults is unchanged.



##########
.github/workflows/ci.yml:
##########
@@ -105,6 +105,15 @@ jobs:
         run: cargo clippy -p hudi-core --lib --no-default-features -- -D 
warnings
       - name: Unit tests without the spill backend
         run: cargo test -p hudi-core --lib --no-default-features --no-fail-fast
+      # The umbrella crate is where a consumer actually opts out, and it 
reaches
+      # hudi-core twice: directly, and through hudi-datafusion. Either edge 
taking
+      # default features hands the tier back without the steps above noticing,
+      # since they only build hudi-core. Both shapes are built here, where 
there
+      # is no libclang to build rocksdb with.
+      - name: Check the umbrella crate without the spill backend

Review Comment:
   Fair, that was an assumption about the environment rather than a statement 
about the graph. Added a step that asserts directly on `cargo tree -i rocksdb` 
for both opt-out shapes, which does not depend on libclang being absent and 
keeps working if this job ever gains a C++ toolchain. Mutation-checked: 
restoring default features on the umbrella crate makes it exit 1.



-- 
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