Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issues of RFC-5444: Operator From Uri #5445

Open
Xuanwo opened this issue Dec 23, 2024 · 3 comments
Open

Tracking issues of RFC-5444: Operator From Uri #5445

Xuanwo opened this issue Dec 23, 2024 · 3 comments

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Dec 23, 2024

@jorgehermo9
Copy link
Contributor

jorgehermo9 commented Dec 29, 2024

Hi

I would like to start working on this.

I think it would be too much to implement all the Configurator::from_uri methods for all services at once in a single PR. Should I split it into:

First, initial implementation PR addressing

1. The `OperatorFactory` and `OperatorRegistry`:
OperatorRegistry and etc, but using a default implementation of Configurator::from_uri such as

pub trait Configurator{
 pub fn from_uri(uri: &str, options: impl IntoIterator<Item = (String, String)>) -> Result<Self> {
  todo!()
 }
}

and finally, implement Configurator::from_uri for each service (and remove that default implementation) in follow-up Prs?

@Xuanwo
Copy link
Member Author

Xuanwo commented Dec 30, 2024

OperatorRegistry and etc, but using a default implementation of Configurator::from_uri such as

Hi, I believe most services can simply use the default implementations. Only specific ones, like s3 and azblob, need to implement their own. So it's will be a great start to just implement the default implementations first.

@jorgehermo9
Copy link
Contributor

jorgehermo9 commented Dec 30, 2024

Hi @Xuanwo

I see that ofs uses something similar to this but in a rudimentary way, as the core lack this functionality before this implementation.

Should we create a new issue to use Operator::from_uri (once this issue is addressed) in

let backend = Operator::via_iter(scheme, op_args)?;
so ofs supports ALL the available operators instead of just s3 and fs?
`ofs` is a work in progress. we only support `fs` and `s3` as backend on `Linux` currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants