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