Juan José Ramos Cassella created GEODE-6759:
-----------------------------------------------

             Summary: NPE When Executing a Function With Destroyed Pool
                 Key: GEODE-6759
                 URL: https://issues.apache.org/jira/browse/GEODE-6759
             Project: Geode
          Issue Type: Bug
          Components: client/server
            Reporter: Juan José Ramos Cassella


A {{NullPointerException}} can be thrown on client side if the application 
executes a function on a pool that has been destroyed.
The following code reproduces the issue:
{code:java}
ClientCache clientCache = new ClientCacheFactory().create();
PoolManager.createFactory().addLocator(InetAddress.getLocalHost().getHostName(),
 locator.getPort()).create("poolOne");

Region region = 
clientCache.createClientRegionFactory(PROXY).setPoolName("poolOne").create("TestRegion");
PoolManagerImpl.getPMI().unregister(PoolManager.find("poolOne"));

FunctionService.onRegion(region).execute(testFunction).getResult();
{code}

The problem is that we don't verify whether the {{Pool}} is currently being 
used or not within the {{unregister}} method. The following should be done:
# Don't allow the user to unregister the pool when at least one region is 
associated to it.
# Throw a meaningful exception if the pool can't be found before executing the 
function.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to