You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by William Campillo <wc...@csc.com> on 2006/09/18 20:16:22 UTC

Connector Configuration attributes




I was having a problem uploading files to a Database via Java applications
in Tomcat. I solved the problem by changing the connectionTimeout Connector
configuration attribute to 60000. But I have some questions:
   1) Is there a resource that provides more detail for Connector
   configuration attributes, like connectionTimeout, than the resources
   I've used (http://tomcat.apache.org/tomcat-5.5-doc/config/http.html and
   "Apache Tomcat 5, Chopra, et.al.")?
   2) Assuming there's a tradeoff in modifying connectionTimeout (and that
   I might want to go greater than 60000), what do I need to watch out for?
   3) Can I specify the behavior of the disableUploadTimeout configuration
   attribute?

   Read no further, or, here are the details of the issue, if you're
   interested:

   I am running Apache Tomcat v5.5.12 behind an Apache (v2) Reverse Proxy
   server. I'm also running a SunONE Application Server behind the same RP.

   Some of the Servlets/Applications on either Tomcat or SunONE have
   features to upload data into databases. When the data is sufficiently
   large (about 2.5MB), the upload fails and I get an error:

         Proxy Error


         The proxy server received an invalid response from an upstream
         server.


         The proxy server could not handle the request POST
         /<path>Submit.do.


         Reason: Error reading from remote server

         (Embedded image moved to file: pic22348.jpg)
         Apache/2.0.55 (Unix) Server at j2ee.<test domain>.com Port 80

   The RP intercepts any "j2ee" URL and redirects it to the proper
   server-port (tomcat or SunONE) based on the URI.

   The error occurs consistently at just over 30sec after initiating the
   upload.
   On my RP server, I tried modifying httpd.conf, putting the following
   into the Location Directive:
         SetEnv force-proxy-request-1.0 1
         SetEnv proxy-nokeepalive 1

         (this per http://httpd.apache.org/docs/2.0/mod/mod_proxy.html)

   Didn't work. Also tried putting those lines in the appropriate
   VirtualHost directive, instead. No good.

   I tried changing "KeepAliveTimeout 15" to "KeepAliveTimeout 60", no luck
   there either.

   References to the error I'm getting (through google and elsewhere) have
   not been particularly helpful.

   Finally, I focused on two attributes of the Connector configuration in
   server.xml: connectionTimeout and disableUploadTimeout. The former was
   set to 20000 and the latter to "true". Changing connectionTimeout to 0,
   or even to 60000 solved the problem.

   Reference http://tomcat.apache.org/tomcat-5.5-doc/config/http.html shows
   the default value of  connectionTimeout is 60000. "Apache Tomcat 5,
   Chopra, et.al." shows it as either 20000 or 60000 depending on where you
   look. I assume that means that the value if not explicitly set is 60000,
   but that the default file explicitly sets it at 20000.  The
   disableUploadTimeout attribute is described on the above website thusly:
   " This flag allows the servlet container to use a different, longer
   connection timeout while a servlet is being executed, which in the end
   allows either the servlet a longer amount of time to complete its
   execution, or a longer timeout during data upload. If not specified,
   this attribute is set to "false"." It does not specify whether there is
   a different timeout attribute that is used, nor how much longer it will
   wait. Either I overlooked it, or Chopra doesn't mention
   disableUploadTimeout

William J. "Bill" Campillo
System Administrator, Senior Professional
UNIX System and Web Administration
CSC(GIS/Glass House) for Raytheon Missile Systems
Tucson, AZ
520.545-6469 (office)
520.247.5892 (mobile)


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery. NOTE: Regardless of content, this e-mail shall not operate to
bind CSC to any order or other contract unless pursuant to explicit written
agreement or government initiative expressly permitting the use of e-mail
for such purpose.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Re: Connector Configuration attributes

Posted by Martin Gainty <mg...@hotmail.com>.
William-

I think this is one of those situations where there is some amount of ambiguity one can "read between the lines" 

connectionTimeout
It has been my experience that a value of 0 is used to indicate either 'feature disabled' or 'value = infinite' ..(in this case we know the feature is infinite)

DisableUploadTimeout states
This flag allows the servlet container to use a different, longer connection timeout while a servlet is being executed, which in the end allows either the servlet a longer amount of time to complete its execution, or a longer timeout during data upload. If not specified, this attribute is set to "false".

The way I interpret this is that while the servlet is active (i.e. process is running) ignore timeout (ignore connectionTimeout or any other Timeout parameter)
                                              while the servlet is uploading data (assuming a GET/POST/PUT or service call method has been activated) dont timeout
                                                                            (ignore connectionTimeout or any other Timeout parameter)

Many Thanks for sharing your analysis on tracking down the deltas to make your situation operational

Martin--
*********************************************************************
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.



----- Original Message ----- 
From: "William Campillo" <wc...@csc.com>
To: <us...@tomcat.apache.org>
Sent: Monday, September 18, 2006 2:16 PM
Subject: Connector Configuration attributes


> 
> 
> 
> 
> I was having a problem uploading files to a Database via Java applications
> in Tomcat. I solved the problem by changing the connectionTimeout Connector
> configuration attribute to 60000. But I have some questions:
>   1) Is there a resource that provides more detail for Connector
>   configuration attributes, like connectionTimeout, than the resources
>   I've used (http://tomcat.apache.org/tomcat-5.5-doc/config/http.html and
>   "Apache Tomcat 5, Chopra, et.al.")?
>   2) Assuming there's a tradeoff in modifying connectionTimeout (and that
>   I might want to go greater than 60000), what do I need to watch out for?
>   3) Can I specify the behavior of the disableUploadTimeout configuration
>   attribute?
> 
>   Read no further, or, here are the details of the issue, if you're
>   interested:
> 
>   I am running Apache Tomcat v5.5.12 behind an Apache (v2) Reverse Proxy
>   server. I'm also running a SunONE Application Server behind the same RP.
> 
>   Some of the Servlets/Applications on either Tomcat or SunONE have
>   features to upload data into databases. When the data is sufficiently
>   large (about 2.5MB), the upload fails and I get an error:
> 
>         Proxy Error
> 
> 
>         The proxy server received an invalid response from an upstream
>         server.
> 
> 
>         The proxy server could not handle the request POST
>         /<path>Submit.do.
> 
> 
>         Reason: Error reading from remote server
> 
>         (Embedded image moved to file: pic22348.jpg)
>         Apache/2.0.55 (Unix) Server at j2ee.<test domain>.com Port 80
> 
>   The RP intercepts any "j2ee" URL and redirects it to the proper
>   server-port (tomcat or SunONE) based on the URI.
> 
>   The error occurs consistently at just over 30sec after initiating the
>   upload.
>   On my RP server, I tried modifying httpd.conf, putting the following
>   into the Location Directive:
>         SetEnv force-proxy-request-1.0 1
>         SetEnv proxy-nokeepalive 1
> 
>         (this per http://httpd.apache.org/docs/2.0/mod/mod_proxy.html)
> 
>   Didn't work. Also tried putting those lines in the appropriate
>   VirtualHost directive, instead. No good.
> 
>   I tried changing "KeepAliveTimeout 15" to "KeepAliveTimeout 60", no luck
>   there either.
> 
>   References to the error I'm getting (through google and elsewhere) have
>   not been particularly helpful.
> 
>   Finally, I focused on two attributes of the Connector configuration in
>   server.xml: connectionTimeout and disableUploadTimeout. The former was
>   set to 20000 and the latter to "true". Changing connectionTimeout to 0,
>   or even to 60000 solved the problem.
> 
>   Reference http://tomcat.apache.org/tomcat-5.5-doc/config/http.html shows
>   the default value of  connectionTimeout is 60000. "Apache Tomcat 5,
>   Chopra, et.al." shows it as either 20000 or 60000 depending on where you
>   look. I assume that means that the value if not explicitly set is 60000,
>   but that the default file explicitly sets it at 20000.  The
>   disableUploadTimeout attribute is described on the above website thusly:
>   " This flag allows the servlet container to use a different, longer
>   connection timeout while a servlet is being executed, which in the end
>   allows either the servlet a longer amount of time to complete its
>   execution, or a longer timeout during data upload. If not specified,
>   this attribute is set to "false"." It does not specify whether there is
>   a different timeout attribute that is used, nor how much longer it will
>   wait. Either I overlooked it, or Chopra doesn't mention
>   disableUploadTimeout
> 
> William J. "Bill" Campillo
> System Administrator, Senior Professional
> UNIX System and Web Administration
> CSC(GIS/Glass House) for Raytheon Missile Systems
> Tucson, AZ
> 520.545-6469 (office)
> 520.247.5892 (mobile)
> 
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> This is a PRIVATE message. If you are not the intended recipient, please
> delete without copying and kindly advise us by e-mail of the mistake in
> delivery. NOTE: Regardless of content, this e-mail shall not operate to
> bind CSC to any order or other contract unless pursuant to explicit written
> agreement or government initiative expressly permitting the use of e-mail
> for such purpose.
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
>


--------------------------------------------------------------------------------


> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org