JCLOUDS-264: Allow payloads greater than 2 GB Enabled by JDK 7.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/7e4cacf9 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/7e4cacf9 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/7e4cacf9 Branch: refs/heads/master Commit: 7e4cacf9ea12d697d6c48b83a28c12d47ab8cfae Parents: 5e8bd02 Author: Andrew Gaul <[email protected]> Authored: Thu Apr 17 08:16:47 2014 +0800 Committer: Andrew Gaul <[email protected]> Committed: Sat Aug 9 00:28:49 2014 -0700 ---------------------------------------------------------------------- .../http/internal/JavaUrlHttpCommandExecutorService.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/7e4cacf9/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 7a34c31..76d8fe2 100644 --- a/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java +++ b/core/src/main/java/org/jclouds/http/internal/JavaUrlHttpCommandExecutorService.java @@ -180,15 +180,10 @@ public class JavaUrlHttpCommandExecutorService extends BaseHttpCommandExecutorSe connection.setChunkedStreamingMode(8196); writePayloadToConnection(payload, "streaming", connection); } else { - 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"); + long length = checkNotNull(md.getContentLength(), "payload.getContentLength"); if (length > 0) { - connection.setRequestProperty(CONTENT_LENGTH, length.toString()); - connection.setFixedLengthStreamingMode(length.intValue()); + connection.setRequestProperty(CONTENT_LENGTH, String.valueOf(length)); + connection.setFixedLengthStreamingMode(length); writePayloadToConnection(payload, length, connection); } else { writeNothing(connection);
