From 017032c465ff20ef255914eff9b58da67c5e46b4 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Wed, 25 Mar 2015 01:31:12 +0100 Subject: [PATCH] Fix IllegalArgumentException in AmazonS3 JGit hit IllegalArgumentException: invalid content length when pushing large packs to S3. Bug: 463015 Change-Id: Iddf50d90c7e3ccb15b9ff71233338c6b204b3648 Signed-off-by: Matthias Sohn --- org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java index 705a84613..f43ea637a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java @@ -489,16 +489,14 @@ private void putImpl(final String bucket, final String key, final String md5str = Base64.encodeBytes(csum); final long len = buf.length(); - final String lenstr = String.valueOf(len); for (int curAttempt = 0; curAttempt < maxAttempts; curAttempt++) { final HttpURLConnection c = open("PUT", bucket, key); //$NON-NLS-1$ - c.setRequestProperty("Content-Length", lenstr); //$NON-NLS-1$ + c.setFixedLengthStreamingMode(len); c.setRequestProperty("Content-MD5", md5str); //$NON-NLS-1$ c.setRequestProperty(X_AMZ_ACL, acl); encryption.request(c, X_AMZ_META); authorize(c); c.setDoOutput(true); - c.setFixedLengthStreamingMode((int) len); monitor.beginTask(monitorTask, (int) (len / 1024)); final OutputStream os = c.getOutputStream(); try {