Swapnil Bawaskar created GEODE-3191:
---------------------------------------

             Summary: NPE in pulse prevents locator shutdown
                 Key: GEODE-3191
                 URL: https://issues.apache.org/jira/browse/GEODE-3191
             Project: Geode
          Issue Type: Bug
          Components: pulse
            Reporter: Swapnil Bawaskar


We found that when there is an open connection to pulse `gfsh stop locator` 
fails to correctly stop the locator process. In the locator logs we see:

{noformat}
[warning 2017/07/11 21:13:44.713 UTC 
locator-ced56c23-6523-413c-9b24-dadf10683b89 <Distribution Locator on 10.0.8.7> 
tid=0xe] Failed to stop the HTTP service because: null
java.lang.NullPointerException
        at 
org.apache.geode.tools.pulse.internal.data.Repository.removeAllClusters(Repository.java:226)
        at 
org.apache.geode.tools.pulse.internal.PulseAppListener.contextDestroyed(PulseAppListener.java:83)
        at 
org.eclipse.jetty.server.handler.ContextHandler.callContextDestroyed(ContextHandler.java:843)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextDestroyed(ServletContextHandler.java:543)
        at 
org.eclipse.jetty.server.handler.ContextHandler.stopContext(ContextHandler.java:824)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.stopContext(ServletContextHandler.java:353)
        at 
org.eclipse.jetty.webapp.WebAppContext.stopWebapp(WebAppContext.java:1385)
        at 
org.eclipse.jetty.webapp.WebAppContext.stopContext(WebAppContext.java:1349)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:872)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:269)
        at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:541)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:161)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143)
        at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:161)
        at 
org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73)
        at org.eclipse.jetty.server.Server.doStop(Server.java:476)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
        at 
org.apache.geode.management.internal.ManagementAgent.stopHttpService(ManagementAgent.java:334)
        at 
org.apache.geode.management.internal.ManagementAgent.stopAgent(ManagementAgent.java:157)
        at 
org.apache.geode.management.internal.SystemManagementService.close(SystemManagementService.java:265)
        at 
org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheRemoval(ManagementAdapter.java:735)
        at 
org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:117)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2162)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:535)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2145)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:1988)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:1984)
        at 
org.apache.geode.distributed.internal.InternalLocator.handleShutdown(InternalLocator.java:984)
        at 
org.apache.geode.distributed.internal.InternalLocator.access$500(InternalLocator.java:103)
        at 
org.apache.geode.distributed.internal.InternalLocator$PrimaryHandler.shutDown(InternalLocator.java:1359)
        at 
org.apache.geode.distributed.internal.tcpserver.TcpServer.run(TcpServer.java:324)
        at 
org.apache.geode.distributed.internal.tcpserver.TcpServer$2.run(TcpServer.java:227)

[error 2017/07/11 21:13:44.714 UTC locator-ced56c23-6523-413c-9b24-dadf10683b89 
<Distribution Locator on 10.0.8.7> tid=0xe] Failed to properly release 
resources held by the HTTP service: !STOPPED
java.lang.IllegalStateException: !STOPPED
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.destroy(HandlerWrapper.java:134)
        at 
org.apache.geode.management.internal.ManagementAgent.stopHttpService(ManagementAgent.java:339)
        at 
org.apache.geode.management.internal.ManagementAgent.stopAgent(ManagementAgent.java:157)
        at 
org.apache.geode.management.internal.SystemManagementService.close(SystemManagementService.java:265)
        at 
org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheRemoval(ManagementAdapter.java:735)
        at 
org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:117)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2162)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:535)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2145)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:1988)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:1984)
        at 
org.apache.geode.distributed.internal.InternalLocator.handleShutdown(InternalLocator.java:984)
        at 
org.apache.geode.distributed.internal.InternalLocator.access$500(InternalLocator.java:103)
        at 
org.apache.geode.distributed.internal.InternalLocator$PrimaryHandler.shutDown(InternalLocator.java:1359)
        at 
org.apache.geode.distributed.internal.tcpserver.TcpServer.run(TcpServer.java:324)
        at 
org.apache.geode.distributed.internal.tcpserver.TcpServer$2.run(TcpServer.java:227)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to