반응형

JBoss EAP 7 - StuckThread 감지 설정

 

제이보스에서 지정한 시간(초)동안 쓰레드가 수행될 경우 로그에 경고 메시지를 발생시키며

해당 쓰레드의 stacktrace를 로그에 기록함

 

설정파일: standalone.xml / domain.xml

설정내용:

<subsystem xmlns="urn:jboss:domain:undertow:3.1" instance-id="${jboss.server.name}" statistics-enabled="true">

<buffer-cache name="default"/>
<server name="default-server">

<ajp-listener name="ajp" socket-binding="ajp" worker="ajp-worker"/>
<http-listener name="default" socket-binding="http" redirect-socket="https" max-parameters="10000"/>

<host name="default-host" alias="localhost">

<location name="/" handler="welcome-content"/>
<access-log prefix="access." directory="${jboss.server.log.dir}/access" pattern="%h %l %u %t %r %s %b %{i,Referer} %{i,User-Agent} %s %T"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
<filter-ref name="stuck" />

</host>

</server>
<servlet-container name="default" default-encoding="UTF-8">

<jsp-config/>
<websockets/>

</servlet-container>
<handlers>

<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>

</handlers>
<filters>

<response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
<expression-filter name="stuck" expression="blocking; stuck-thread-detector(10)"/>

</filters>

</subsystem>

 

 

로그내용:

Stuckthread 발생시

2017-11-01 14:07:42,156 WARN  [io.undertow.request] (default I/O-3) UT005072: Thread default task-1 (id=143) has been active for 10020 milliseconds (since Wed Nov 01 14:07:32 KST 2017) to serve the same request for /index.jsp and may be stuck (configured threshold for this StuckThreadDetectionValve is 10 seconds). There is/are 1 thread(s) in total that are monitored by this Valve and may be stuck.: java.lang.Throwable
        at java.lang.Thread.sleep(Native Method)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:96)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:402)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:346)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
        at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
        at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
        at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.server.handlers.MetricsHandler.handleRequest(MetricsHandler.java:62)
        at io.undertow.servlet.core.MetricsChainHandler.handleRequest(MetricsChainHandler.java:59)
        at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)
        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)
        at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:189)
        at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:39)
        at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)
        at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94)
        at io.undertow.server.handlers.accesslog.AccessLogHandler.handleRequest(AccessLogHandler.java:138)
        at org.wildfly.extension.undertow.Host$OptionsHandler.handleRequest(Host.java:285)
        at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)
        at io.undertow.server.handlers.SetHeaderHandler.handleRequest(SetHeaderHandler.java:90)
        at io.undertow.server.handlers.SetHeaderHandler.handleRequest(SetHeaderHandler.java:90)
        at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:110)
        at io.undertow.server.handlers.StuckThreadDetectionHandler.handleRequest(StuckThreadDetectionHandler.java:168)
        at io.undertow.predicate.PredicatesHandler.handleRequest(PredicatesHandler.java:93)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:324)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:803)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

 

Stuckthread 완료시
2017-11-01 14:08:03,193 WARN  [io.undertow.request] (default I/O-3) UT005073: Thread default task-1 (id=143) was previously reported to be stuck but has completed. It was active for approximately 30523 milliseconds. There is/are still 0 thread(s) that are monitored by this Valve and may be stuck.

반응형

' > WAS' 카테고리의 다른 글

JBoss EAP 6/7 - vault : 패스워드 암호화  (0) 2022.06.30
JBoss EAP 6 - StuckThread 감지 설정  (0) 2022.06.30
SocketException: Error in poll  (0) 2019.11.29
<BEA-100094> a server that is not the primary  (0) 2019.11.29
웹로직 계정변경  (0) 2019.11.29

+ Recent posts