You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/01/11 21:54:49 UTC

[09/22] hive git commit: HIVE-14498: Freshness period for query rewriting using materialized views (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/57d909c3/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
index fc57141..d4d0be3 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
@@ -100,6 +100,8 @@ import org.slf4j.LoggerFactory;
 
     public List<String> get_tables_by_type(String db_name, String pattern, String tableType) throws MetaException, org.apache.thrift.TException;
 
+    public List<String> get_materialized_views_for_rewriting(String db_name) throws MetaException, org.apache.thrift.TException;
+
     public List<TableMeta> get_table_meta(String db_patterns, String tbl_patterns, List<String> tbl_types) throws MetaException, org.apache.thrift.TException;
 
     public List<String> get_all_tables(String db_name) throws MetaException, org.apache.thrift.TException;
@@ -112,6 +114,8 @@ import org.slf4j.LoggerFactory;
 
     public GetTablesResult get_table_objects_by_name_req(GetTablesRequest req) throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException;
 
+    public Map<String,Materialization> get_materialization_invalidation_info(String dbname, List<String> tbl_names) throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException;
+
     public List<String> get_table_names_by_filter(String dbname, String filter, short max_tables) throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException;
 
     public void alter_table(String dbname, String tbl_name, Table new_tbl) throws InvalidOperationException, MetaException, org.apache.thrift.TException;
@@ -342,6 +346,10 @@ import org.slf4j.LoggerFactory;
 
     public void add_dynamic_partitions(AddDynamicPartitions rqst) throws NoSuchTxnException, TxnAbortedException, org.apache.thrift.TException;
 
+    public List<BasicTxnInfo> get_last_completed_transaction_for_tables(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException;
+
+    public BasicTxnInfo get_last_completed_transaction_for_table(String db_name, String table_name, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException;
+
     public NotificationEventResponse get_next_notification(NotificationEventRequest rqst) throws org.apache.thrift.TException;
 
     public CurrentNotificationEventId get_current_notificationEventId() throws org.apache.thrift.TException;
@@ -462,6 +470,8 @@ import org.slf4j.LoggerFactory;
 
     public void get_tables_by_type(String db_name, String pattern, String tableType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void get_materialized_views_for_rewriting(String db_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void get_table_meta(String db_patterns, String tbl_patterns, List<String> tbl_types, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get_all_tables(String db_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -474,6 +484,8 @@ import org.slf4j.LoggerFactory;
 
     public void get_table_objects_by_name_req(GetTablesRequest req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void get_materialization_invalidation_info(String dbname, List<String> tbl_names, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void get_table_names_by_filter(String dbname, String filter, short max_tables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void alter_table(String dbname, String tbl_name, Table new_tbl, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -704,6 +716,10 @@ import org.slf4j.LoggerFactory;
 
     public void add_dynamic_partitions(AddDynamicPartitions rqst, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void get_last_completed_transaction_for_tables(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void get_last_completed_transaction_for_table(String db_name, String table_name, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void get_next_notification(NotificationEventRequest rqst, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get_current_notificationEventId(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -1619,6 +1635,32 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_tables_by_type failed: unknown result");
     }
 
+    public List<String> get_materialized_views_for_rewriting(String db_name) throws MetaException, org.apache.thrift.TException
+    {
+      send_get_materialized_views_for_rewriting(db_name);
+      return recv_get_materialized_views_for_rewriting();
+    }
+
+    public void send_get_materialized_views_for_rewriting(String db_name) throws org.apache.thrift.TException
+    {
+      get_materialized_views_for_rewriting_args args = new get_materialized_views_for_rewriting_args();
+      args.setDb_name(db_name);
+      sendBase("get_materialized_views_for_rewriting", args);
+    }
+
+    public List<String> recv_get_materialized_views_for_rewriting() throws MetaException, org.apache.thrift.TException
+    {
+      get_materialized_views_for_rewriting_result result = new get_materialized_views_for_rewriting_result();
+      receiveBase(result, "get_materialized_views_for_rewriting");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.o1 != null) {
+        throw result.o1;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_materialized_views_for_rewriting failed: unknown result");
+    }
+
     public List<TableMeta> get_table_meta(String db_patterns, String tbl_patterns, List<String> tbl_types) throws MetaException, org.apache.thrift.TException
     {
       send_get_table_meta(db_patterns, tbl_patterns, tbl_types);
@@ -1788,6 +1830,39 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_table_objects_by_name_req failed: unknown result");
     }
 
+    public Map<String,Materialization> get_materialization_invalidation_info(String dbname, List<String> tbl_names) throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException
+    {
+      send_get_materialization_invalidation_info(dbname, tbl_names);
+      return recv_get_materialization_invalidation_info();
+    }
+
+    public void send_get_materialization_invalidation_info(String dbname, List<String> tbl_names) throws org.apache.thrift.TException
+    {
+      get_materialization_invalidation_info_args args = new get_materialization_invalidation_info_args();
+      args.setDbname(dbname);
+      args.setTbl_names(tbl_names);
+      sendBase("get_materialization_invalidation_info", args);
+    }
+
+    public Map<String,Materialization> recv_get_materialization_invalidation_info() throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException
+    {
+      get_materialization_invalidation_info_result result = new get_materialization_invalidation_info_result();
+      receiveBase(result, "get_materialization_invalidation_info");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.o1 != null) {
+        throw result.o1;
+      }
+      if (result.o2 != null) {
+        throw result.o2;
+      }
+      if (result.o3 != null) {
+        throw result.o3;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_materialization_invalidation_info failed: unknown result");
+    }
+
     public List<String> get_table_names_by_filter(String dbname, String filter, short max_tables) throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException
     {
       send_get_table_names_by_filter(dbname, filter, max_tables);
@@ -5153,6 +5228,56 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
+    public List<BasicTxnInfo> get_last_completed_transaction_for_tables(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException
+    {
+      send_get_last_completed_transaction_for_tables(db_names, table_names, txns_snapshot);
+      return recv_get_last_completed_transaction_for_tables();
+    }
+
+    public void send_get_last_completed_transaction_for_tables(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException
+    {
+      get_last_completed_transaction_for_tables_args args = new get_last_completed_transaction_for_tables_args();
+      args.setDb_names(db_names);
+      args.setTable_names(table_names);
+      args.setTxns_snapshot(txns_snapshot);
+      sendBase("get_last_completed_transaction_for_tables", args);
+    }
+
+    public List<BasicTxnInfo> recv_get_last_completed_transaction_for_tables() throws org.apache.thrift.TException
+    {
+      get_last_completed_transaction_for_tables_result result = new get_last_completed_transaction_for_tables_result();
+      receiveBase(result, "get_last_completed_transaction_for_tables");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_last_completed_transaction_for_tables failed: unknown result");
+    }
+
+    public BasicTxnInfo get_last_completed_transaction_for_table(String db_name, String table_name, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException
+    {
+      send_get_last_completed_transaction_for_table(db_name, table_name, txns_snapshot);
+      return recv_get_last_completed_transaction_for_table();
+    }
+
+    public void send_get_last_completed_transaction_for_table(String db_name, String table_name, TxnsSnapshot txns_snapshot) throws org.apache.thrift.TException
+    {
+      get_last_completed_transaction_for_table_args args = new get_last_completed_transaction_for_table_args();
+      args.setDb_name(db_name);
+      args.setTable_name(table_name);
+      args.setTxns_snapshot(txns_snapshot);
+      sendBase("get_last_completed_transaction_for_table", args);
+    }
+
+    public BasicTxnInfo recv_get_last_completed_transaction_for_table() throws org.apache.thrift.TException
+    {
+      get_last_completed_transaction_for_table_result result = new get_last_completed_transaction_for_table_result();
+      receiveBase(result, "get_last_completed_transaction_for_table");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get_last_completed_transaction_for_table failed: unknown result");
+    }
+
     public NotificationEventResponse get_next_notification(NotificationEventRequest rqst) throws org.apache.thrift.TException
     {
       send_get_next_notification(rqst);
@@ -6985,6 +7110,38 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void get_materialized_views_for_rewriting(String db_name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      get_materialized_views_for_rewriting_call method_call = new get_materialized_views_for_rewriting_call(db_name, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialized_views_for_rewriting_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String db_name;
+      public get_materialized_views_for_rewriting_call(String db_name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.db_name = db_name;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_materialized_views_for_rewriting", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        get_materialized_views_for_rewriting_args args = new get_materialized_views_for_rewriting_args();
+        args.setDb_name(db_name);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<String> getResult() throws MetaException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_get_materialized_views_for_rewriting();
+      }
+    }
+
     public void get_table_meta(String db_patterns, String tbl_patterns, List<String> tbl_types, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       get_table_meta_call method_call = new get_table_meta_call(db_patterns, tbl_patterns, tbl_types, resultHandler, this, ___protocolFactory, ___transport);
@@ -7189,6 +7346,41 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void get_materialization_invalidation_info(String dbname, List<String> tbl_names, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      get_materialization_invalidation_info_call method_call = new get_materialization_invalidation_info_call(dbname, tbl_names, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialization_invalidation_info_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String dbname;
+      private List<String> tbl_names;
+      public get_materialization_invalidation_info_call(String dbname, List<String> tbl_names, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.dbname = dbname;
+        this.tbl_names = tbl_names;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_materialization_invalidation_info", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        get_materialization_invalidation_info_args args = new get_materialization_invalidation_info_args();
+        args.setDbname(dbname);
+        args.setTbl_names(tbl_names);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public Map<String,Materialization> getResult() throws MetaException, InvalidOperationException, UnknownDBException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_get_materialization_invalidation_info();
+      }
+    }
+
     public void get_table_names_by_filter(String dbname, String filter, short max_tables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       get_table_names_by_filter_call method_call = new get_table_names_by_filter_call(dbname, filter, max_tables, resultHandler, this, ___protocolFactory, ___transport);
@@ -11292,6 +11484,82 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void get_last_completed_transaction_for_tables(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      get_last_completed_transaction_for_tables_call method_call = new get_last_completed_transaction_for_tables_call(db_names, table_names, txns_snapshot, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_tables_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private List<String> db_names;
+      private List<String> table_names;
+      private TxnsSnapshot txns_snapshot;
+      public get_last_completed_transaction_for_tables_call(List<String> db_names, List<String> table_names, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.db_names = db_names;
+        this.table_names = table_names;
+        this.txns_snapshot = txns_snapshot;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_last_completed_transaction_for_tables", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        get_last_completed_transaction_for_tables_args args = new get_last_completed_transaction_for_tables_args();
+        args.setDb_names(db_names);
+        args.setTable_names(table_names);
+        args.setTxns_snapshot(txns_snapshot);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<BasicTxnInfo> getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_get_last_completed_transaction_for_tables();
+      }
+    }
+
+    public void get_last_completed_transaction_for_table(String db_name, String table_name, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      get_last_completed_transaction_for_table_call method_call = new get_last_completed_transaction_for_table_call(db_name, table_name, txns_snapshot, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_table_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String db_name;
+      private String table_name;
+      private TxnsSnapshot txns_snapshot;
+      public get_last_completed_transaction_for_table_call(String db_name, String table_name, TxnsSnapshot txns_snapshot, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.db_name = db_name;
+        this.table_name = table_name;
+        this.txns_snapshot = txns_snapshot;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("get_last_completed_transaction_for_table", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        get_last_completed_transaction_for_table_args args = new get_last_completed_transaction_for_table_args();
+        args.setDb_name(db_name);
+        args.setTable_name(table_name);
+        args.setTxns_snapshot(txns_snapshot);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public BasicTxnInfo getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_get_last_completed_transaction_for_table();
+      }
+    }
+
     public void get_next_notification(NotificationEventRequest rqst, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       get_next_notification_call method_call = new get_next_notification_call(rqst, resultHandler, this, ___protocolFactory, ___transport);
@@ -12253,12 +12521,14 @@ import org.slf4j.LoggerFactory;
       processMap.put("truncate_table", new truncate_table());
       processMap.put("get_tables", new get_tables());
       processMap.put("get_tables_by_type", new get_tables_by_type());
+      processMap.put("get_materialized_views_for_rewriting", new get_materialized_views_for_rewriting());
       processMap.put("get_table_meta", new get_table_meta());
       processMap.put("get_all_tables", new get_all_tables());
       processMap.put("get_table", new get_table());
       processMap.put("get_table_objects_by_name", new get_table_objects_by_name());
       processMap.put("get_table_req", new get_table_req());
       processMap.put("get_table_objects_by_name_req", new get_table_objects_by_name_req());
+      processMap.put("get_materialization_invalidation_info", new get_materialization_invalidation_info());
       processMap.put("get_table_names_by_filter", new get_table_names_by_filter());
       processMap.put("alter_table", new alter_table());
       processMap.put("alter_table_with_environment_context", new alter_table_with_environment_context());
@@ -12374,6 +12644,8 @@ import org.slf4j.LoggerFactory;
       processMap.put("compact2", new compact2());
       processMap.put("show_compact", new show_compact());
       processMap.put("add_dynamic_partitions", new add_dynamic_partitions());
+      processMap.put("get_last_completed_transaction_for_tables", new get_last_completed_transaction_for_tables());
+      processMap.put("get_last_completed_transaction_for_table", new get_last_completed_transaction_for_table());
       processMap.put("get_next_notification", new get_next_notification());
       processMap.put("get_current_notificationEventId", new get_current_notificationEventId());
       processMap.put("get_notification_events_count", new get_notification_events_count());
@@ -13172,6 +13444,30 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialized_views_for_rewriting<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_materialized_views_for_rewriting_args> {
+      public get_materialized_views_for_rewriting() {
+        super("get_materialized_views_for_rewriting");
+      }
+
+      public get_materialized_views_for_rewriting_args getEmptyArgsInstance() {
+        return new get_materialized_views_for_rewriting_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public get_materialized_views_for_rewriting_result getResult(I iface, get_materialized_views_for_rewriting_args args) throws org.apache.thrift.TException {
+        get_materialized_views_for_rewriting_result result = new get_materialized_views_for_rewriting_result();
+        try {
+          result.success = iface.get_materialized_views_for_rewriting(args.db_name);
+        } catch (MetaException o1) {
+          result.o1 = o1;
+        }
+        return result;
+      }
+    }
+
     @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_table_meta<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_table_meta_args> {
       public get_table_meta() {
         super("get_table_meta");
@@ -13320,6 +13616,34 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialization_invalidation_info<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_materialization_invalidation_info_args> {
+      public get_materialization_invalidation_info() {
+        super("get_materialization_invalidation_info");
+      }
+
+      public get_materialization_invalidation_info_args getEmptyArgsInstance() {
+        return new get_materialization_invalidation_info_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public get_materialization_invalidation_info_result getResult(I iface, get_materialization_invalidation_info_args args) throws org.apache.thrift.TException {
+        get_materialization_invalidation_info_result result = new get_materialization_invalidation_info_result();
+        try {
+          result.success = iface.get_materialization_invalidation_info(args.dbname, args.tbl_names);
+        } catch (MetaException o1) {
+          result.o1 = o1;
+        } catch (InvalidOperationException o2) {
+          result.o2 = o2;
+        } catch (UnknownDBException o3) {
+          result.o3 = o3;
+        }
+        return result;
+      }
+    }
+
     @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_table_names_by_filter<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_table_names_by_filter_args> {
       public get_table_names_by_filter() {
         super("get_table_names_by_filter");
@@ -16278,6 +16602,46 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_tables<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_last_completed_transaction_for_tables_args> {
+      public get_last_completed_transaction_for_tables() {
+        super("get_last_completed_transaction_for_tables");
+      }
+
+      public get_last_completed_transaction_for_tables_args getEmptyArgsInstance() {
+        return new get_last_completed_transaction_for_tables_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public get_last_completed_transaction_for_tables_result getResult(I iface, get_last_completed_transaction_for_tables_args args) throws org.apache.thrift.TException {
+        get_last_completed_transaction_for_tables_result result = new get_last_completed_transaction_for_tables_result();
+        result.success = iface.get_last_completed_transaction_for_tables(args.db_names, args.table_names, args.txns_snapshot);
+        return result;
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_table<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_last_completed_transaction_for_table_args> {
+      public get_last_completed_transaction_for_table() {
+        super("get_last_completed_transaction_for_table");
+      }
+
+      public get_last_completed_transaction_for_table_args getEmptyArgsInstance() {
+        return new get_last_completed_transaction_for_table_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public get_last_completed_transaction_for_table_result getResult(I iface, get_last_completed_transaction_for_table_args args) throws org.apache.thrift.TException {
+        get_last_completed_transaction_for_table_result result = new get_last_completed_transaction_for_table_result();
+        result.success = iface.get_last_completed_transaction_for_table(args.db_name, args.table_name, args.txns_snapshot);
+        return result;
+      }
+    }
+
     @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_next_notification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_next_notification_args> {
       public get_next_notification() {
         super("get_next_notification");
@@ -17040,12 +17404,14 @@ import org.slf4j.LoggerFactory;
       processMap.put("truncate_table", new truncate_table());
       processMap.put("get_tables", new get_tables());
       processMap.put("get_tables_by_type", new get_tables_by_type());
+      processMap.put("get_materialized_views_for_rewriting", new get_materialized_views_for_rewriting());
       processMap.put("get_table_meta", new get_table_meta());
       processMap.put("get_all_tables", new get_all_tables());
       processMap.put("get_table", new get_table());
       processMap.put("get_table_objects_by_name", new get_table_objects_by_name());
       processMap.put("get_table_req", new get_table_req());
       processMap.put("get_table_objects_by_name_req", new get_table_objects_by_name_req());
+      processMap.put("get_materialization_invalidation_info", new get_materialization_invalidation_info());
       processMap.put("get_table_names_by_filter", new get_table_names_by_filter());
       processMap.put("alter_table", new alter_table());
       processMap.put("alter_table_with_environment_context", new alter_table_with_environment_context());
@@ -17161,6 +17527,8 @@ import org.slf4j.LoggerFactory;
       processMap.put("compact2", new compact2());
       processMap.put("show_compact", new show_compact());
       processMap.put("add_dynamic_partitions", new add_dynamic_partitions());
+      processMap.put("get_last_completed_transaction_for_tables", new get_last_completed_transaction_for_tables());
+      processMap.put("get_last_completed_transaction_for_table", new get_last_completed_transaction_for_table());
       processMap.put("get_next_notification", new get_next_notification());
       processMap.put("get_current_notificationEventId", new get_current_notificationEventId());
       processMap.put("get_notification_events_count", new get_notification_events_count());
@@ -19003,20 +19371,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_table_meta<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_table_meta_args, List<TableMeta>> {
-      public get_table_meta() {
-        super("get_table_meta");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialized_views_for_rewriting<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_materialized_views_for_rewriting_args, List<String>> {
+      public get_materialized_views_for_rewriting() {
+        super("get_materialized_views_for_rewriting");
       }
 
-      public get_table_meta_args getEmptyArgsInstance() {
-        return new get_table_meta_args();
+      public get_materialized_views_for_rewriting_args getEmptyArgsInstance() {
+        return new get_materialized_views_for_rewriting_args();
       }
 
-      public AsyncMethodCallback<List<TableMeta>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TableMeta>>() { 
-          public void onComplete(List<TableMeta> o) {
-            get_table_meta_result result = new get_table_meta_result();
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            get_materialized_views_for_rewriting_result result = new get_materialized_views_for_rewriting_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19029,7 +19397,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_table_meta_result result = new get_table_meta_result();
+            get_materialized_views_for_rewriting_result result = new get_materialized_views_for_rewriting_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -19055,25 +19423,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, get_table_meta_args args, org.apache.thrift.async.AsyncMethodCallback<List<TableMeta>> resultHandler) throws TException {
-        iface.get_table_meta(args.db_patterns, args.tbl_patterns, args.tbl_types,resultHandler);
+      public void start(I iface, get_materialized_views_for_rewriting_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException {
+        iface.get_materialized_views_for_rewriting(args.db_name,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_all_tables<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_all_tables_args, List<String>> {
-      public get_all_tables() {
-        super("get_all_tables");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_table_meta<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_table_meta_args, List<TableMeta>> {
+      public get_table_meta() {
+        super("get_table_meta");
       }
 
-      public get_all_tables_args getEmptyArgsInstance() {
-        return new get_all_tables_args();
+      public get_table_meta_args getEmptyArgsInstance() {
+        return new get_table_meta_args();
       }
 
-      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<TableMeta>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<String>>() { 
-          public void onComplete(List<String> o) {
-            get_all_tables_result result = new get_all_tables_result();
+        return new AsyncMethodCallback<List<TableMeta>>() { 
+          public void onComplete(List<TableMeta> o) {
+            get_table_meta_result result = new get_table_meta_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19086,7 +19454,64 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_all_tables_result result = new get_all_tables_result();
+            get_table_meta_result result = new get_table_meta_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, get_table_meta_args args, org.apache.thrift.async.AsyncMethodCallback<List<TableMeta>> resultHandler) throws TException {
+        iface.get_table_meta(args.db_patterns, args.tbl_patterns, args.tbl_types,resultHandler);
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_all_tables<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_all_tables_args, List<String>> {
+      public get_all_tables() {
+        super("get_all_tables");
+      }
+
+      public get_all_tables_args getEmptyArgsInstance() {
+        return new get_all_tables_args();
+      }
+
+      public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<String>>() { 
+          public void onComplete(List<String> o) {
+            get_all_tables_result result = new get_all_tables_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            get_all_tables_result result = new get_all_tables_result();
             if (e instanceof MetaException) {
                         result.o1 = (MetaException) e;
                         result.setO1IsSet(true);
@@ -19359,6 +19784,73 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_materialization_invalidation_info<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_materialization_invalidation_info_args, Map<String,Materialization>> {
+      public get_materialization_invalidation_info() {
+        super("get_materialization_invalidation_info");
+      }
+
+      public get_materialization_invalidation_info_args getEmptyArgsInstance() {
+        return new get_materialization_invalidation_info_args();
+      }
+
+      public AsyncMethodCallback<Map<String,Materialization>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Map<String,Materialization>>() { 
+          public void onComplete(Map<String,Materialization> o) {
+            get_materialization_invalidation_info_result result = new get_materialization_invalidation_info_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            get_materialization_invalidation_info_result result = new get_materialization_invalidation_info_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof InvalidOperationException) {
+                        result.o2 = (InvalidOperationException) e;
+                        result.setO2IsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof UnknownDBException) {
+                        result.o3 = (UnknownDBException) e;
+                        result.setO3IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, get_materialization_invalidation_info_args args, org.apache.thrift.async.AsyncMethodCallback<Map<String,Materialization>> resultHandler) throws TException {
+        iface.get_materialization_invalidation_info(args.dbname, args.tbl_names,resultHandler);
+      }
+    }
+
     @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_table_names_by_filter<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_table_names_by_filter_args, List<String>> {
       public get_table_names_by_filter() {
         super("get_table_names_by_filter");
@@ -26404,173 +26896,20 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_next_notification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_next_notification_args, NotificationEventResponse> {
-      public get_next_notification() {
-        super("get_next_notification");
-      }
-
-      public get_next_notification_args getEmptyArgsInstance() {
-        return new get_next_notification_args();
-      }
-
-      public AsyncMethodCallback<NotificationEventResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<NotificationEventResponse>() { 
-          public void onComplete(NotificationEventResponse o) {
-            get_next_notification_result result = new get_next_notification_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_next_notification_result result = new get_next_notification_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_next_notification_args args, org.apache.thrift.async.AsyncMethodCallback<NotificationEventResponse> resultHandler) throws TException {
-        iface.get_next_notification(args.rqst,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_current_notificationEventId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_current_notificationEventId_args, CurrentNotificationEventId> {
-      public get_current_notificationEventId() {
-        super("get_current_notificationEventId");
-      }
-
-      public get_current_notificationEventId_args getEmptyArgsInstance() {
-        return new get_current_notificationEventId_args();
-      }
-
-      public AsyncMethodCallback<CurrentNotificationEventId> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<CurrentNotificationEventId>() { 
-          public void onComplete(CurrentNotificationEventId o) {
-            get_current_notificationEventId_result result = new get_current_notificationEventId_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_current_notificationEventId_result result = new get_current_notificationEventId_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_current_notificationEventId_args args, org.apache.thrift.async.AsyncMethodCallback<CurrentNotificationEventId> resultHandler) throws TException {
-        iface.get_current_notificationEventId(resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_notification_events_count<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_notification_events_count_args, NotificationEventsCountResponse> {
-      public get_notification_events_count() {
-        super("get_notification_events_count");
-      }
-
-      public get_notification_events_count_args getEmptyArgsInstance() {
-        return new get_notification_events_count_args();
-      }
-
-      public AsyncMethodCallback<NotificationEventsCountResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<NotificationEventsCountResponse>() { 
-          public void onComplete(NotificationEventsCountResponse o) {
-            get_notification_events_count_result result = new get_notification_events_count_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            get_notification_events_count_result result = new get_notification_events_count_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, get_notification_events_count_args args, org.apache.thrift.async.AsyncMethodCallback<NotificationEventsCountResponse> resultHandler) throws TException {
-        iface.get_notification_events_count(args.rqst,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class fire_listener_event<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, fire_listener_event_args, FireEventResponse> {
-      public fire_listener_event() {
-        super("fire_listener_event");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_tables<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_last_completed_transaction_for_tables_args, List<BasicTxnInfo>> {
+      public get_last_completed_transaction_for_tables() {
+        super("get_last_completed_transaction_for_tables");
       }
 
-      public fire_listener_event_args getEmptyArgsInstance() {
-        return new fire_listener_event_args();
+      public get_last_completed_transaction_for_tables_args getEmptyArgsInstance() {
+        return new get_last_completed_transaction_for_tables_args();
       }
 
-      public AsyncMethodCallback<FireEventResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<BasicTxnInfo>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<FireEventResponse>() { 
-          public void onComplete(FireEventResponse o) {
-            fire_listener_event_result result = new fire_listener_event_result();
+        return new AsyncMethodCallback<List<BasicTxnInfo>>() { 
+          public void onComplete(List<BasicTxnInfo> o) {
+            get_last_completed_transaction_for_tables_result result = new get_last_completed_transaction_for_tables_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26583,57 +26922,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            fire_listener_event_result result = new fire_listener_event_result();
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, fire_listener_event_args args, org.apache.thrift.async.AsyncMethodCallback<FireEventResponse> resultHandler) throws TException {
-        iface.fire_listener_event(args.rqst,resultHandler);
-      }
-    }
-
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class flushCache<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, flushCache_args, Void> {
-      public flushCache() {
-        super("flushCache");
-      }
-
-      public flushCache_args getEmptyArgsInstance() {
-        return new flushCache_args();
-      }
-
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            flushCache_result result = new flushCache_result();
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            flushCache_result result = new flushCache_result();
+            get_last_completed_transaction_for_tables_result result = new get_last_completed_transaction_for_tables_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26653,25 +26942,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, flushCache_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.flushCache(resultHandler);
+      public void start(I iface, get_last_completed_transaction_for_tables_args args, org.apache.thrift.async.AsyncMethodCallback<List<BasicTxnInfo>> resultHandler) throws TException {
+        iface.get_last_completed_transaction_for_tables(args.db_names, args.table_names, args.txns_snapshot,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class cm_recycle<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cm_recycle_args, CmRecycleResponse> {
-      public cm_recycle() {
-        super("cm_recycle");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_last_completed_transaction_for_table<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_last_completed_transaction_for_table_args, BasicTxnInfo> {
+      public get_last_completed_transaction_for_table() {
+        super("get_last_completed_transaction_for_table");
       }
 
-      public cm_recycle_args getEmptyArgsInstance() {
-        return new cm_recycle_args();
+      public get_last_completed_transaction_for_table_args getEmptyArgsInstance() {
+        return new get_last_completed_transaction_for_table_args();
       }
 
-      public AsyncMethodCallback<CmRecycleResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<BasicTxnInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<CmRecycleResponse>() { 
-          public void onComplete(CmRecycleResponse o) {
-            cm_recycle_result result = new cm_recycle_result();
+        return new AsyncMethodCallback<BasicTxnInfo>() { 
+          public void onComplete(BasicTxnInfo o) {
+            get_last_completed_transaction_for_table_result result = new get_last_completed_transaction_for_table_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26684,13 +26973,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            cm_recycle_result result = new cm_recycle_result();
-            if (e instanceof MetaException) {
-                        result.o1 = (MetaException) e;
-                        result.setO1IsSet(true);
-                        msg = result;
-            }
-             else 
+            get_last_completed_transaction_for_table_result result = new get_last_completed_transaction_for_table_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26710,25 +26993,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, cm_recycle_args args, org.apache.thrift.async.AsyncMethodCallback<CmRecycleResponse> resultHandler) throws TException {
-        iface.cm_recycle(args.request,resultHandler);
+      public void start(I iface, get_last_completed_transaction_for_table_args args, org.apache.thrift.async.AsyncMethodCallback<BasicTxnInfo> resultHandler) throws TException {
+        iface.get_last_completed_transaction_for_table(args.db_name, args.table_name, args.txns_snapshot,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_file_metadata_by_expr<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_file_metadata_by_expr_args, GetFileMetadataByExprResult> {
-      public get_file_metadata_by_expr() {
-        super("get_file_metadata_by_expr");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_next_notification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_next_notification_args, NotificationEventResponse> {
+      public get_next_notification() {
+        super("get_next_notification");
       }
 
-      public get_file_metadata_by_expr_args getEmptyArgsInstance() {
-        return new get_file_metadata_by_expr_args();
+      public get_next_notification_args getEmptyArgsInstance() {
+        return new get_next_notification_args();
       }
 
-      public AsyncMethodCallback<GetFileMetadataByExprResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<NotificationEventResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<GetFileMetadataByExprResult>() { 
-          public void onComplete(GetFileMetadataByExprResult o) {
-            get_file_metadata_by_expr_result result = new get_file_metadata_by_expr_result();
+        return new AsyncMethodCallback<NotificationEventResponse>() { 
+          public void onComplete(NotificationEventResponse o) {
+            get_next_notification_result result = new get_next_notification_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26741,7 +27024,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_file_metadata_by_expr_result result = new get_file_metadata_by_expr_result();
+            get_next_notification_result result = new get_next_notification_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26761,25 +27044,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, get_file_metadata_by_expr_args args, org.apache.thrift.async.AsyncMethodCallback<GetFileMetadataByExprResult> resultHandler) throws TException {
-        iface.get_file_metadata_by_expr(args.req,resultHandler);
+      public void start(I iface, get_next_notification_args args, org.apache.thrift.async.AsyncMethodCallback<NotificationEventResponse> resultHandler) throws TException {
+        iface.get_next_notification(args.rqst,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_file_metadata_args, GetFileMetadataResult> {
-      public get_file_metadata() {
-        super("get_file_metadata");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_current_notificationEventId<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_current_notificationEventId_args, CurrentNotificationEventId> {
+      public get_current_notificationEventId() {
+        super("get_current_notificationEventId");
       }
 
-      public get_file_metadata_args getEmptyArgsInstance() {
-        return new get_file_metadata_args();
+      public get_current_notificationEventId_args getEmptyArgsInstance() {
+        return new get_current_notificationEventId_args();
       }
 
-      public AsyncMethodCallback<GetFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<CurrentNotificationEventId> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<GetFileMetadataResult>() { 
-          public void onComplete(GetFileMetadataResult o) {
-            get_file_metadata_result result = new get_file_metadata_result();
+        return new AsyncMethodCallback<CurrentNotificationEventId>() { 
+          public void onComplete(CurrentNotificationEventId o) {
+            get_current_notificationEventId_result result = new get_current_notificationEventId_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26792,7 +27075,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_file_metadata_result result = new get_file_metadata_result();
+            get_current_notificationEventId_result result = new get_current_notificationEventId_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26812,25 +27095,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, get_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<GetFileMetadataResult> resultHandler) throws TException {
-        iface.get_file_metadata(args.req,resultHandler);
+      public void start(I iface, get_current_notificationEventId_args args, org.apache.thrift.async.AsyncMethodCallback<CurrentNotificationEventId> resultHandler) throws TException {
+        iface.get_current_notificationEventId(resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class put_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, put_file_metadata_args, PutFileMetadataResult> {
-      public put_file_metadata() {
-        super("put_file_metadata");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_notification_events_count<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_notification_events_count_args, NotificationEventsCountResponse> {
+      public get_notification_events_count() {
+        super("get_notification_events_count");
       }
 
-      public put_file_metadata_args getEmptyArgsInstance() {
-        return new put_file_metadata_args();
+      public get_notification_events_count_args getEmptyArgsInstance() {
+        return new get_notification_events_count_args();
       }
 
-      public AsyncMethodCallback<PutFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<NotificationEventsCountResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<PutFileMetadataResult>() { 
-          public void onComplete(PutFileMetadataResult o) {
-            put_file_metadata_result result = new put_file_metadata_result();
+        return new AsyncMethodCallback<NotificationEventsCountResponse>() { 
+          public void onComplete(NotificationEventsCountResponse o) {
+            get_notification_events_count_result result = new get_notification_events_count_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26843,7 +27126,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            put_file_metadata_result result = new put_file_metadata_result();
+            get_notification_events_count_result result = new get_notification_events_count_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26863,25 +27146,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, put_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<PutFileMetadataResult> resultHandler) throws TException {
-        iface.put_file_metadata(args.req,resultHandler);
+      public void start(I iface, get_notification_events_count_args args, org.apache.thrift.async.AsyncMethodCallback<NotificationEventsCountResponse> resultHandler) throws TException {
+        iface.get_notification_events_count(args.rqst,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class clear_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, clear_file_metadata_args, ClearFileMetadataResult> {
-      public clear_file_metadata() {
-        super("clear_file_metadata");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class fire_listener_event<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, fire_listener_event_args, FireEventResponse> {
+      public fire_listener_event() {
+        super("fire_listener_event");
       }
 
-      public clear_file_metadata_args getEmptyArgsInstance() {
-        return new clear_file_metadata_args();
+      public fire_listener_event_args getEmptyArgsInstance() {
+        return new fire_listener_event_args();
       }
 
-      public AsyncMethodCallback<ClearFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<FireEventResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<ClearFileMetadataResult>() { 
-          public void onComplete(ClearFileMetadataResult o) {
-            clear_file_metadata_result result = new clear_file_metadata_result();
+        return new AsyncMethodCallback<FireEventResponse>() { 
+          public void onComplete(FireEventResponse o) {
+            fire_listener_event_result result = new fire_listener_event_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26894,7 +27177,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            clear_file_metadata_result result = new clear_file_metadata_result();
+            fire_listener_event_result result = new fire_listener_event_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26914,26 +27197,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, clear_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<ClearFileMetadataResult> resultHandler) throws TException {
-        iface.clear_file_metadata(args.req,resultHandler);
+      public void start(I iface, fire_listener_event_args args, org.apache.thrift.async.AsyncMethodCallback<FireEventResponse> resultHandler) throws TException {
+        iface.fire_listener_event(args.rqst,resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class cache_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cache_file_metadata_args, CacheFileMetadataResult> {
-      public cache_file_metadata() {
-        super("cache_file_metadata");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class flushCache<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, flushCache_args, Void> {
+      public flushCache() {
+        super("flushCache");
       }
 
-      public cache_file_metadata_args getEmptyArgsInstance() {
-        return new cache_file_metadata_args();
+      public flushCache_args getEmptyArgsInstance() {
+        return new flushCache_args();
       }
 
-      public AsyncMethodCallback<CacheFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<CacheFileMetadataResult>() { 
-          public void onComplete(CacheFileMetadataResult o) {
-            cache_file_metadata_result result = new cache_file_metadata_result();
-            result.success = o;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            flushCache_result result = new flushCache_result();
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -26945,7 +27227,7 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            cache_file_metadata_result result = new cache_file_metadata_result();
+            flushCache_result result = new flushCache_result();
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
               msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
@@ -26965,25 +27247,25 @@ import org.slf4j.LoggerFactory;
         return false;
       }
 
-      public void start(I iface, cache_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<CacheFileMetadataResult> resultHandler) throws TException {
-        iface.cache_file_metadata(args.req,resultHandler);
+      public void start(I iface, flushCache_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.flushCache(resultHandler);
       }
     }
 
-    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_metastore_db_uuid<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_metastore_db_uuid_args, String> {
-      public get_metastore_db_uuid() {
-        super("get_metastore_db_uuid");
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class cm_recycle<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, cm_recycle_args, CmRecycleResponse> {
+      public cm_recycle() {
+        super("cm_recycle");
       }
 
-      public get_metastore_db_uuid_args getEmptyArgsInstance() {
-        return new get_metastore_db_uuid_args();
+      public cm_recycle_args getEmptyArgsInstance() {
+        return new cm_recycle_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<CmRecycleResponse> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            get_metastore_db_uuid_result result = new get_metastore_db_uuid_result();
+        return new AsyncMethodCallback<CmRecycleResponse>() { 
+          public void onComplete(CmRecycleResponse o) {
+            cm_recycle_result result = new cm_recycle_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -26996,7 +27278,319 @@ import org.slf4j.LoggerFactory;
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            get_metastore_db_uuid_result result = new get_metastore_db_uuid_result();
+            cm_recycle_result result = new cm_recycle_result();
+            if (e instanceof MetaException) {
+                        result.o1 = (MetaException) e;
+                        result.setO1IsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, cm_recycle_args args, org.apache.thrift.async.AsyncMethodCallback<CmRecycleResponse> resultHandler) throws TException {
+        iface.cm_recycle(args.request,resultHandler);
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_file_metadata_by_expr<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_file_metadata_by_expr_args, GetFileMetadataByExprResult> {
+      public get_file_metadata_by_expr() {
+        super("get_file_metadata_by_expr");
+      }
+
+      public get_file_metadata_by_expr_args getEmptyArgsInstance() {
+        return new get_file_metadata_by_expr_args();
+      }
+
+      public AsyncMethodCallback<GetFileMetadataByExprResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<GetFileMetadataByExprResult>() { 
+          public void onComplete(GetFileMetadataByExprResult o) {
+            get_file_metadata_by_expr_result result = new get_file_metadata_by_expr_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            get_file_metadata_by_expr_result result = new get_file_metadata_by_expr_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, get_file_metadata_by_expr_args args, org.apache.thrift.async.AsyncMethodCallback<GetFileMetadataByExprResult> resultHandler) throws TException {
+        iface.get_file_metadata_by_expr(args.req,resultHandler);
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class get_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_file_metadata_args, GetFileMetadataResult> {
+      public get_file_metadata() {
+        super("get_file_metadata");
+      }
+
+      public get_file_metadata_args getEmptyArgsInstance() {
+        return new get_file_metadata_args();
+      }
+
+      public AsyncMethodCallback<GetFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<GetFileMetadataResult>() { 
+          public void onComplete(GetFileMetadataResult o) {
+            get_file_metadata_result result = new get_file_metadata_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            get_file_metadata_result result = new get_file_metadata_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, get_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<GetFileMetadataResult> resultHandler) throws TException {
+        iface.get_file_metadata(args.req,resultHandler);
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class put_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, put_file_metadata_args, PutFileMetadataResult> {
+      public put_file_metadata() {
+        super("put_file_metadata");
+      }
+
+      public put_file_metadata_args getEmptyArgsInstance() {
+        return new put_file_metadata_args();
+      }
+
+      public AsyncMethodCallback<PutFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<PutFileMetadataResult>() { 
+          public void onComplete(PutFileMetadataResult o) {
+            put_file_metadata_result result = new put_file_metadata_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            put_file_metadata_result result = new put_file_metadata_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, put_file_metadata_args args, org.apache.thrift.async.AsyncMethodCallback<PutFileMetadataResult> resultHandler) throws TException {
+        iface.put_file_metadata(args.req,resultHandler);
+      }
+    }
+
+    @org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class clear_file_metadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, clear_file_metadata_args, ClearFileMetadataResult> {
+      public clear_file_metadata() {
+        super("clear_file_metadata");
+      }
+
+      public clear_file_metadata_args getEmptyArgsInstance() {
+        return new clear_file_metadata_args();
+      }
+
+      public AsyncMethodCallback<ClearFileMetadataResult> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<ClearFileMetadataResult>() { 
+          public void onComplete(ClearFileMetadataResult o) {
+            clear_file_metadata_result result = new clear_file_metadata_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            clear_file_metadata_result result = new clear_file_metadata_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOG

<TRUNCATED>