You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2017/05/08 18:10:37 UTC
[35/50] jclouds git commit: JCLOUDS-912: GCS upload InputStream work
around
JCLOUDS-912: GCS upload InputStream work around
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/c2a22bc3
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/c2a22bc3
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/c2a22bc3
Branch: refs/heads/master
Commit: c2a22bc32ca5e3f82c6cb5fedcb1924bc251b20f
Parents: 5d43731
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Jun 3 12:38:43 2016 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Fri Jun 3 12:38:43 2016 -0700
----------------------------------------------------------------------
.../blobstore/GoogleCloudStorageBlobStore.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/c2a22bc3/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
----------------------------------------------------------------------
diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
index 10ebfc1..1cb927e 100644
--- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
+++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GoogleCloudStorageBlobStore.java
@@ -214,7 +214,9 @@ public final class GoogleCloudStorageBlobStore extends BaseBlobStore {
@Override
public String putBlob(String container, Blob blob, PutOptions options) {
- if (options.isMultipart()) {
+ if (options.isMultipart() || !blob.getPayload().isRepeatable()) {
+ // JCLOUDS-912 prevents using single-part uploads with InputStream payloads.
+ // Work around this with multi-part upload which buffers parts in-memory.
return putMultipartBlob(container, blob, options);
} else {
checkNotNull(blob.getPayload().getContentMetadata().getContentLength());