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)

Reply via email to