On 10/26/06, Richard Koch <[EMAIL PROTECTED]> wrote:

It sounds like it, but we are not using SingleThreadModel anywhere in our
code.  Also we do not set our JSPs to turn off threads either (which can
be
done through <%@ page isThreadSafe="false" %>).

I have not started digging into the apache code yet; perhaps
SingleThreadModel is used in the file upload components...?


There's certainly nothing in Commons FileUpload itself that could do this,
since it simply runs in the current thread (i.e. the one the container
selected for processing the request). It's more likely to be something in
Tomcat, I would think, since it's the thing that's managing all the threads
in this scenario.

--
Martin Cooper


Someone mentioned the idea that this might also be a file io issue that
blocks the whole tomcat java process, but I have yet to prove that.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Martin
Cooper
Sent: Thursday, October 26, 2006 1:53 PM
To: Jakarta Commons Users List; [EMAIL PROTECTED]
Subject: Re: fileupload makes tomcat 5.5 unresponsive for other users

On 10/25/06, Richard Koch <[EMAIL PROTECTED]> wrote:
>
> Unfortunately, tomcat is not responding to *any* requests until the
upload
> completes.  After the upload, everything is fine.


This sounds a whole lot like you're using SingleThreadModel in the servlet
that's doing the upload.

--
Martin Cooper


We've reviewed our tomcat settings, and have not found anything that has
> helped either--I was thinking that we might only be using one thread due
> to
> some mistaken configuration, but that is not the case.
>
> We see the CPU usage climb up to about 20% when dealing with large file
> uploads, but it is no where near maxing our cpu usage on our dual xeons.
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James
> Carman
> Sent: Wednesday, October 25, 2006 1:07 PM
> To: Jakarta Commons Users List; [EMAIL PROTECTED]
> Subject: Re: fileupload makes tomcat 5.5 unresponsive for other users
>
> Are you saying that Tomcat isn't responding to any other of the same
type
> of
> requests (other file uploads) or it's not responding to *any* requests
at
> all (even requests to other webapps within the same instance)?
>
> On 10/25/06, Richard Koch <[EMAIL PROTECTED]> wrote:
> >
> > I am using the commons fileupload 1.1.1 along with the JSP/JSF tag
> > <t:inputFileUpload> tag.  Out application server is Tomcat 5.5.
> >
> >
> >
> > When a user uploads a file, tomcat becomes completely unresponsive to
> any
> > other requests until the upload is complete-this is the case no matter
> > what
> > the file size is 8K to 40MB.
> >
> >
> >
> > Watching garbage collection logging details, I see that the file
upload
> > component always seems to take at least 32MB or 42MB, and then it is
> > quickly
> > collected when the upload is completed, and the tomcat server is then
> > available to everyone.
> >
> >
> >
> > I used the input stream from the
> > org.apache.myfaces.custom.fileupload.UploadedFile.getInputStream()
call,
> > and
> > then write it out using the below method.
> >
> >
> >
> > Any ideas what would be causing tomcat to be non-responsive to any
other
> > request until the upload is finished?  Are there any configuration
> tweeks
> > that can made to help.  I have scanned the mail archives, wiki, and
> > documentation without luck.  Perhaps I have missed something?
> >
> >
> >
> > Thanks.
> >
> >
> >
> > Rich K.
> >
> >
> >
>
>

----------------------------------------------------------------------------
> >
> >
>
>

----------------------------------------------------------------------------
> > ---------------------------------------------------
> >
> >
> >
> >       /**
> >
> >        * Write the given input stream to the given file identified by
> the
> > targetFilePath string.
> >
> >        * @param inputStream
> >
> >        * @param targetFilePath
> >
> >        * @throws IOException
> >
> >        */
> >
> >       public static void writeInputStreamToFile(InputStream
inputStream,
> > String targetFilePath) throws IOException {
> >
> >         InputStream in =
> >
> >             new BufferedInputStream(inputStream);
> >
> >         OutputStream out =
> >
> >             new FileOutputStream(targetFilePath);
> >
> >         try {
> >
> >             byte[] buffer = new byte[64 * 1024];
> >
> >             int count;
> >
> >             while ((count = in.read(buffer)) > 0) {
> >
> >                   out.write(buffer, 0, count);
> >
> >             }
> >
> >         } finally {
> >
> >             in.close();
> >
> >             out.close();
> >
> >         }
> >
> >       }
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to