Resin log rollover causes deadlock
book
Article ID: KB0091293
calendar_today
Updated On:
TIBCO DataSynapse GridServer
|
-
|
Not Applicable
|
-
|
Description
Resolution:
Due to a known issue in Resin 3.0.15, on rare occasions a log rollover will cause a JVM deadlock on the manager.
This can be fixed via 2 resin changes. This will stop resin from logging anything in stdout, and it will capture its own messages to its own logs:
1) In wrapper.pl comment out the logging to stdout: this prevents resin from capturing it
#if (! $stdout_log) {
# $stdout_log = "$SERVER_ROOT/log/stdout.log";
#}
2) In resin.conf you now want to log resin messages to its own log files, so replace the following lines:
<log name="" level="info" path="stdout:" timestamp="[%H:%M:%S.%s] " />
<log name="com.caucho.java" level="config" path="stdout:" timestamp="[%H:%M:%S.%s] " />
<log name="com.caucho.loader" level="config" path="stdout:" timestamp="[%H:%M:%S.%s] " />
with these
<resin:if test="${empty ds.resinLog}">
<resin:choose>
<resin:when test="${empty ds.baseDir}">
<resin:set var="ds.resinLog" value="./webapps/livecluster/WEB-INF/log/resin/resin.log" />
</resin:when>
<resin:otherwise>
<resin:set var="ds.resinLog" value="${ds.baseDir}/WEB-INF/log/resin/resin.log" />
</resin:otherwise>
</resin:choose>
</resin:if>
<log name="" level="info" path="${ds.resinLog}" timestamp="[%H:%M:%S.%s] " />
<log name="com.caucho.java" level="config" path="${ds.resinLog}" timestamp="[%H:%M:%S.%s] " />
<log name="com.caucho.loader" level="config" path="${ds.resinLog}" timestamp="[%H:%M:%S.%s] " />
Issue/Introduction
Resin log rollover causes deadlock
Feedback
thumb_up
Yes
thumb_down
No