You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2013/12/19 18:58:07 UTC

[jira] [Created] (HIVE-6061) Metastore (and other) Thrift APIs should use request-response pattern

Sergey Shelukhin created HIVE-6061:
--------------------------------------

             Summary: Metastore (and other) Thrift APIs should use request-response pattern
                 Key: HIVE-6061
                 URL: https://issues.apache.org/jira/browse/HIVE-6061
             Project: Hive
          Issue Type: Wish
          Components: Metastore, Thrift API
            Reporter: Sergey Shelukhin


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?



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)