Bug 1207394

Summary: Add metric CurrentWarmupTime and configuration options RequestWarmupPeriod and RequestWarmupCounterMaximum to rhq-server plug-in
Product: [JBoss] JBoss Operations Network Reporter: Michael Burman <miburman>
Component: Configuration, Storage NodeAssignee: Michael Burman <miburman>
Status: CLOSED ERRATA QA Contact: Filip Brychta <fbrychta>
Severity: high Docs Contact:
Priority: high    
Version: JON 3.3.2CC: fbrychta, loleary, mmahoney, rhatlapa, theute
Target Milestone: post-GAKeywords: Triaged
Target Release: One-off release   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-01-28 13:29:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1207393    
Bug Blocks: 1181217    

Description Michael Burman 2015-03-30 20:08:13 UTC
Description of problem: when trying to change RequestLimitTopologyChange the agent invalidates every input value:

2015-03-30 15:47:20,966 INFO  [ResourceContainer.invoker.nonDaemon-6] (org.rhq.plugins.jmx.MBeanResourceComponent)- Failure setting MBean Resource configuration value for RequestLimitTopologyDelta
java.lang.reflect.InvocationTargetException
	at org.mc4j.ems.impl.jmx.connection.bean.attribute.DAttribute.setValue(DAttribute.java:120)
	at org.rhq.plugins.jmx.MBeanResourceComponent.updateResourceConfiguration(MBeanResourceComponent.java:564)
	at org.rhq.plugins.jmx.MBeanResourceComponent.updateResourceConfiguration(MBeanResourceComponent.java:519)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocation.call(ResourceContainer.java:759)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.management.InvalidAttributeValueException: Invalid value for attribute RequestLimitTopologyDelta: 40000
	at com.sun.jmx.mbeanserver.MBeanIntrospector.maybeInvalidParameter(MBeanIntrospector.java:285)
	at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeSetter(MBeanIntrospector.java:271)
	at com.sun.jmx.mbeanserver.PerInterface.setAttribute(PerInterface.java:102)
	at com.sun.jmx.mbeanserver.MBeanSupport.setAttribute(MBeanSupport.java:230)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.setAttribute(DefaultMBeanServerInterceptor.java:746)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.setAttribute(JmxMBeanServer.java:739)
	at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.setAttribute(PluggableMBeanServerImpl.java:1523)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.setAttribute(PluggableMBeanServerImpl.java:1007)
	at org.jboss.remotingjmx.protocol.v2.ServerProxy$SetAttributeHandler.handle(ServerProxy.java:1152)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1$1.run(ServerCommon.java:153)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:75)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:70)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor.handleEvent(ServerInterceptorFactory.java:70)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:149)
	... 3 more


And also throws one exception for read-only value which is logged even when the value isn't actually changed:

2015-03-30 15:47:20,951 INFO  [ResourceContainer.invoker.nonDaemon-6] (org.rhq.plugins.jmx.MBeanResourceComponent)- Failure setting MBean Resource configuration value for RequestLimit
java.lang.reflect.InvocationTargetException
	at org.mc4j.ems.impl.jmx.connection.bean.attribute.DAttribute.setValue(DAttribute.java:120)
	at org.rhq.plugins.jmx.MBeanResourceComponent.updateResourceConfiguration(MBeanResourceComponent.java:559)
	at org.rhq.plugins.jmx.MBeanResourceComponent.updateResourceConfiguration(MBeanResourceComponent.java:519)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocation.call(ResourceContainer.java:759)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.management.AttributeNotFoundException: Read-only attribute: RequestLimit
	at com.sun.jmx.mbeanserver.PerInterface.setAttribute(PerInterface.java:100)
	at com.sun.jmx.mbeanserver.MBeanSupport.setAttribute(MBeanSupport.java:230)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.setAttribute(DefaultMBeanServerInterceptor.java:746)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.setAttribute(JmxMBeanServer.java:739)
	at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.setAttribute(PluggableMBeanServerImpl.java:1523)
	at org.jboss.as.jmx.PluggableMBeanServerImpl.setAttribute(PluggableMBeanServerImpl.java:1007)
	at org.jboss.remotingjmx.protocol.v2.ServerProxy$SetAttributeHandler.handle(ServerProxy.java:1152)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1$1.run(ServerCommon.java:153)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:75)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:70)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94)
	at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor.handleEvent(ServerInterceptorFactory.java:70)
	at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:149)
	... 3 more



Version-Release number of selected component (if applicable):


How reproducible: Always


Steps to Reproduce:
1. Go to Storage Client Subsystem
2. Change topology value to anything
3.

Actual results:


Expected results: Value would be updated


Additional info: Potential JDK8 bug?

Comment 1 Michael Burman 2015-03-31 11:44:51 UTC
Fixed in master:

commit f41bcf99fedba4dbdcec471e2b1881acf9fdb8d5
Author: Michael Burman <miburman>
Date:   Tue Mar 31 14:43:34 2015 +0300

    [BZ 1207394] Add missing type to the RequestLimitTopologyDelta

Comment 2 Michael Burman 2015-03-31 12:53:48 UTC
There's still incorrect "failed" flag although the update was successful.

Comment 3 Michael Burman 2015-04-07 10:35:23 UTC
BZ 1208284 is in POST-state, so this can be as well (both need to merged for this to be fixed).

Comment 4 Libor Zoubek 2015-04-07 13:02:25 UTC
branch:  release/jon3.3.x
link:    https://github.com/rhq-project/rhq/commit/1716e50f5
time:    2015-04-07 15:00:23 +0200
commit:  1716e50f5b1ad56eab37a0412f87a287e66f3c19
author:  Michael Burman - miburman
message: [BZ 1207394] Add missing type to the RequestLimitTopologyDelta

         (cherry picked from commit
         f41bcf99fedba4dbdcec471e2b1881acf9fdb8d5) Signed-off-by: Libor
         Zoubek <lzoubek>

Comment 5 Simeon Pinder 2015-04-13 04:14:48 UTC
Moving to ON_QA for testing with latest cumulative patch build:
https://brewweb.devel.redhat.com//buildinfo?buildID=429507

Note: Build maps to JON 3.3.2 ER01 build.

Comment 8 Larry O'Leary 2015-04-17 21:30:12 UTC
This BZ represents a fix to the RHQ Server plug-in to include the new feature/properties introduced by the work done in BZ 1027393 into the rhq-server plug-in.

Setting to MODIFIED as the commit is already done as part of a8cbf18cf25eb8dfa20886ebc5b7dcc40ce5d06b in release/jon3.3.x.

Comment 10 Filip Brychta 2015-06-15 11:57:16 UTC
Verified that new metric and configuration options are visible and working.
Verified that Request Limit is correctly changed on topology change event
Verified that there are no exceptions in agent log