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]

Reply via email to