----------------------------------------------------------------
BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
WHEN YOU POST, include all relevant version numbers, log files,
and configuration files. Don't make us guess your problem!!!
----------------------------------------------------------------
Greg,
I'm new to all this so take my comments here with a grain of "he's trying to help,
but may be off base..." :-) I stuck my foot into my mouth once today already on this
list so hopefully I'm not doing it again... :-0
I don't know if or what changed in 1.0 to 1.1, but looking at the sourcefile
jserv_wrapper_unix.c at the routine wrapper_spawn(...) there appears to be a sleep(
vmtimeout ) before the there code checks in with the jvm (pings JServ java portion (?)
).
Then the code uses the vmtimeout to set an alarm ( alarm( ..vmtimeout) ) for timing
out the read(...) that happens in ajpv12.c Line 754 +/- where it handles JSERV_PING
requests.
SO, I think that if you increase vmtimeout via ApJServVMTimeout you will find that it
will increase the time before giving up on JServ communication. But I only traced
through a JSERV_PING request so I couldn't say that the same timeout was or is
applicable in other cases of JServ / JVM communication.
In one non-PING case it looked like the "Timeout" entry in httpd.conf might be
involved (via the routine ap_hard_timeout()), but the comments for ap_hard_timeout
were not all that clear and I got a little lost in all that code so I'm not 100% sure
I followed it correctly.
There is a bunch of debug logging done as part of the PING process - if you set JServ
log level to debug it might give you some more information (do you have to recompile
with a debug flag on for this to work? good question. I don't know).
good luck.
Let us know if increasing ApJServVMTimeout fixes it for you.
If it doesn't, try the Timeout xxx entry in httpd.conf just for kicks (though I don't
see it being involved in the ping process).
peace,
Tyler
>When I looked at the 1.1b3 source, it appeared that this parameter only
>controlled how often the ping was sent, not how long to wait for the reply.
>Did this change in 1.1 final?
>
>- Greg
>
> >
>> Greg,
>>
>> Have you tried the ApJServVMTimeout setting in jserv.conf? It is set to
>10 seconds by default.
>> Comment in jserv.conf says to increase it on heavily loaded systems... It
>appears to control the initial timeout but also the timeout with no ping
>response before restarting JServ.
>>
>>
>> peace,
> > Tyler
>>
>
> > >
>> >There is a problem in the assumptions made in JServ 1.1 (actually it is
>the
>> >apjv12 protocol). It assumes that the c process (mod_jserv) should
>expect
>> >an immediate reply from the java process (JServ). If this reply does not
>> >immediately return, then it assumes that the java process is hung and
>resets
>> >the JVM. This mainly occurs when running on an SMP box, using a JVM with
>> >green threads and with a servlet that takes a long time to run (i.e. does
>> >more than just serve up an HTML page). This is because it is easy to
>have a
>> >situation where httpd (mod_jserv) is running on one processor while java
>is
>> >running on another processor. If the java process is busy with a
>request,
>> >it will not return the ping immediately and thus the JVM is reset. If
>you
>> >run native threads, then it is more likely that there will be a waiting
>> >thread to handle the ping request. I have been meaning (though have not
>had
>> >the time) to write a patch for the code to allow for a configuration
>option
>> >which will let you decide both the number of ping requests unanswered
>before
>> >re-setting the JVM and allowing for time period to wait for the ping
>reply.
>> >
>> >- Greg
> > >
> > >>
>> >> We just upgraded our Jserv from 1.0 to 1.1b3 and it appears that we are
>> >> encountering some sort of timeout when a servlet process takes over 10
>> >> seconds. We are failing on a export of data from a MySql table to
>flat
>> >> file, this export worked fine until we upgraded our Jserv. I believe
>> >> the problem is in the Jserv configuration, however I have not been able
>> >> to determine the source of the problem. If anyone has a solution are
>a
>> >> suggestion I would appreciate at it.
> > >>
>> >> Thanks
>> >>
>> >>
>> >> The following are the logs that might help in answering our problem.
>> >>
>> >> Jserv = ApacheJServ 1.1b3
>> >>
>> >> Java =Blackdown jre117_v3
>> >>
>> >> OS = Linux
>> >>
>> >> Jserv_log
>> >> ========
>> >> [19/01/2000 09:48:53:680] (INFO) wrapper: Java VM spawned (PID=16034,
>> >> PPID=15993)
>> >> [19/01/2000 10:16:10:149] (INFO) wrapper: Java VM not responding
>> >> (PID=15993) [timeout]
>> >> [19/01/2000 10:16:10:152] (EMERGENCY) ajp12[1]: cannot scan servlet
>> >> headers (500)
>> >> [19/01/2000 10:16:10:152] (ERROR) an error returned handling request
>via
>> >> protocol "ajpv12"
>> >> [19/01/2000 10:16:11:159] (EMERGENCY) ajp12: ping: no reply
>> >> (-1) Please make sure that the wrapper.classpath is
>> >> pointing to the correct
>> >> version of ApacheJServ.jar
>> >> [19/01/2000 10:16:11:159] (INFO) wrapper: Java VM restarting
>(PID=15993)
>> >>
>> >> [
>> >>
>> >> Apache Error Log
>> >> ==============
>> >> [Wed Jan 19 10:26:24 2000] [error] [client ] Premature end of scrip
>> >> t headers: /ss3script/com.kurant.sysadmin.servlet.ExportTables
> > >>
------------------------------------------------------
Tyler Morrison - [EMAIL PROTECTED]
--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://java.apache.org/main/mail.html>
Problems?: [EMAIL PROTECTED]