You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Paul Risenhoover <pr...@daxsolutions.com> on 2006/08/07 17:53:18 UTC
HttpClient and Large File (>2GB) Support
Greetings all,
I have searched the web and browsed the mailing list archives for a
solution to my problem but have been unable to find anything
substantial. I'm hoping somebody here might point me in the right
direction.
The problem I'm having is with large files (>2Gb). The HttpClient
package simply doesn't seem to want to accept them. I've got a
servlet/applet comination in which the applet sends file to the servlet,
and when I try to send a file over 2GB, I get the exception trace that
you can see at the bottom of this page. It works perfectly for files
under 2GB.
Has anybody else seen this problem? Any thoughts on how to resolve it?
Thanks,
Paul
2006-08-07 08:50:38,380 DEBUG (MediaBatchUploadControl.java:670)
ioexception - user may have lost connectivity.
java.io.IOException: Corrupt form data: premature ending
at
com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
at
com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:119)
... <snip>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at
org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:138)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run()V(Unknown Source)
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
Re: HttpClient and Large File (>2GB) Support
Posted by Paul Risenhoover <pr...@daxsolutions.com>.
Hi Roland,
I'm happy to say that the information you provided was enough to allow
me to find the problem. As you guessed, the issue was with the
Content-Length header, and settting it to a value under 2^32 was the
solution.
Thanks,
Paul
Roland Weber wrote:
>Hi Paul,
>
>
>
>>Ok. I'll try that. But I guess the question remains, if this isn't a
>>problem with the client side, is there a way to find the root cause of
>>the problem and fix it on the server side?
>>
>>
>
>The root cause is that the designers of the Java language decided to
>provide only signed integers, not unsigned ones. It is quite common
>to use the faster 'int' rather than 'long' variables for counters,
>and if the counter goes beyond 2 GB, you run into problems.
>By removing the Content-Length header, you are removing one possible
>cause of a problem that can even be found in the Servlet API:
>http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletRequest.html#getContentLength()
>Notice that the return value is an int, not a long?
>
>Of course you can file a bug report against the server software,
>but I wouldn't count on getting it fixed if removing the header
>is a suitable workaround. If sending the data without the length
>still causes an exception, then you'd have to push the issue.
>
>cheers,
> Roland
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
>
>
>
>
--
Paul Risenhoover - Director of Engineering - DAX Solutions, Inc. - 310-478-6644
____
This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
Re: HttpClient and Large File (>2GB) Support
Posted by Roland Weber <ht...@dubioso.net>.
Hi Paul,
> Ok. I'll try that. But I guess the question remains, if this isn't a
> problem with the client side, is there a way to find the root cause of
> the problem and fix it on the server side?
The root cause is that the designers of the Java language decided to
provide only signed integers, not unsigned ones. It is quite common
to use the faster 'int' rather than 'long' variables for counters,
and if the counter goes beyond 2 GB, you run into problems.
By removing the Content-Length header, you are removing one possible
cause of a problem that can even be found in the Servlet API:
http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletRequest.html#getContentLength()
Notice that the return value is an int, not a long?
Of course you can file a bug report against the server software,
but I wouldn't count on getting it fixed if removing the header
is a suitable workaround. If sending the data without the length
still causes an exception, then you'd have to push the issue.
cheers,
Roland
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
Re: HttpClient and Large File (>2GB) Support
Posted by Paul Risenhoover <pr...@daxsolutions.com>.
Ok. I'll try that. But I guess the question remains, if this isn't a
problem with the client side, is there a way to find the root cause of
the problem and fix it on the server side?
Roland Weber wrote:
>Hi Paul,
>
>
>
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "POST
>>/AppWeb/MediaBatchUploadControl HTTP/1.1[\r][\n]"
>>2006/08/07 11:37:18:598 PDT [DEBUG] HttpMethodBase - Adding Host request
>>header
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "User-Agent: Jakarta
>>Commons-HttpClient/3.1-alpha1[\r][\n]"
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Host:
>>test.xxxx.com[\r][\n]"
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Length:
>>3102473741[\r][\n]"
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Type:
>>multipart/form-data;
>>boundary=----------------314159265358979323846[\r][\n]"
>>2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "[\r][\n]"
>>
>>
>
>This does not look like a problem on the client side. As you can see,
>the Content-Length header has a positive value over 2GB. However, a
>server may be caught off guard by such a value.
>
>In your place, I would get rid of the Content-Length header field
>to avoid this problem. Derive a class from MultiPartRequestEntity
>and override getContentLength() to return -1, that should do the
>trick.
>http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/multipart/MultipartRequestEntity.html#getContentLength()
>
>
>hope that helps,
> Roland
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
>
>
>
>
--
Paul Risenhoover - Director of Engineering - DAX Solutions, Inc. - 310-478-6644
____
This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
Re: HttpClient and Large File (>2GB) Support
Posted by Roland Weber <ht...@dubioso.net>.
Hi Paul,
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "POST
> /AppWeb/MediaBatchUploadControl HTTP/1.1[\r][\n]"
> 2006/08/07 11:37:18:598 PDT [DEBUG] HttpMethodBase - Adding Host request
> header
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "User-Agent: Jakarta
> Commons-HttpClient/3.1-alpha1[\r][\n]"
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Host:
> test.xxxx.com[\r][\n]"
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Length:
> 3102473741[\r][\n]"
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Type:
> multipart/form-data;
> boundary=----------------314159265358979323846[\r][\n]"
> 2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "[\r][\n]"
This does not look like a problem on the client side. As you can see,
the Content-Length header has a positive value over 2GB. However, a
server may be caught off guard by such a value.
In your place, I would get rid of the Content-Length header field
to avoid this problem. Derive a class from MultiPartRequestEntity
and override getContentLength() to return -1, that should do the
trick.
http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/methods/multipart/MultipartRequestEntity.html#getContentLength()
hope that helps,
Roland
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
Re: HttpClient and Large File (>2GB) Support
Posted by Paul Risenhoover <pr...@daxsolutions.com>.
Here's a header wire and context log of the transaction. Any advice
would be helpful.
Thanks,
Paul
thread applet-UploadManager.class: 08/07/06 11:37:00-v 1.0.53 (wpr)
thread applet-UploadManager.class: 08/07/06 11:37:00-DEBUG: encrypted
authcess ticket is xxxx
thread applet-UploadManager.class: 08/07/06 11:37:00-DEBUG: using
parameter supplied host (test.yyy.com)
thread applet-UploadManager.class: 08/07/06 11:37:00-DEBUG: port: null
thread applet-UploadManager.class: 08/07/06 11:37:00-DEBUG: using
default port (80)
thread applet-UploadManager.class: 08/07/06 11:37:00-proxy host:
thread applet-UploadManager.class: 08/07/06 11:37:00-proxy port: 80
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Java version: 1.5.0_07
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Java vendor: Sun
Microsystems Inc.
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Java class path:
C:\Documents and Settings\pauly\workspace\UploadManager\bin;C:\Documents
and
Settings\pauly\workspace\DAXAppWeb\WebContent\WEB-INF\lib\commons-logging-1.0.4.jar
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Operating system name:
Windows 2003
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Operating system
architecture: x86
2006/08/07 11:37:01:036 PDT [DEBUG] HttpClient - Operating system
version: 5.2
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SUN 1.5: SUN (DSA
key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom;
X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX
CertPathBuilder; LDAP, Collection CertStores)
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SunRsaSign 1.5: Sun RSA
signature provider
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SunJSSE 1.5: Sun JSSE
provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SunJCE 1.5: SunJCE
Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2,
PBE, Diffie-Hellman, HMAC)
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SunJGSS 1.0: Sun
(Kerberos v5)
2006/08/07 11:37:01:161 PDT [DEBUG] HttpClient - SunSASL 1.5: Sun SASL
provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL,
PLAIN, CRAM-MD5; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5)
2006/08/07 11:37:01:161 PDT [DEBUG] DefaultHttpParams - Set parameter
http.useragent = Jakarta Commons-HttpClient/3.1-alpha1
2006/08/07 11:37:01:161 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.version = HTTP/1.1
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.connection-manager.class = class
org.apache.commons.httpclient.SimpleHttpConnectionManager
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.cookie-policy = default
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.element-charset = US-ASCII
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.content-charset = ISO-8859-1
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.method.retry-handler =
org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@54c4ad
2006/08/07 11:37:01:176 PDT [DEBUG] DefaultHttpParams - Set parameter
http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE,
dd-MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy
HH:mm:ss z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z, EEE
dd-MMM-yyyy HH:mm:ss z, EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy
HH-mm-ss z, EEE dd-MMM-yy HH:mm:ss z, EEE dd MMM yy HH:mm:ss z,
EEE,dd-MMM-yy HH:mm:ss z, EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy
HH:mm:ss z]
2006/08/07 11:37:01:254 PDT [DEBUG] HttpConnection - Open connection to
test.yyy.com:80
2006/08/07 11:37:01:348 PDT [DEBUG] header - >> "GET
/AppWeb/MediaBatchUploadControl?getProjectsForUser=xxx&categoriesOnlyForProject=2
HTTP/1.1[\r][\n]"
2006/08/07 11:37:01:348 PDT [DEBUG] HttpMethodBase - Adding Host request
header
2006/08/07 11:37:01:364 PDT [DEBUG] header - >> "User-Agent: Jakarta
Commons-HttpClient/3.1-alpha1[\r][\n]"
2006/08/07 11:37:01:364 PDT [DEBUG] header - >> "Host: test.xxx.com[\r][\n]"
2006/08/07 11:37:01:364 PDT [DEBUG] header - >> "[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "HTTP/1.1 200 OK[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Date: Mon, 07 Aug 2006
18:37:59 GMT[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Server: Apache/2.2.2
(Unix) mod_ssl/2.2.2 OpenSSL/0.9.7f mod_jk/1.2.15 mod_perl/2.0.2
Perl/v5.8.6[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "X-Powered-By: Servlet
2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1
date=200510231054)/Tomcat-5.5[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Set-Cookie:
JSESSIONID=DxnyR-nr3v2qtD91aYidaQ**; Path=/[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Content-Type:
text/plain[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Transfer-Encoding:
chunked[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Connection:
Keep-alive[\r][\n]"
2006/08/07 11:37:01:426 PDT [DEBUG] header - << "Via: 1.1
AN-0003011011165420[\r][\n]"
2006/08/07 11:37:01:473 PDT [DEBUG] HttpMethodBase - Cookie accepted:
"$Version=0; JSESSIONID=DxnyR-nr3v2qtD91aYidaQ**; $Path=/"
thread applet-UploadManager.class: 08/07/06 11:37:01-Found 6 categories
FIFOQueue: adding C:\Documents and Settings\pauly\Desktop\rad.rar
AWT-EventQueue-1: 08/07/06 11:37:16-Connection is: null
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.connection.timeout = 30000
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.unambiguous-statusline = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.single-cookie-header = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.strict-transfer-encoding = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.reject-head-body = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.warn-extra-input = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.status-line-garbage-limit = 0
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.reject-relative-redirect = true
2006/08/07 11:37:16:817 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.allow-circular-redirects = true
AWT-EventQueue-1: 08/07/06 11:37:16-user requested upload or restart upload.
Thread-3: 08/07/06 11:37:16-total threads: 1 now
FIFOQueue: getNext C:\Documents and Settings\pauly\Desktop\rad.rar
Thread-3: 08/07/06 11:37:16-Retrieved rad.rar from queue
Thread-3: 08/07/06 11:37:16-There are 0 files left in queue
2006/08/07 11:37:16:911 PDT [WARN] SimpleHttpConnectionManager -
SimpleHttpConnectionManager being used incorrectly. Be sure that
HttpMethod.releaseConnection() is always called and that only one thread
and/or method is using this connection manager at a time.
2006/08/07 11:37:16:911 PDT [DEBUG] HttpConnection - Open connection to
test.xxxx.com:80
2006/08/07 11:37:16:926 PDT [DEBUG] header - >> "GET
/AppWeb/MediaBatchUploadControl?fileKey=sk7LGgi48bAIvg8i4h784g%3D%3D
HTTP/1.1[\r][\n]"
2006/08/07 11:37:16:926 PDT [DEBUG] HttpMethodBase - Adding Host request
header
2006/08/07 11:37:16:926 PDT [DEBUG] header - >> "User-Agent: Jakarta
Commons-HttpClient/3.1-alpha1[\r][\n]"
2006/08/07 11:37:16:926 PDT [DEBUG] header - >> "Host: test.xxx.com[\r][\n]"
2006/08/07 11:37:16:926 PDT [DEBUG] header - >> "[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "HTTP/1.1 200 OK[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Date: Mon, 07 Aug 2006
18:38:15 GMT[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Server: Apache/2.2.2
(Unix) mod_ssl/2.2.2 OpenSSL/0.9.7f mod_jk/1.2.15 mod_perl/2.0.2
Perl/v5.8.6[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "X-Powered-By: Servlet
2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1
date=200510231054)/Tomcat-5.5[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Content-Type:
text/plain[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Content-Length: 3[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Connection:
Keep-alive[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] header - << "Via: 1.1
AN-0003011011165420[\r][\n]"
2006/08/07 11:37:18:442 PDT [DEBUG] HttpMethodBase - Should NOT close
connection in response to directive: Keep-alive
2006/08/07 11:37:18:442 PDT [DEBUG] HttpConnection - Releasing
connection back to connection manager.
Thread-3: 08/07/06 11:37:18-Skip bytes: 0
Thread-3: 08/07/06 11:37:18-uploading rad.rar
2006/08/07 11:37:18:504 PDT [DEBUG] header - >> "GET
/AppWeb/MediaBatchUploadControl?fileKey=sk7LGgi48bAIvg8i4h784g%3D%3D
HTTP/1.1[\r][\n]"
2006/08/07 11:37:18:504 PDT [DEBUG] HttpMethodBase - Adding Host request
header
2006/08/07 11:37:18:504 PDT [DEBUG] header - >> "User-Agent: Jakarta
Commons-HttpClient/3.1-alpha1[\r][\n]"
2006/08/07 11:37:18:504 PDT [DEBUG] header - >> "Host: test.xxx.com[\r][\n]"
2006/08/07 11:37:18:504 PDT [DEBUG] header - >> "[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "HTTP/1.1 200 OK[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Date: Mon, 07 Aug 2006
18:38:17 GMT[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Server: Apache/2.2.2
(Unix) mod_ssl/2.2.2 OpenSSL/0.9.7f mod_jk/1.2.15 mod_perl/2.0.2
Perl/v5.8.6[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "X-Powered-By: Servlet
2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1
date=200510231054)/Tomcat-5.5[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Content-Type:
text/plain[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Content-Length: 3[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Connection:
Keep-alive[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] header - << "Via: 1.1
AN-0003011011165420[\r][\n]"
2006/08/07 11:37:18:567 PDT [DEBUG] HttpMethodBase - Should NOT close
connection in response to directive: Keep-alive
2006/08/07 11:37:18:567 PDT [DEBUG] HttpConnection - Releasing
connection back to connection manager.
Thread-3: 08/07/06 11:37:18-Skip bytes: 0
Thread-3: 08/07/06 11:37:18-upload filename: rad.rar
Thread-3: 08/07/06 11:37:18-append: false
2006/08/07 11:37:18:598 PDT [DEBUG] DefaultHttpParams - Set parameter
http.protocol.expect-continue = false
Thread-3: 08/07/06 11:37:18-Uploading rad.rar
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "POST
/AppWeb/MediaBatchUploadControl HTTP/1.1[\r][\n]"
2006/08/07 11:37:18:598 PDT [DEBUG] HttpMethodBase - Adding Host request
header
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "User-Agent: Jakarta
Commons-HttpClient/3.1-alpha1[\r][\n]"
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Host:
test.xxxx.com[\r][\n]"
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Length:
3102473741[\r][\n]"
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "Content-Type:
multipart/form-data; boundary=----------------314159265358979323846[\r][\n]"
2006/08/07 11:37:18:598 PDT [DEBUG] header - >> "[\r][\n]"
Oleg Kalnichevski wrote:
>On Mon, 2006-08-07 at 10:29 -0700, Paul Risenhoover wrote:
>
>>I've been using the 3.0.1 version for the last year or so, but last week
>>I upgraded to 3.1-alpha1 (hoping the problem would be resolved) and the
>>problem remains.
>>
>>
>
>Please post a wire/context log of an HTTP session that exhibits the
>problem
>
>http://jakarta.apache.org/commons/httpclient/logging.html
>
>Oleg
>
>
>
>>Oleg Kalnichevski wrote:
>>
>>
>>>On Mon, 2006-08-07 at 08:53 -0700, Paul Risenhoover wrote:
>>>
>>>
>>>
>>>>Greetings all,
>>>>
>>>>I have searched the web and browsed the mailing list archives for a
>>>>solution to my problem but have been unable to find anything
>>>>substantial. I'm hoping somebody here might point me in the right
>>>>direction.
>>>>
>>>>The problem I'm having is with large files (>2Gb). The HttpClient
>>>>package simply doesn't seem to want to accept them. I've got a
>>>>servlet/applet comination in which the applet sends file to the servlet,
>>>>and when I try to send a file over 2GB, I get the exception trace that
>>>>you can see at the bottom of this page. It works perfectly for files
>>>>under 2GB.
>>>>
>>>>Has anybody else seen this problem? Any thoughts on how to resolve it?
>>>>
>>>>Thanks,
>>>>Paul
>>>>
>>>>
>>>>
>>>>
>>>What version of HttpClient are you using?
>>>
>>>Oleg
>>>
>>>
>>>
>>>
>>>
>>>>2006-08-07 08:50:38,380 DEBUG (MediaBatchUploadControl.java:670)
>>>>ioexception - user may have lost connectivity.
>>>>java.io.IOException: Corrupt form data: premature ending
>>>> at
>>>>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
>>>> at
>>>>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:119)
>>>>... <snip>
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>>> at
>>>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>>>> at
>>>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>>> at
>>>>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
>>>> at
>>>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>>> at
>>>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>>> at
>>>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>>> at
>>>>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>>>> at
>>>>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
>>>> at
>>>>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
>>>> at
>>>>org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
>>>> at
>>>>org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
>>>> at
>>>>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>>>> at
>>>>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>>>> at
>>>>org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:138)
>>>> at
>>>>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>>>> at
>>>>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>>>> at
>>>>org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
>>>> at
>>>>org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
>>>> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
>>>> at
>>>>org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
>>>> at
>>>>org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
>>>> at
>>>>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>>> at java.lang.Thread.run()V(Unknown Source)
>>>>
>>>>
Re: HttpClient and Large File (>2GB) Support
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Mon, 2006-08-07 at 10:29 -0700, Paul Risenhoover wrote:
> I've been using the 3.0.1 version for the last year or so, but last week
> I upgraded to 3.1-alpha1 (hoping the problem would be resolved) and the
> problem remains.
>
Please post a wire/context log of an HTTP session that exhibits the
problem
http://jakarta.apache.org/commons/httpclient/logging.html
Oleg
> Oleg Kalnichevski wrote:
>
> >On Mon, 2006-08-07 at 08:53 -0700, Paul Risenhoover wrote:
> >
> >
> >>Greetings all,
> >>
> >>I have searched the web and browsed the mailing list archives for a
> >>solution to my problem but have been unable to find anything
> >>substantial. I'm hoping somebody here might point me in the right
> >>direction.
> >>
> >>The problem I'm having is with large files (>2Gb). The HttpClient
> >>package simply doesn't seem to want to accept them. I've got a
> >>servlet/applet comination in which the applet sends file to the servlet,
> >>and when I try to send a file over 2GB, I get the exception trace that
> >>you can see at the bottom of this page. It works perfectly for files
> >>under 2GB.
> >>
> >>Has anybody else seen this problem? Any thoughts on how to resolve it?
> >>
> >>Thanks,
> >>Paul
> >>
> >>
> >>
> >
> >What version of HttpClient are you using?
> >
> >Oleg
> >
> >
> >
> >
> >>2006-08-07 08:50:38,380 DEBUG (MediaBatchUploadControl.java:670)
> >>ioexception - user may have lost connectivity.
> >>java.io.IOException: Corrupt form data: premature ending
> >> at
> >>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
> >> at
> >>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:119)
> >>... <snip>
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> >> at
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> >> at
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> >> at
> >>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
> >> at
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> >> at
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> >> at
> >>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> >> at
> >>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> >> at
> >>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
> >> at
> >>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
> >> at
> >>org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
> >> at
> >>org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
> >> at
> >>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> >> at
> >>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> >> at
> >>org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:138)
> >> at
> >>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> >> at
> >>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> >> at
> >>org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
> >> at
> >>org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
> >> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
> >> at
> >>org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
> >> at
> >>org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
> >> at
> >>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> >> at java.lang.Thread.run()V(Unknown Source)
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> >>
> >>
> >>
> >>
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> >
> >
> >
> >
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
Re: HttpClient and Large File (>2GB) Support
Posted by Paul Risenhoover <pr...@daxsolutions.com>.
I've been using the 3.0.1 version for the last year or so, but last week
I upgraded to 3.1-alpha1 (hoping the problem would be resolved) and the
problem remains.
Oleg Kalnichevski wrote:
>On Mon, 2006-08-07 at 08:53 -0700, Paul Risenhoover wrote:
>
>
>>Greetings all,
>>
>>I have searched the web and browsed the mailing list archives for a
>>solution to my problem but have been unable to find anything
>>substantial. I'm hoping somebody here might point me in the right
>>direction.
>>
>>The problem I'm having is with large files (>2Gb). The HttpClient
>>package simply doesn't seem to want to accept them. I've got a
>>servlet/applet comination in which the applet sends file to the servlet,
>>and when I try to send a file over 2GB, I get the exception trace that
>>you can see at the bottom of this page. It works perfectly for files
>>under 2GB.
>>
>>Has anybody else seen this problem? Any thoughts on how to resolve it?
>>
>>Thanks,
>>Paul
>>
>>
>>
>
>What version of HttpClient are you using?
>
>Oleg
>
>
>
>
>>2006-08-07 08:50:38,380 DEBUG (MediaBatchUploadControl.java:670)
>>ioexception - user may have lost connectivity.
>>java.io.IOException: Corrupt form data: premature ending
>> at
>>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
>> at
>>com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:119)
>>... <snip>
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>> at
>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>> at
>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>> at
>>org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
>> at
>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>> at
>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>> at
>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>> at
>>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>> at
>>org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
>> at
>>org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
>> at
>>org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
>> at
>>org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
>> at
>>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>> at
>>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>> at
>>org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:138)
>> at
>>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>> at
>>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>> at
>>org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
>> at
>>org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
>> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
>> at
>>org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
>> at
>>org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
>> at
>>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>> at java.lang.Thread.run()V(Unknown Source)
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
>>
>>
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
>
>
>
>
--
Paul Risenhoover - Director of Engineering - DAX Solutions, Inc. - 310-478-6644
____
This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
Re: HttpClient and Large File (>2GB) Support
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Mon, 2006-08-07 at 08:53 -0700, Paul Risenhoover wrote:
> Greetings all,
>
> I have searched the web and browsed the mailing list archives for a
> solution to my problem but have been unable to find anything
> substantial. I'm hoping somebody here might point me in the right
> direction.
>
> The problem I'm having is with large files (>2Gb). The HttpClient
> package simply doesn't seem to want to accept them. I've got a
> servlet/applet comination in which the applet sends file to the servlet,
> and when I try to send a file over 2GB, I get the exception trace that
> you can see at the bottom of this page. It works perfectly for files
> under 2GB.
>
> Has anybody else seen this problem? Any thoughts on how to resolve it?
>
> Thanks,
> Paul
>
What version of HttpClient are you using?
Oleg
>
> 2006-08-07 08:50:38,380 DEBUG (MediaBatchUploadControl.java:670)
> ioexception - user may have lost connectivity.
> java.io.IOException: Corrupt form data: premature ending
> at
> com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:205)
> at
> com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:119)
> ... <snip>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
> at
> org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:81)
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:138)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
> at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run()V(Unknown Source)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org