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?
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
There's still incorrect "failed" flag although the update was successful.
BZ 1208284 is in POST-state, so this can be as well (both need to merged for this to be fixed).
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>
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.
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.
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