Re: Instance ID wrong?
Re: Instance ID wrong?
- Subject: Re: Instance ID wrong?
- From: Anjo Krank <email@hidden>
- Date: Tue, 2 Dec 2008 13:54:10 +0100
Am 02.12.2008 um 12:09 schrieb Patrick Middleton:
I too have encountered the problem where a stateful request is
redirected to a different instance because the requested instance
did not respond, and I would strongly welcome an HTTP header or
headers being added to indicate to instance the instances which have
already not responded to this request.
First of all, as this is a real deployment error, it should be monitor-
able somewhere. Probably at the WOAdaptorInfo page or a log file.
Also, I'd have guessed that the only reason an app doesn't respond is
that has maxed out the thread pool or sth? When IS it marked dead? By
the Adaptor or wotaskd?
That this happens at our sites may also be a network issue that I'm
not aware of.
The requested instance (or instances) usually doesn't respond
because it's doing a very big database fetch; enabling concurrent
request handling usually won't help much as other sessions will
likely block waiting for access to the database. lifeabeat
interaction with wotaskd should continue unimpeded.
When is the lifebeat sent? I thought it was sent regardless of app
state?
How would an instance receiving a stateful request whose URL
indicates it should be sent to a different instance make use of some
X-WOInstanceDidNotRespond header then? How would the instance know
whether the other instance(s) are busy but not dysfunctional, have
hung, or have crashed?
This would be the next step. Maybe it could simply redirect the
request with some counter attached. Only if it reaches a max, the
request is indeed handled by the other instance.
If we really wanted to sort this out, we might be looking at
persistent session state shared over all instances, so that any
instance could respond to any request, whether stateless or
stateful. I would not welcome being asked to implement that myself.
Me neither, and I'm not sure this is possible at all - at least if you
are using WO like it's supposed to be, meaning component actions and a
lot of new ECs. Otherwise, you could simply write a DA app and only
use basic types to store in the session. In that case it should be
halfway easy to implement, but then why use WO in the first place.
Cheers, Anjo
_______________________________________________
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