[ 
https://issues.apache.org/jira/browse/JCLOUDS-801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268538#comment-14268538
 ] 

Andrew Gaul commented on JCLOUDS-801:
-------------------------------------

I now understand the regression and reproduced these symptoms:

{noformat}
testPutMultipartInputStream(org.jclouds.aws.s3.blobstore.integration.AWSS3BlobIntegrationLiveTest)
  Time elapsed: 28.167 sec  <<< FAILURE!
java.lang.RuntimeException: java.io.EOFException: reached end of stream after 
skipping 1 bytes; 33554432 bytes expected
        at com.google.common.base.Throwables.propagate(Throwables.java:160)
        at 
org.jclouds.io.internal.BasePayloadSlicer.doSlice(BasePayloadSlicer.java:171)
        at 
org.jclouds.io.internal.BasePayloadSlicer.slice(BasePayloadSlicer.java:146)
        at 
org.jclouds.aws.s3.blobstore.strategy.internal.SequentialMultipartUploadStrategy.prepareUploadPart(SequentialMultipartUploadStrategy.java:112)
        at 
org.jclouds.aws.s3.blobstore.strategy.internal.SequentialMultipartUploadStrategy.execute(SequentialMultipartUploadStrategy.java:95)
        at 
org.jclouds.aws.s3.blobstore.AWSS3BlobStore.putBlob(AWSS3BlobStore.java:88)
        at 
org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutMultipart(BaseBlobIntegrationTest.java:553)
        at 
org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutMultipartInputStream(BaseBlobIntegrationTest.java:538)
{noformat}

I have a fix in-hand and will backfill a test.

> AWS S3 Multipart upload does not work with InputStream payload
> --------------------------------------------------------------
>
>                 Key: JCLOUDS-801
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-801
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>    Affects Versions: 1.8.0, 1.8.1
>            Reporter: Richard Nichols
>
> These was previously fixed in JCLOUDS-356 but no longer works.
> Based on my analysis of the code, this is because 
> SequentialMultipartUploadStrategy no longer calls Payload.slice(...) 
> returning Iterable<Payload> but instead calls the same returning Payload for 
> an offset and length. This will not work with a non-repeatable InputStream.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to