Skip to content

Comments

refactor: Split service fs out of core#6970

Merged
Xuanwo merged 4 commits intoapache:mainfrom
tao12345666333:vibe-fs
Dec 15, 2025
Merged

refactor: Split service fs out of core#6970
Xuanwo merged 4 commits intoapache:mainfrom
tao12345666333:vibe-fs

Conversation

@tao12345666333
Copy link
Member

@tao12345666333 tao12345666333 commented Dec 11, 2025

Which issue does this PR close?

Closes #6893

Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

It's Amp Code in smart mode with Claude 4.5 Opus model. Just one shot.
Full thread https://ampcode.com/threads/T-019b0c93-129d-77d0-a528-471145a5796d

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" labels Dec 11, 2025
@Xuanwo
Copy link
Member

Xuanwo commented Dec 11, 2025

Code looks good overall, but some place inside core seems to refer to fs service, so need another loop

core/src/lib.rs Outdated
Comment on lines 27 to 49
#[cfg(feature = "services-aliyun-drive")]
extern crate opendal_service_aliyun_drive;
#[cfg(feature = "services-azblob")]
extern crate opendal_service_azblob;
#[cfg(feature = "services-azdls")]
extern crate opendal_service_azdls;
#[cfg(feature = "services-azfile")]
extern crate opendal_service_azfile;
#[cfg(feature = "services-fs")]
extern crate opendal_service_fs;
#[cfg(feature = "services-ghac")]
extern crate opendal_service_ghac;
#[cfg(feature = "services-hdfs-native")]
extern crate opendal_service_hdfs_native;
#[cfg(feature = "services-moka")]
extern crate opendal_service_moka;
#[cfg(feature = "services-mysql")]
extern crate opendal_service_mysql;
#[cfg(feature = "services-s3")]
extern crate opendal_service_s3;
#[cfg(feature = "services-vercel-blob")]
extern crate opendal_service_vercel_blob;

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think is the correct fix.

Copy link
Member

@Xuanwo Xuanwo Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fs used to be enabled default in opendal but now it's not, so we should add it here

opendal = { version = ">=0", path = "../../core", features = [
"blocking",
# These are default features before v0.46. TODO: change to optional features
"services-azblob",
"services-azdls",
"services-cos",
"services-fs",
"services-gcs",
"services-ghac",
"services-http",
"services-ipmfs",
"services-memory",
"services-obs",
"services-oss",
"services-s3",
"services-webdav",
"services-webhdfs",
"services-azfile",
] }

Copy link
Member

@Xuanwo Xuanwo Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

emm, seems services-fs have already been registered. Need another look over the test failure.

@Xuanwo
Copy link
Member

Xuanwo commented Dec 11, 2025

I double-checked again. I believe the changes in this PR are correct. However, for reasons we don't know (maybe ctor doesn't work in OCaml?), it doesn't work as expected. We can debug the ocaml's bug in another new issue instead.

Can you change OCaml to test against memory instead? We should just change

test_check_result (Operator.new_operator "fs" cfgs)

Some test cases might fail too, so we need to update them accordingly.

@Xuanwo
Copy link
Member

Xuanwo commented Dec 11, 2025

Ok, it's actually a Rust bug:

@Xuanwo
Copy link
Member

Xuanwo commented Dec 12, 2025

I think we are good to go after merging with main.

Copy link
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Others LGTM now

Added services-fs to the dev-dependencies in integrations/object_store/Cargo.toml
so that the local_fs behavior test for the object_store integration can use the fs service.

Signed-off-by: Jintao Zhang <[email protected]>
Signed-off-by: Jintao Zhang <[email protected]>
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 15, 2025
@Xuanwo Xuanwo merged commit f7ac9c1 into apache:main Dec 15, 2025
332 of 333 checks passed
@tao12345666333 tao12345666333 deleted the vibe-fs branch December 15, 2025 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[core split] Service: fs

2 participants