Web Application Server

JBoss 6.2 EAP 에서 JMX 모니터링 시 필요한 Bug Patch (1089616)

aappsroot·2015년 2월 28일·조회 4,273

 

현상

MBeanServer 의 queryNames 메소드 수행 시 많은 시간이 소요되고 있음

 

원인

JBoss EAP 6.2 의 버그로 6.2 CP3 (6.2.3) 에서 해결되었음

-> 6.2.3 Release Notes 참조

1089616 - High CPU usage by JMX monitoring client, RBAC seems the hotspot
A performance issue affecting JMX Query was identified, where the CPU load was much higher than expected in previous JBoss EAP releases. The cause of the issue was that role-based access control (RBAC) was checking the address of every query, regardless of whether that address was relevant to JMX Query. To resolve this issue the processing of querie was changed to first check if the address is relevant to JMX Query and if not, avoid the processing involved. The result of this change is that CPU load of JMX monitoring is again at a normal level.

 

해결책

JBoss 6.2 CP03 이상 Patch 적용 (현재 CP04 까지 Release 되어 있음)

 

비고

  • Stacktrace (1) 
        at java.lang.Enum.valueOf(Enum.java:236)
        at org.jboss.as.controller.operations.validation.EnumValidator.validateParameter(EnumValidator.java:125)
        at org.jboss.as.controller.operations.validation.NillableOrExpressionParameterValidator.validateParameter(NillableOrExpressionParameterValidator.java:75)
        at org.jboss.as.controller.AttributeDefinition.validateOperation(AttributeDefinition.java:692)
        at org.jboss.as.controller.AttributeDefinition.validateOperation(AttributeDefinition.java:246)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.doExecuteInternal(ReadResourceDescriptionHandler.java:174)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.doExecute(ReadResourceDescriptionHandler.java:157)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.execute(ReadResourceDescriptionHandler.java:150)
        at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:607)
        at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:485)
        at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:282)
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:277)
        at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:231)
        at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:137)
        at org.jboss.as.jmx.model.ResourceAccessControlUtil.getResourceAccess(ResourceAccessControlUtil.java:85)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:48)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.iterate(RootResourceIterator.java:41)
        at org.jboss.as.jmx.model.ModelControllerMBeanHelper.queryNames(ModelControllerMBeanHelper.java:158)
        at org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.queryNames(ModelControllerMBeanServerPlugin.java:168)
        at org.jboss.as.jmx.PluggableMBeanServerImpl.queryNames(PluggableMBeanServerImpl.java:850)

 

  • Stacktrace (2)
        at org.jboss.dmr.ModelNode.set(ModelNode.java:431)
        at org.jboss.as.controller.AttributeDefinition.getNoTextDescription(AttributeDefinition.java:585)
        at org.jboss.as.controller.AttributeDefinition.addResourceAttributeDescription(AttributeDefinition.java:454)
        at org.jboss.as.controller.descriptions.DefaultResourceDescriptionProvider.getModelDescription(DefaultResourceDescriptionProvider.java:76)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.doExecuteInternal(ReadResourceDescriptionHandler.java:192)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.doExecute(ReadResourceDescriptionHandler.java:157)
        at org.jboss.as.controller.operations.global.ReadResourceDescriptionHandler.execute(ReadResourceDescriptionHandler.java:150)
        at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:607)
        at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:485)
        at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:282)
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:277)
        at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:231)
        at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:137)
        at org.jboss.as.jmx.model.ResourceAccessControlUtil.getResourceAccess(ResourceAccessControlUtil.java:85)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:48)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:59)
        at org.jboss.as.jmx.model.RootResourceIterator.iterate(RootResourceIterator.java:41)
        at org.jboss.as.jmx.model.ModelControllerMBeanHelper.queryNames(ModelControllerMBeanHelper.java:158)
        at org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.queryNames(ModelControllerMBeanServerPlugin.java:168)
        at org.jboss.as.jmx.PluggableMBeanServerImpl.queryNames(PluggableMBeanServerImpl.java:850)

댓글 1

로그인 후 댓글을 남길 수 있습니다.

  • sscenic· 2015년 3월 3일
    감사합니다 많은 도움이 되었습니다