Udo Kohlmeyer created GEODE-9077:
------------------------------------

             Summary: GFSH commands invoke functions using execute(Function) 
rather than execute(ID)
                 Key: GEODE-9077
                 URL: https://issues.apache.org/jira/browse/GEODE-9077
             Project: Geode
          Issue Type: Improvement
          Components: gfsh
            Reporter: Udo Kohlmeyer


GFSH currently executes functions using the method, `execute(Function)` rather 
than a more acceptable `execute(ID)`.

In both cases the function is required to be on the server-side, BUT the main 
difference is that for the first case the function does not need to be 
registered. Which makes no sense, as the function as to be present on the 
server side.

This approach makes it difficult to move functions (package) or replace them 
with better versions at runtime, as the function versions have to match up for 
it to be able to deserialize correctly.

In the approach of `execute(ID)` the problem exists that the functions need to 
be registered which means that possibly they might become "public" when listing 
them with `list functions`.

But the benefits are larger, as they are registered by name and thus invocation 
from the client side is against the ID and not the Function itself. In 
addition, this approach allows for the updating of the function, without having 
to update the client, as the implementation does not have to live in GFSH. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to