On Feb 12, 2008, at 11:10 PM, Daniel López wrote:
> Regarding your explanation, Scott, that makes sense as I usually try
> stop the instance normally, and just after that, if the process is
> alive I kill it "manually". It might happen that if the JVM is in the
> process of stopping itself but it takes too long, I kill it in the
> middle of the stop action... would that help to explain the watchdog
> stop process to fail and the inconsistent state?
Yes. The next snapshot will give you a way to get out of that
situation (probably tomorrow).
1) There's a new "kill" command, "java -jar lib/resin.jar kill", which
detaches the task from inside the watchdog and also kills the process
(currently using the Process.destroy(). For Resin-Pro, it might be
possible to add kill -9 at some point.)
In your case, where you've killed the broken Resin instance with kill
-9, the "kill" command will force the process detachment from the
watchdog-manager, i.e. it will let you start a new instance even if
the original "stop" thread gets stuck.
2) There's a new "status" command, "java -jar lib/resin.jar status"
which will tell you the current state of the watchdog-manager and help
3) The watchdog instances are now registered with JMX. So you can use
jconsole to hunt down the problem.
4) Most importantly, the watchdog has been refactored considerably.
Specifically, the number of objects/fields changing on a start/stop
has been reduced to essentially a single field/task. So there's much
less opportunity for anything to go wrong.
The docs will be in http://caucho.com/resin/doc/resin-watchdog.xtp.
It's a bit sketchy at the moment, but several watchdog examples that
should help people configuring it.
> resin-interest mailing list
resin-interest mailing list