Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 93858 invoked from network); 16 Nov 2003 00:39:28 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 16 Nov 2003 00:39:28 -0000 Received: (qmail 90203 invoked by uid 500); 16 Nov 2003 00:39:11 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 90014 invoked by uid 500); 16 Nov 2003 00:39:10 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 90000 invoked from network); 16 Nov 2003 00:39:10 -0000 Received: from unknown (HELO 216-239-45-4.google.com) (216.239.45.4) by daedalus.apache.org with SMTP; 16 Nov 2003 00:39:10 -0000 Received: from google.com (croissant.corp.google.com [10.32.60.117]) by 216-239-45-4.google.com (8.12.9/8.12.9) with ESMTP id hAG0d9HC023054 for ; Sat, 15 Nov 2003 16:39:10 -0800 Message-ID: <3FB6C72D.6020802@google.com> Date: Sat, 15 Nov 2003 16:39:09 -0800 From: Mike Samuel Organization: Google User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jakarta Commons Developers List Subject: Re: Fileupload: fails for forms with a large number of inputs with OurOfMemoryError References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I filed this as bug: 24306 The patch is attached. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24306 mike Henri Yandell wrote: > Were any of the fileupload committers interested in this patch? > > Can't see any obvious replies. > > Hen > > On Thu, 9 Oct 2003, Mike Samuel wrote: > > >>The fileupload package is well-architected, and a pleasure to use, but I ran >>into a problem. Attached is a test case servlet which repeats the problem with >>the Jun 24, 2003 fileupload-1.0 release. >> >>FileUploadBase.parseRequest runs out of memory when parsing a form with a large >>number of inputs. The cause seems to be DeferredFileOutputStream which >>allocates a ByteArrayOutputStream per input, each of which preallocates a buffer >>of length inMemoryThreshold. The in memory threshold defaults to 10k, but if it >>is made larger (> 1 M in our environment), then the vm quickly runs out of >>memory. Most of this memory is wasted since most files are ~5k, and almost all >>non-file inputs are less than 1k. >> >>I patched DeferredFileOutputStream to use a different underlying in memory >>stream. I don't really know why ByteArrayOutputStream uses a single byte[], >>since you can't do random access on the underlying buffer anyway. >>I think the patch is something that could be incorporated into the default file >>upload implementation without any noticable change in performance. >> >>If anyone's interested in the patch, should I send it to someone, or check it in >>myself? I've never contributed any code to apache before so I'm a little fuzzy >>on process. >> >>thanks, >> mike >> >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org > For additional commands, e-mail: commons-dev-help@jakarta.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org