orf opened a new issue, #5743:
URL: https://github.com/apache/arrow-rs/issues/5743

   WriteMultipart::put seems to be trivially broken. The method depends on the 
size of the buffer (via the `content_length()` method):
   
   
https://github.com/apache/arrow-rs/blob/b25c441745602c9967b1e3cc4a28bc469cfb1311/object_store/src/upload.rs#L183-L194
   
   However this is not updated by `push()`:
   
   
https://github.com/apache/arrow-rs/blob/b25c441745602c9967b1e3cc4a28bc469cfb1311/object_store/src/payload.rs#L250-L256
   
   Repeated calls to `.put()` will always report a buffer size of 0, and no 
part will ever be uploaded to S3.
   
   Reproduction:
   
   ```rust
   let store = AmazonS3Builder::new().with_bucket_name("foo").build()?;
   let upload = store.put_multipart("foobar").await?;
   let writer = WriteMultipart::new_with_chunk_size(upload, 1024 * 1024 * 25);
    let mut uploader = upload.into_inner();
   uploader.put(Bytes::from_static(b"yo"));
   uploader.put(Bytes::from_static(b"yo2"));
   uploader.put(Bytes::from_static(b"yo3"));
   uploader.finish().await.unwrap();
   ```


-- 
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