Support Migration Notice: To update migrated JIRA cases click here to open a new case use www.vmware.com/go/sr | vFabric Hyperic 5.7.0 is Now Available

Hyperic HQ

Disable java service wrapper ping/stop for HQ server

Details

  • Case Links:
    none
  • Regression:
    No
  • Story Points:
    3
  • Tags:

Description

Java service wrapper can kill HQ server jvm if it doesn't respond to ping requests. In general this is bad for a production server. HQ server should not be controlled by an external java process and should never be automatically restarted by external java process. One way to disable this is by setting ping timeout to 0 in wrapper.conf.

wrapper.ping.timeout=0

Here's more detailed documentation about how this works -> http://wrapper.tanukisoftware.com/doc/english/prop-ping-interval.html

Activity

Hide
Jennifer Hickey added a comment -

I'm not sure I understand why we want to disable automatic process mgmt by the wrapper? Since the wrapper.cpu.timeout property will not cause a restart of JVM if either wrapper or JVM is denied CPU, what other situations are we concerned with that we wouldn't want wrapper to restart JVM if it crashes? Where does the "HQ server should not be controlled by an external java process" req come from?

Also, setting ping.timeout to 0 looks to be a bad idea due to this warning:
"if the Wrapper process is killed abnormally or God forbid crashes, then the JVM will never attempt to resynch with the Wrapper. If the Wrapper was running as a Windows Service at the time, it may be necessary to then reboot the machine to stop Java process. With normal ping timeouts, the JVM would exit on its own after a few seconds. "

We don't run wrapper.exe as a Windows service, but I did confirm that if wrapper.exe crashed, the "HQ Server" service will look like it's stopped even though Tomcat is running. If you attempt to start the service, it will then stop everything (not giving you an error - just not showing up as "Started" and all processes are killed). One more start has to be done to synch things back up.

Show
Jennifer Hickey added a comment - I'm not sure I understand why we want to disable automatic process mgmt by the wrapper? Since the wrapper.cpu.timeout property will not cause a restart of JVM if either wrapper or JVM is denied CPU, what other situations are we concerned with that we wouldn't want wrapper to restart JVM if it crashes? Where does the "HQ server should not be controlled by an external java process" req come from? Also, setting ping.timeout to 0 looks to be a bad idea due to this warning: "if the Wrapper process is killed abnormally or God forbid crashes, then the JVM will never attempt to resynch with the Wrapper. If the Wrapper was running as a Windows Service at the time, it may be necessary to then reboot the machine to stop Java process. With normal ping timeouts, the JVM would exit on its own after a few seconds. " We don't run wrapper.exe as a Windows service, but I did confirm that if wrapper.exe crashed, the "HQ Server" service will look like it's stopped even though Tomcat is running. If you attempt to start the service, it will then stop everything (not giving you an error - just not showing up as "Started" and all processes are killed). One more start has to be done to synch things back up.
Hide
Jennifer Hickey added a comment -

Per Charles, setting ping timeout to 0 to disable automatic restarts of process if unresponsive to ping.

Show
Jennifer Hickey added a comment - Per Charles, setting ping timeout to 0 to disable automatic restarts of process if unresponsive to ping.
Hide
Kashyap Parikh added a comment -

Looks good.

Show
Kashyap Parikh added a comment - Looks good.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved:
    Last comment:
    3 years, 25 weeks, 4 days ago