[
https://issues.apache.org/jira/browse/GEODE-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amey Barve reassigned GEODE-1653:
---------------------------------
Assignee: Amey Barve
> 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
>
> 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)