[
https://issues.apache.org/jira/browse/GEODE-1653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15686592#comment-15686592
]
ASF GitHub Bot commented on GEODE-1653:
---------------------------------------
GitHub user ameybarve15 opened a pull request:
https://github.com/apache/incubator-geode/pull/293
GEODE-1653: Executing a fire-and-forget function on all servers doesn't
actually execute on all servers
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ameybarve15/incubator-geode feature/GEODE-1653
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-geode/pull/293.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #293
----
commit 439438fc470e5c9388f533b11eaa550cfad83e66
Author: Amey Barve <[email protected]>
Date: 2016-11-21T12:39:55Z
GEODE-1653: Added helper method getAllServers in ExecuteFunctionNoAckOp
to get all available servers, instead executing Fire and Forget only on the
ones the
client is currently connected to.
commit aca655fe2e0a03d8497c8ddabc43fbff2755248a
Author: Amey Barve <[email protected]>
Date: 2016-11-22T11:58:30Z
GEODE-1653: Dunit test for Executing a fire-and-forget function on all
servers as opposed to only executing on the ones the client is currently
connected to.
commit 023696ec0e16461241b20d4ad4bcac73a151d520
Author: Amey Barve <[email protected]>
Date: 2016-11-22T12:02:33Z
GEODE-1653: changes after spotlessApply.
----
> 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)