You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by "Anthony Baker (JIRA)" <ji...@apache.org> on 2016/12/28 00:06:00 UTC

[jira] [Updated] (GEODE-1653) Executing a fire-and-forget function on all servers doesn't actually execute on all servers

     [ https://issues.apache.org/jira/browse/GEODE-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Baker updated GEODE-1653:
---------------------------------
    Fix Version/s: 1.1.0

> Executing a fire-and-forget function on all servers doesn't actually execute on all servers
> -------------------------------------------------------------------------------------------
>
>                 Key: GEODE-1653
>                 URL: https://issues.apache.org/jira/browse/GEODE-1653
>             Project: Geode
>          Issue Type: Bug
>          Components: functions
>            Reporter: Barry Oglesby
>            Assignee: Amey Barve
>             Fix For: 1.1.0
>
>
> Executing a fire-and-forget function on all servers only executes on the ones the client is currently connected to.
> The two {{ExecuteFunctionNoAckOp execute}} methods get the servers to execute against using code like:
> {noformat}
> pool.getCurrentServers();
> {noformat}
> This method just gets all the {{EndpointManager's endpointMap's ServerLocations}}.
> What should be done is more like what the {{ExecuteFunctionOp execute}} methods do:
> {noformat}
> private static List<ServerLocation> getAllServers(PoolImpl pool) {
>   List<ServerLocation> servers = null;
>   if (pool.getLocators() == null || pool.getLocators().isEmpty()) {
>     servers = ((ExplicitConnectionSourceImpl) pool.getConnectionSource()).getAllServers();
>   } else {
>     servers = ((AutoConnectionSourceImpl) pool.getConnectionSource()).findAllServers(); // n/w call on locator
>   }
>   return servers;
> }
> {noformat}



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