Hi I've recompiled the Adaptor for Apache 1.3 using the following source and problem has disappeared!
http://home.onthenet.com.au/~q/webobjects/woadaptor-4.0.0.20080102.tar.bz2 Thanks for the help James -----Original Message----- From: Aurélien Minet [mailto:[email protected]] On Behalf Of Aurélien Minet Sent: 24 September 2010 11:36 To: James Shipton Cc: [email protected] Subject: Re: WebObjects Adaptor intermittent connection issues On 09/23/2010 03:46 PM, James Shipton wrote: > Hi Aurelien > > We have 32 instances running, load balanced across 2 application servers. > > I have looked at the application logs - and the only evidence of the > broken request in the logs is when a new instance:88 is switched to > and no session is found > > 21/09 11:00:35 INFO [WorkerThread9] reg.Application > (handleSessionRestorationErrorInContext:210) - > handleSessionRestorationErrorInContext for session > > The original broken request doesn't appear to get as far as > instance:99 > > > On a broken request we see > >> Info: Sending request to instance number 99, port 5555 >> Info: Trying to contact Example:99 on (5555) >> Info: Example:99 on (5555) connected [pooled: Yes] >> Info: Request POST >> /WebObjects/Example.woa/99/wo/45ZaOYm9bb40enplQDqAPM/8.7 HTTP/1.1 >> sent, awaiting response > > > So the adaptor thinks it has found instance :99 "Info: Example:99 on (5555) > connected [pooled: Yes]" > > But on a successful request we see some extra steps to confirm > connection before a request is made > >> Info: Sending request to instance number 99, port 5555 >> Info: Trying to contact Example:99 on (5555) > **** Info: attempting to connect to example.com on port 5555 > **** Info: Created new pooled connection [1] to example.com:5555 > **** Info: Using pooled connection to example.com:5555 >> Info: Example:99 on (2013) connected [pooled: Yes] >> Info: Request POST >> /WebObjects/Example.woa/99/wo/45ZaOYm9bb40enplQDqAPM/2.7 HTTP/1.1 >> sent, awaiting response > > > Why are these extra steps not logged on a broken request. Why is no > connection attempted? There is no connection attempted cause it's already an available connection (not locked). if you look at _runRequest() in transaction.c, you would see it tries to reuse an existing connexion or recreate a new by calling tr_open() from transport.c : -> if non locked connexion (c) is exist and is not NULL it return it -> after after "locking" the instance handle and _runRequest() in "connected [pooled: Yes]" is loged -> if there is no connexion available in the connexion poll (or the -> connexion pool is empty) it create a new connexion (block after c == NULL test ) that's why you have in the log "Created new pooled connection..." and "Using pooled connection to ..." (the code that makes the connexion is launched from transport->openinst, a function pointer to openapp in nbsocket.c if you have a look in openapp for the TCP socket creation you can find that if there is a problem with it it would log an error) As there is no broken pipe in the logs instance 99 doesn't seems to do the request/response loop, it may have a deadlook. For investigation when the adaptor found an instance dead you can check if it is really the case or do any other test (like command like jstack over ssh... ) with something like : tail -f /tmp/WebObjects.log | grep --line-buffered -B 1 dead | head -n 1 | awk -F ' *[() ] *' '{ print $6":"$7 }' | xargs wget Aurélien http://www.bbc.co.uk/ This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated. If you have received it in error, please delete it from your system. Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately. Please note that the BBC monitors e-mails sent or received. Further communication will signify your consent to this. _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-deploy mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com This email sent to [email protected]
