tustvold commented on code in PR #4971:
URL: https://github.com/apache/arrow-rs/pull/4971#discussion_r1370002888
##########
object_store/src/multipart.rs:
##########
@@ -263,3 +267,42 @@ impl<T: PutPart> std::fmt::Debug for WriteMultiPart<T> {
.finish()
}
}
+
+/// A low-level interface for interacting with multipart upload APIs
+///
+/// Most use-cases should prefer [`ObjectStore::put_multipart`] as this is
supported by more
+/// backends, including [`LocalFileSystem`], and automatically handles
uploading fixed
+/// size parts of sufficient size in parallel
+///
+/// [`ObjectStore::put_multipart`]: crate::ObjectStore::put_multipart
+/// [`LocalFileSystem`]: crate::local::LocalFileSystem
+#[async_trait]
+pub trait MultiPartStore: Send + Sync + 'static {
Review Comment:
I would rather not rely on linux-specific logic, especially given the
current system works on OS X and Windows, so this would be a major
functionality regression.
> And that nice new version
I think there is a misunderstanding here, this is not intended as a nice new
version, it is exposing the underlying multipart machinery as users have
use-cases that specifically require it (#4608) (#4691). It is an explicitly
low-level interface for use-cases that just want to support any object store,
and aren't concerned with anything else
--
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]