You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Dan Smith (JIRA)" <ji...@apache.org> on 2016/01/04 22:18:39 UTC

[jira] [Created] (GEODE-727) Move isHA, isHA, hasResult, optimizeForWrite from the Function interface to the Execution interface

Dan Smith created GEODE-727:
-------------------------------

             Summary: Move isHA, isHA, hasResult, optimizeForWrite from the Function interface to the Execution interface
                 Key: GEODE-727
                 URL: https://issues.apache.org/jira/browse/GEODE-727
             Project: Geode
          Issue Type: Bug
            Reporter: Dan Smith


sHA, hasResult, and optimizeForWrite are methods on Function that the user can override. However, that makes it harder to write lambda expressions for functions, because if you want to set one of these parameters you can now longer use a lambda.

Also the function service API provides a way to invoke functions using a string id. For example FunctionService.onServer().execute("MY_FUNCTION_ID"). If we remove these extra methods from the Function interface, this code will no longer need to look up the Function on the client and the Function class will not have to exist on the client any more.

We will add isHA(boolean), hasResult(Boolean) and optimizeForWrite(boolean) to the Execution interface. These methods will be deprecated on the function interface and be given default values. Unfortunately, if someone invokes a function on a client given the string id, we will still need to look up the function class for now in case they have specified these parameters on their function. But in another release we can remove the deprecated parameters and stop using them.



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