Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-9077

GFSH commands invoke functions using execute(Function) rather than execute(ID)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • gfsh
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ukohlmeyer Udo Kohlmeyer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: