Github user gesterzhou commented on a diff in the pull request: https://github.com/apache/incubator-geode/pull/293#discussion_r90173276 --- Diff: geode-core/src/main/java/org/apache/geode/cache/client/internal/ExecuteFunctionNoAckOp.java --- @@ -236,4 +236,16 @@ protected Message createResponseMessage() { } } + private static List<ServerLocation> getAllServers(PoolImpl pool) { + List<ServerLocation> servers; + if (pool.getLocators() == null || pool.getLocators().isEmpty()) { + servers = ((ExplicitConnectionSourceImpl) pool.getConnectionSource()).getAllServers(); --- End diff -- This can be done by introducing a getAllServers() into DataSource interface and modify the AutoConnectionSourceImpl.findAllServers() into getAllServers(). Also there's no need to create a static method in ExecuteFunctionNoAckOp.java. Also need to modify ExecuteFunctionOp.java to use ArrayList<ServerLocation> servers = pool.getConnectionSource().getAllServers();
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---