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());