Description
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:
pool.getCurrentServers();
This method just gets all the EndpointManager's endpointMap's ServerLocations.
What should be done is more like what the ExecuteFunctionOp execute methods do:
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; }
Attachments
Issue Links
- links to