You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/11/15 20:20:48 UTC

[16/50] [abbrv] hive git commit: HIVE-15062 : create backward compat checking for metastore APIs (Sergey Shelukhin, reviewed by Thejas M Nair and Sushanth Sowmyan)

HIVE-15062 : create backward compat checking for metastore APIs (Sergey Shelukhin, reviewed by Thejas M Nair and Sushanth Sowmyan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fb5bf0cb
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fb5bf0cb
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fb5bf0cb

Branch: refs/heads/hive-14535
Commit: fb5bf0cbd5bf88b6e7c7e0d985c2c15bdc2a79e9
Parents: 89efd23
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Nov 10 13:30:53 2016 -0800
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Nov 10 13:30:53 2016 -0800

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/conf/HiveConf.java   |    5 +-
 metastore/if/hive_metastore.thrift              |   35 +-
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp  | 5852 ++++++++++--------
 .../gen/thrift/gen-cpp/ThriftHiveMetastore.h    |  300 +-
 .../ThriftHiveMetastore_server.skeleton.cpp     |   10 +
 .../gen/thrift/gen-cpp/hive_metastore_types.cpp |  811 ++-
 .../gen/thrift/gen-cpp/hive_metastore_types.h   |  257 +
 .../hive/metastore/api/ClientCapabilities.java  |  441 ++
 .../hive/metastore/api/ClientCapability.java    |   42 +
 .../hive/metastore/api/GetTableRequest.java     |  605 ++
 .../hive/metastore/api/GetTableResult.java      |  394 ++
 .../hive/metastore/api/GetTablesRequest.java    |  659 ++
 .../hive/metastore/api/GetTablesResult.java     |  443 ++
 .../hive/metastore/api/ThriftHiveMetastore.java | 4637 ++++++++++----
 .../gen-php/metastore/ThriftHiveMetastore.php   | 1838 ++++--
 .../src/gen/thrift/gen-php/metastore/Types.php  |  569 ++
 .../hive_metastore/ThriftHiveMetastore-remote   |   14 +
 .../hive_metastore/ThriftHiveMetastore.py       | 1278 ++--
 .../gen/thrift/gen-py/hive_metastore/ttypes.py  |  428 ++
 .../gen/thrift/gen-rb/hive_metastore_types.rb   |  100 +
 .../gen/thrift/gen-rb/thrift_hive_metastore.rb  |  128 +-
 .../hadoop/hive/metastore/HiveMetaStore.java    |   71 +-
 .../hive/metastore/HiveMetaStoreClient.java     |  126 +-
 .../hive/metastore/events/InsertEvent.java      |   11 +-
 .../hive/service/cli/operation/Operation.java   |    1 -
 25 files changed, 13860 insertions(+), 5195 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/fb5bf0cb/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 56289c9..b80f7b5 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -307,7 +307,8 @@ public class HiveConf extends Configuration {
       HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL,
       HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL_DDL,
       HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT,
-      HiveConf.ConfVars.METASTORE_PARTITION_NAME_WHITELIST_PATTERN
+      HiveConf.ConfVars.METASTORE_PARTITION_NAME_WHITELIST_PATTERN,
+      HiveConf.ConfVars.METASTORE_CAPABILITY_CHECK
   };
 
   static {
@@ -574,6 +575,8 @@ public class HiveConf extends Configuration {
     METASTOREURIS("hive.metastore.uris", "",
         "Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore."),
 
+    METASTORE_CAPABILITY_CHECK("hive.metastore.client.capability.check", true,
+        "Whether to check client capabilities for potentially breaking API usage."),
     METASTORE_FASTPATH("hive.metastore.fastpath", false,
         "Used to avoid all of the proxies and object copies in the metastore.  Note, if this is " +
             "set, you MUST use a local metastore (hive.metastore.uris must be empty) otherwise " +

http://git-wip-us.apache.org/repos/asf/hive/blob/fb5bf0cb/metastore/if/hive_metastore.thrift
----------------------------------------------------------------------
diff --git a/metastore/if/hive_metastore.thrift b/metastore/if/hive_metastore.thrift
index 42cb6f0..4e92f54 100755
--- a/metastore/if/hive_metastore.thrift
+++ b/metastore/if/hive_metastore.thrift
@@ -151,7 +151,6 @@ enum EventRequestType {
     DELETE = 3,
 }
 
-
 struct HiveObjectRef{
   1: HiveObjectType objectType,
   2: string dbName,
@@ -897,6 +896,35 @@ struct GetAllFunctionsResponse {
   1: optional list<Function> functions
 }
 
+enum ClientCapability {
+  TEST_CAPABILITY = 1
+}
+
+
+struct ClientCapabilities {
+  1: required list<ClientCapability> values
+}
+
+struct GetTableRequest {
+  1: required string dbName,
+  2: required string tblName,
+  3: optional ClientCapabilities capabilities
+}
+
+struct GetTableResult {
+  1: required Table table
+}
+
+struct GetTablesRequest {
+  1: required string dbName,
+  2: optional list<string> tblNames,
+  3: optional ClientCapabilities capabilities
+}
+
+struct GetTablesResult {
+  1: required list<Table> tables
+}
+
 struct TableMeta {
   1: required string dbName;
   2: required string tableName;
@@ -1041,6 +1069,11 @@ service ThriftHiveMetastore extends fb303.FacebookService
   Table get_table(1:string dbname, 2:string tbl_name)
                        throws (1:MetaException o1, 2:NoSuchObjectException o2)
   list<Table> get_table_objects_by_name(1:string dbname, 2:list<string> tbl_names)
+  GetTableResult get_table_req(1:GetTableRequest req)
+                       throws (1:MetaException o1, 2:NoSuchObjectException o2)
+  GetTablesResult get_table_objects_by_name_req(1:GetTablesRequest req)
+
+
 				   throws (1:MetaException o1, 2:InvalidOperationException o2, 3:UnknownDBException o3)
 
   // Get a list of table names that match a filter.