You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/25 19:29:50 UTC

[3/6] git commit: Revert "JCLOUDS-264: Allow payloads greater than 2 GB"

Revert "JCLOUDS-264: Allow payloads greater than 2 GB"

This reverts commit 7e4cacf9ea12d697d6c48b83a28c12d47ab8cfae.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/99d54c66
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/99d54c66
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/99d54c66

Branch: refs/heads/master
Commit: 99d54c6631ab6facb17f2f3fe270bd331820366d
Parents: 0785d80
Author: Adrian Cole <ad...@gmail.com>
Authored: Fri Oct 24 16:31:31 2014 -0700
Committer: Adrian Cole <ad...@gmail.com>
Committed: Sat Oct 25 10:28:56 2014 -0700

----------------------------------------------------------------------
 .../internal/JavaUrlHttpCommandExecutorService.java     | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/99d54c66/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java b/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java
index d29927f..b326bc7 100644
--- a/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java
+++ b/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java
@@ -16,6 +16,7 @@
  */
 package org.jclouds.http.internal;
 
+import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Throwables.propagate;
 import static com.google.common.io.ByteStreams.toByteArray;
@@ -177,10 +178,15 @@ public class JavaUrlHttpCommandExecutorService extends BaseHttpCommandExecutorSe
             connection.setChunkedStreamingMode(8196);
             writePayloadToConnection(payload, "streaming", connection);
          } else {
-            long length = checkNotNull(md.getContentLength(), "payload.getContentLength");
+            Long length = checkNotNull(md.getContentLength(), "payload.getContentLength");
+            // TODO: remove check after moving to JDK 7.
+            checkArgument(length <= Integer.MAX_VALUE,
+                  "Cannot transfer 2 GB or larger chunks due to JDK 1.6 limitations." +
+                  " Use chunked encoding or multi-part upload, if possible." +
+                  " For more information: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6755625");
             if (length > 0) {
-               connection.setRequestProperty(CONTENT_LENGTH, String.valueOf(length));
-               connection.setFixedLengthStreamingMode(length);
+               connection.setRequestProperty(CONTENT_LENGTH, length.toString());
+               connection.setFixedLengthStreamingMode(length.intValue());
                writePayloadToConnection(payload, length, connection);
             } else {
                writeNothing(connection);