Support Migration Notice: To update migrated JIRA cases click here to open a new case use www.vmware.com/go/sr | vFabric Hyperic 5.7.0 is Now Available

Hyperic HQ

Gemfire plugin - MissingPropertyException displayed for stopped server in HQ GemFire view

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 4.5
  • Fix Version/s: 4.6, 4.x Sprint 7
  • Environment:
    HQ-server 4.5.0-EE-M7 running on CentOS 5.4
    HQ-agent 4.5.0-EE-M7 running on RHEL 5.4
     - Gemfire 6.5 RC2 on hq-agent
  • Case Links:
    none
  • Regression:
    No

Description

Gemfire plugin - MissingPropertyException displayed for stopped server in HQ GemFire view.

After stopping a cache server, the server will display as unavailable. Looking at the HQ GemFire view for the Gemfire Distributed System platform will show the list of servers. Clicking on the stopped server results in the following exception displayed:
groovy.lang.MissingPropertyException: No such property: member for class: SimpleTemplateScript10 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241) at SimpleTemplateScript10.run(SimpleTemplateScript10.groovy:2) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at org.hyperic.hq.hqu.rendit.render.RenderFrame.render(RenderFrame.groovy:246) at org.hyperic.hq.hqu.rendit.render.RenderFrame$render.call(Unknown Source) at org.hyperic.hq.hqu.rendit.BaseController.render(BaseController.groovy:350) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at org.hyperic.hq.hqu.rendit.BaseController.dispatchRequest(BaseController.groovy:255) at org.hyperic.hq.hqu.rendit.BaseController$dispatchRequest$0.call(Unknown Source) at org.hyperic.hq.hqu.rendit.DefaultControllerDispatcher.invoke(DefaultControllerDispatcher.groovy:88) at org.hyperic.hq.hqu.rendit.DefaultControllerDispatcher$invoke$0.call(Unknown Source) at org.hyperic.hq.hqu.rendit.Dispatcher$_handleRequest_closure4.doCall(dispatcher.groovy:127) at sun.reflect.GeneratedMethodAccessor3132.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151) at org.hyperic.hq.hqu.rendit.Dispatcher$_handleRequest_closure4.doCall(dispatcher.groovy) at sun.reflect.GeneratedMethodAccessor3131.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880) at groovy.lang.Closure.call(Closure.java:279) at groovy.lang.Closure.call(Closure.java:274) at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:105) at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:212) at org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:447) at org.codehaus.groovy.runtime.dgm$628.doMethodInvoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.invoke(PogoMetaMethodSite.java:42) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51) at org.hyperic.hq.hqu.rendit.Dispatcher.handleRequest(dispatcher.groovy:126) at org.hyperic.hq.hqu.PluginWrapper$3.run(PluginWrapper.java:151) at org.hyperic.hq.hqu.PluginWrapper.doInContext(PluginWrapper.java:115) at org.hyperic.hq.hqu.PluginWrapper.handleRequest(PluginWrapper.java:149) at org.hyperic.hq.hqu.RenditServerImpl.handleRequest(RenditServerImpl.java:199) at sun.reflect.GeneratedMethodAccessor889.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at $Proxy78.handleRequest(Unknown Source) at org.hyperic.hq.ui.servlet.RenditServlet.handleRequest(RenditServlet.java:199) at org.hyperic.hq.ui.servlet.RenditServlet.doGet(RenditServlet.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.hyperic.hq.ui.RenditFilter.doFilter(RenditFilter.java:57) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:344) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:110) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:98) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:95) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:55) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:36) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:178) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:106) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:150) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:409) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)

Expected Result:
No exceptions or errors displayed in the UI

Actual Result:
Exception displayed when clicking on stopped server link in HQ Gemfire view

Steps to Reproduce:
1. Add Gemfire Distributed System to Hyperic
2. Allow servers and services to be discovered
3. Allow metrics to collect and report
4. Stop server on Gemfire
5. Allow time (or force manual auto-discovery) for updates to be detected
6. Log into Hyperic
7. Go to Gemfire Distributed System platform
8. Click the View tab
9. Click the HQ GemFire view button
10. Click on the name of the stopped server (step 4)
11. Note the reported exception

Activity

Hide
Frederic Calindas added a comment -

I am able to reproduce the issue consistently.

After stopping a server, the stopped server continues to display in the HQ GemFire view (HQU) even after clearing the browser cache. When clicking on the stopped server, the stack displays in the UI.

According to DEV, the HQU status should be updated every 5 seconds but it is taking a lot longer than 5 seconds.

It also appears that the status is not promptly updated in the Monitor tab as well (even after clearing browser cache).

Show
Frederic Calindas added a comment - I am able to reproduce the issue consistently. After stopping a server, the stopped server continues to display in the HQ GemFire view (HQU) even after clearing the browser cache. When clicking on the stopped server, the stack displays in the UI. According to DEV, the HQU status should be updated every 5 seconds but it is taking a lot longer than 5 seconds. It also appears that the status is not promptly updated in the Monitor tab as well (even after clearing browser cache).
Hide
Frederic Calindas added a comment -

Verified with Hyperic agent daily build 4.6.0-EE-251 (7/25/11) using GemFire 6.5 on RHEL 5.5 x64.

After stopping a Cache Server, waiting and then going to HQ GemFire view, the stopped Cache Server did not appear in the list so it was not possible to click the link for the stopped Cache Server.

Clicking on all active Cache Servers correctly reported Regions.

Show
Frederic Calindas added a comment - Verified with Hyperic agent daily build 4.6.0-EE-251 (7/25/11) using GemFire 6.5 on RHEL 5.5 x64. After stopping a Cache Server, waiting and then going to HQ GemFire view, the stopped Cache Server did not appear in the list so it was not possible to click the link for the stopped Cache Server. Clicking on all active Cache Servers correctly reported Regions.

People

Vote (0)
Watch (2)

Dates

  • Created:
    Updated:
    Resolved:
    Last comment:
    2 years, 38 weeks, 5 days ago