Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-6061

Metastore (and other) Thrift APIs should use request-response pattern

    XMLWordPrintableJSON

    Details

    • Type: Wish
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Metastore, Thrift API
    • Labels:
      None

      Description

      Wish in lieu of "brainstorming" JIRA.

      Metastore Thrift APIs currently use normal method signatures (e.g. int foo(string bar, double baz)); this is problematic in Thrift because the APIs cannot be evolved without breaking compat; and weird names have to be invented because overloading is not supported either.
      An easy solution to this is to have methods in the form of FooResponse foo(FooRequest req); the structures can then be evolved easily.

      This may apply also to other Thrift APIs, I have not checked.

      This is a brainstorming JIRA for the transformations. Obviously this will either double the API size, or cause massive backward incompatibility.
      Maybe we can do 1-2 releases with both APIs, marking the old ones deprecated in some form, and then remove them?

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              sershe Sergey Shelukhin
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: