-
Notifications
You must be signed in to change notification settings - Fork 0
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
Rebase on object_store #22
Comments
Async traits are stable, and object-store has a release candidate with suffix requests, so this can get going. Some design decisions tie in to the async strategy. object-store asynchronously provides the whole block of bytes rather than a reader. IRL anything providing a Read/ Write interface will probably be doing so over an opaque buffer anyway, and chunks should be small compared to RAM so I don't think this is a problem. The difference is how that buffer is allocated, I suppose. Async functions should not block, i.e. all CPU-heavy functions (e.g. compression) should be pushed down into async functions. But at the end of the day, these are probably just going to call @JackKelly has probably thought about concurrency models as they apply to IO more than I have - any thoughts? The options are
|
Incompatibilities
So we'll keep the current traits (with some signature changes) and just |
Hey Chris! This all sounds very interesting. FWIW, I've been slowly hacking away on light-speed-io. I'm currently focused on using On the topic of async: I was originally thinking of using async. But I've shifted towards using One day, I'd hope that |
https://crates.io/crates/object_store
Pros
Cons
wasm32-unknown-unknown
withhttp
feature apache/arrow-rs#4776We use traits a lot, and async methods on traits aren't stable yet, but may be as of 2023-12-28get
andget_range{s}
use an async stream wrapping aBytes
respectively; both would need wrapping overdoesn't allow suffix ranges yet object_store: range request with suffix apache/arrow-rs#4611With any move to async, BB codecs in particular would need major rewrites, and make use of https://crates.io/crates/async-compression for compression.
The text was updated successfully, but these errors were encountered: