• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Broken Pipe error using batik (SVG conversion)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Broken Pipe error using batik (SVG conversion)


  • Subject: Re: Broken Pipe error using batik (SVG conversion)
  • From: Randy Wigginton <email@hidden>
  • Date: Wed, 14 Jun 2006 16:45:01 -0400

Adjusting the timeout makes a LOT of sense if you are writing an admin app, and thus able to influence your user's expectations.

If it is a public site, don't bother, because you'll make things worse. When a public page takes more than a few seconds to load, you end up with users hitting the refresh button, thus increasing your load.

On Jun 14, 2006, at 4:42 PM, Chuck Hill wrote:

On Jun 14, 2006, at 1:32 PM, Paul Lynch wrote:
On 14 Jun 2006, at 20:56, Robert Walker wrote:

I would say that Chuck's suggestions are ordered from "Best" to "Worst." Use of the WOLongResponsePage definitely sounds like the best solution in your case.

Agreed. WOLongResponsePage isn't very well documented - your only option is to look at the example. Once you get the basic idea it isn't hard to work with.


Generally speaking, IMHO, resorting to extending connection timeouts is a "stop-gap" measure. Doing so may even reduce the quality of the user experience. Whenever I know that a process may take more than a few seconds to complete, I like to inform the user, and provide some indication of progress (when possible). Think of the spinning "beach-ball" or "hour glass." It may be a nice way to inform the use that the system is busy, but if it goes on too long the user will start to wonder is the system is locked. They may even "Force Quit" (i.e. close the browser window) if the system takes too long to respond.

I have had some experience of setting these timeouts. They can give you some additional leeway in exceptional circumstances, but the web server is also going to figure into the equation, and will impose its own timeouts, making these settings pretty close to useless for normal applications.

Which web server? I have had not problem setting these to at least 60 seconds when using Apache. Certainly it is a stop gap measure and not a permanent solution, but I have found adjusting these timeouts to be very useful.


Chuck



On Jun 14, 2006, at 3:08 PM, Dev WO wrote:

Hello Chuck,


On Jun 14, 2006, at 10:05 AM, Dev WO wrote:

Hi guys,

I've created a method to rasterize an SVG image (using Batik). When I try to use this method in my application it appears it takes too long to execute (at least that's what I'm guessing), here's what I have in the log:

[2006-06-14 16:26:52 CEST] <WorkerThread0> <WOWorkerThread id=0 socket=Socket[addr=/10.0.1.8,port=49708,localport=49645]>
Exception while sending response: java.net.SocketException: Broken pipe


I also get:
"No instance available" in the web browser quite some time after it loads (probably due to the broken pipe)


One does not cause the other, but they are both symptoms of the app taking too long to respond.


The created image (in this case a JPG) is created but it behaves strangely:
I can't open it before moving it somewhere else on the hard drive... If I put it back to its initial place it is then OK to open it. Might be a process not fully executed and moving the file forcing it to end...


No idea about that.


I had to increase the memory (-Xmx400m -Xms200m) to get rid of the "out of memory error" I initially had.

Does anyone know how I could fix the broken pipe issue?


You can't fix the broken pipe directly, it is a warning that your app is responding too slowly for the woadaptor settings. One solution is to use something like the WOLongResponsePage so that the request does not drag on. You could also do it in the background and somehow notify the user.
Could you give me more input about this option?
The other "solution" is to increase the Connect and Receive timeouts for the woadaptor (see the App configuration page in JavaMonitor) until it waits long enough for this process to finish.
I'll try this one to see if it corrects the problem, but it appears you don't really like this option;) I'd rather like to notify the user one way or another...

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net


This email sent to email@hidden

--
Coming sometime... - an introduction to web applications using WebObjects and Xcode http://www.global-village.net/wointro


Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/ practical_webobjects




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40gmail.com


This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Broken Pipe error using batik (SVG conversion) (From: Dev WO <email@hidden>)
 >Re: Broken Pipe error using batik (SVG conversion) (From: Chuck Hill <email@hidden>)
 >Re: Broken Pipe error using batik (SVG conversion) (From: Dev WO <email@hidden>)
 >Re: Broken Pipe error using batik (SVG conversion) (From: Robert Walker <email@hidden>)
 >Re: Broken Pipe error using batik (SVG conversion) (From: Paul Lynch <email@hidden>)
 >Re: Broken Pipe error using batik (SVG conversion) (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: Broken Pipe error using batik (SVG conversion)
  • Next by Date: Re: Broken Pipe error using batik (SVG conversion)
  • Previous by thread: Re: Broken Pipe error using batik (SVG conversion)
  • Next by thread: Re: Broken Pipe error using batik (SVG conversion)
  • Index(es):
    • Date
    • Thread