Jens Deppe created GEODE-736:
--------------------------------

             Summary: REST admin API logs exceptions for invalid requests to 
/members/{name}/[locator|server]
                 Key: GEODE-736
                 URL: https://issues.apache.org/jira/browse/GEODE-736
             Project: Geode
          Issue Type: Improvement
          Components: management
            Reporter: Jens Deppe


When making an admin REST call to {{/members/\{name\}/\[server|locator\]}} with 
the name of a member which is not currently available, the following exception 
is thrown and logged:
{noformat}
[severe 2015/05/01 20:49:23.231 UTC locator0 <qtp127515622-97> tid=0x61] 
java.lang.IllegalStateException: No MemberMXBean with ObjectName 
(GemFire:type=Member,*) based on Query (((Name) = ('cacheserver0')) or ((Id) = 
('cacheserver0'))) was found in the Platform MBeanServer for member 
(cacheserver0)!
        at 
com.gemstone.gemfire.management.internal.web.controllers.AbstractCommandsController.assertState(AbstractCommandsController.java:118)
        at 
com.gemstone.gemfire.management.internal.web.controllers.AbstractCommandsController.getMemberMXBean(AbstractCommandsController.java:362)
        at 
com.gemstone.gemfire.management.internal.web.controllers.LauncherLifecycleCommandsController.statusServer(LauncherLifecycleCommandsController.java:43)
        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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:685)
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667)
        at 
org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:88)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
        at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
        at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
        at java.lang.Thread.run(Thread.java:745)
{noformat}
In the Cloud Foundry GemFire? service, one of our workflows is to shut down the 
cluster, apply config and wait for all members to start up again. While 
waiting, we poll this endpoint which produces the exception when members are 
not yet available. Having the exception appear in the logs seems unnecessary 
and may cause concern for customers if they see it. 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to