All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xiaomi.infra.galaxy.sds.thrift.AdminService Maven / Gradle / Ivy

There is a newer version: 1.3.2
Show newest version
/**
 * Autogenerated by Thrift Compiler (0.9.2)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package com.xiaomi.infra.galaxy.sds.thrift;

import libthrift091.scheme.IScheme;
import libthrift091.scheme.SchemeFactory;
import libthrift091.scheme.StandardScheme;

import libthrift091.scheme.TupleScheme;
import libthrift091.protocol.TTupleProtocol;
import libthrift091.protocol.TProtocolException;
import libthrift091.EncodingUtils;
import libthrift091.TException;
import libthrift091.async.AsyncMethodCallback;
import libthrift091.server.AbstractNonblockingServer.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-4-21")
public class AdminService {

  /**
   * 结构化存储管理接口
   */
  public interface Iface extends com.xiaomi.infra.galaxy.sds.thrift.BaseService.Iface {

    /**
     * 保存应用信息,用于注册第三方应用OAuth信息
     * 
     * @param appInfo
     */
    public void saveAppInfo(AppInfo appInfo) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 查询应用信息
     * 
     * @param appId
     */
    public AppInfo getAppInfo(String appId) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 查询指定用户所有应用信息
     */
    public List findAllApps() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取指定用户所有表信息
     */
    public List findAllTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 清除所有延迟删除的表
     */
    public List cleanAllLazyDroppedTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 创建表
     * 
     * @param tableName
     * @param tableSpec
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableInfo createTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 删除表
     * 
     * @param tableName
     */
    public void dropTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 恢复表
     * 
     * @param tableName
     */
    public void restoreTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 修改表
     * 
     * @param tableName
     * @param tableSpec
     */
    public void alterTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 克隆表
     * 
     * @param srcName
     * @param destTable
     * @param flushTable
     */
    public void cloneTable(String srcName, String destTable, boolean flushTable) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 关闭表读写操作
     * 
     * @param tableName
     */
    public void disableTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 打开表读写操作
     * 
     * @param tableName
     */
    public void enableTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取表定义
     * 
     * @param tableName
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec describeTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取表状态等元信息
     * 
     * @param tableName
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableStatus getTableStatus(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取表状态
     * 
     * @param tableName
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableState getTableState(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取表分布信息,如用于MapReduce应用
     * 
     * @param tableName
     * @param startKey
     * @param stopKey
     */
    public List getTableSplits(String tableName, Map startKey, Map stopKey) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 查询表统计指标
     * 
     * @param query
     */
    public TimeSeriesData queryMetric(MetricQueryRequest query) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 批量查询表统计指标
     * 
     * @param queries
     */
    public List queryMetrics(List queries) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

    /**
     * 获取AppInfo列表,只包括appId和appName
     */
    public List findAllAppInfo() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException;

  }

  public interface AsyncIface extends com.xiaomi.infra.galaxy.sds.thrift.BaseService .AsyncIface {

    public void saveAppInfo(AppInfo appInfo, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void getAppInfo(String appId, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void findAllApps(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void findAllTables(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void cleanAllLazyDroppedTables(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void createTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void dropTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void restoreTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void alterTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void cloneTable(String srcName, String destTable, boolean flushTable, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void disableTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void enableTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void describeTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void getTableStatus(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void getTableState(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void getTableSplits(String tableName, Map startKey, Map stopKey, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void queryMetric(MetricQueryRequest query, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void queryMetrics(List queries, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

    public void findAllAppInfo(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException;

  }

  public static class Client extends com.xiaomi.infra.galaxy.sds.thrift.BaseService.Client implements Iface {
    public static class Factory implements libthrift091.TServiceClientFactory {
      public Factory() {}
      public Client getClient(libthrift091.protocol.TProtocol prot) {
        return new Client(prot);
      }
      public Client getClient(libthrift091.protocol.TProtocol iprot, libthrift091.protocol.TProtocol oprot) {
        return new Client(iprot, oprot);
      }
    }

    public Client(libthrift091.protocol.TProtocol prot)
    {
      super(prot, prot);
    }

    public Client(libthrift091.protocol.TProtocol iprot, libthrift091.protocol.TProtocol oprot) {
      super(iprot, oprot);
    }

    public void saveAppInfo(AppInfo appInfo) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_saveAppInfo(appInfo);
      recv_saveAppInfo();
    }

    public void send_saveAppInfo(AppInfo appInfo) throws libthrift091.TException
    {
      saveAppInfo_args args = new saveAppInfo_args();
      args.setAppInfo(appInfo);
      sendBase("saveAppInfo", args);
    }

    public void recv_saveAppInfo() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      saveAppInfo_result result = new saveAppInfo_result();
      receiveBase(result, "saveAppInfo");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public AppInfo getAppInfo(String appId) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_getAppInfo(appId);
      return recv_getAppInfo();
    }

    public void send_getAppInfo(String appId) throws libthrift091.TException
    {
      getAppInfo_args args = new getAppInfo_args();
      args.setAppId(appId);
      sendBase("getAppInfo", args);
    }

    public AppInfo recv_getAppInfo() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      getAppInfo_result result = new getAppInfo_result();
      receiveBase(result, "getAppInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "getAppInfo failed: unknown result");
    }

    public List findAllApps() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_findAllApps();
      return recv_findAllApps();
    }

    public void send_findAllApps() throws libthrift091.TException
    {
      findAllApps_args args = new findAllApps_args();
      sendBase("findAllApps", args);
    }

    public List recv_findAllApps() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      findAllApps_result result = new findAllApps_result();
      receiveBase(result, "findAllApps");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "findAllApps failed: unknown result");
    }

    public List findAllTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_findAllTables();
      return recv_findAllTables();
    }

    public void send_findAllTables() throws libthrift091.TException
    {
      findAllTables_args args = new findAllTables_args();
      sendBase("findAllTables", args);
    }

    public List recv_findAllTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      findAllTables_result result = new findAllTables_result();
      receiveBase(result, "findAllTables");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "findAllTables failed: unknown result");
    }

    public List cleanAllLazyDroppedTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_cleanAllLazyDroppedTables();
      return recv_cleanAllLazyDroppedTables();
    }

    public void send_cleanAllLazyDroppedTables() throws libthrift091.TException
    {
      cleanAllLazyDroppedTables_args args = new cleanAllLazyDroppedTables_args();
      sendBase("cleanAllLazyDroppedTables", args);
    }

    public List recv_cleanAllLazyDroppedTables() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      cleanAllLazyDroppedTables_result result = new cleanAllLazyDroppedTables_result();
      receiveBase(result, "cleanAllLazyDroppedTables");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "cleanAllLazyDroppedTables failed: unknown result");
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableInfo createTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_createTable(tableName, tableSpec);
      return recv_createTable();
    }

    public void send_createTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws libthrift091.TException
    {
      createTable_args args = new createTable_args();
      args.setTableName(tableName);
      args.setTableSpec(tableSpec);
      sendBase("createTable", args);
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableInfo recv_createTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      createTable_result result = new createTable_result();
      receiveBase(result, "createTable");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "createTable failed: unknown result");
    }

    public void dropTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_dropTable(tableName);
      recv_dropTable();
    }

    public void send_dropTable(String tableName) throws libthrift091.TException
    {
      dropTable_args args = new dropTable_args();
      args.setTableName(tableName);
      sendBase("dropTable", args);
    }

    public void recv_dropTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      dropTable_result result = new dropTable_result();
      receiveBase(result, "dropTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public void restoreTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_restoreTable(tableName);
      recv_restoreTable();
    }

    public void send_restoreTable(String tableName) throws libthrift091.TException
    {
      restoreTable_args args = new restoreTable_args();
      args.setTableName(tableName);
      sendBase("restoreTable", args);
    }

    public void recv_restoreTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      restoreTable_result result = new restoreTable_result();
      receiveBase(result, "restoreTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public void alterTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_alterTable(tableName, tableSpec);
      recv_alterTable();
    }

    public void send_alterTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) throws libthrift091.TException
    {
      alterTable_args args = new alterTable_args();
      args.setTableName(tableName);
      args.setTableSpec(tableSpec);
      sendBase("alterTable", args);
    }

    public void recv_alterTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      alterTable_result result = new alterTable_result();
      receiveBase(result, "alterTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public void cloneTable(String srcName, String destTable, boolean flushTable) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_cloneTable(srcName, destTable, flushTable);
      recv_cloneTable();
    }

    public void send_cloneTable(String srcName, String destTable, boolean flushTable) throws libthrift091.TException
    {
      cloneTable_args args = new cloneTable_args();
      args.setSrcName(srcName);
      args.setDestTable(destTable);
      args.setFlushTable(flushTable);
      sendBase("cloneTable", args);
    }

    public void recv_cloneTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      cloneTable_result result = new cloneTable_result();
      receiveBase(result, "cloneTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public void disableTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_disableTable(tableName);
      recv_disableTable();
    }

    public void send_disableTable(String tableName) throws libthrift091.TException
    {
      disableTable_args args = new disableTable_args();
      args.setTableName(tableName);
      sendBase("disableTable", args);
    }

    public void recv_disableTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      disableTable_result result = new disableTable_result();
      receiveBase(result, "disableTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public void enableTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_enableTable(tableName);
      recv_enableTable();
    }

    public void send_enableTable(String tableName) throws libthrift091.TException
    {
      enableTable_args args = new enableTable_args();
      args.setTableName(tableName);
      sendBase("enableTable", args);
    }

    public void recv_enableTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      enableTable_result result = new enableTable_result();
      receiveBase(result, "enableTable");
      if (result.se != null) {
        throw result.se;
      }
      return;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec describeTable(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_describeTable(tableName);
      return recv_describeTable();
    }

    public void send_describeTable(String tableName) throws libthrift091.TException
    {
      describeTable_args args = new describeTable_args();
      args.setTableName(tableName);
      sendBase("describeTable", args);
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec recv_describeTable() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      describeTable_result result = new describeTable_result();
      receiveBase(result, "describeTable");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "describeTable failed: unknown result");
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableStatus getTableStatus(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_getTableStatus(tableName);
      return recv_getTableStatus();
    }

    public void send_getTableStatus(String tableName) throws libthrift091.TException
    {
      getTableStatus_args args = new getTableStatus_args();
      args.setTableName(tableName);
      sendBase("getTableStatus", args);
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableStatus recv_getTableStatus() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      getTableStatus_result result = new getTableStatus_result();
      receiveBase(result, "getTableStatus");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "getTableStatus failed: unknown result");
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableState getTableState(String tableName) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_getTableState(tableName);
      return recv_getTableState();
    }

    public void send_getTableState(String tableName) throws libthrift091.TException
    {
      getTableState_args args = new getTableState_args();
      args.setTableName(tableName);
      sendBase("getTableState", args);
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableState recv_getTableState() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      getTableState_result result = new getTableState_result();
      receiveBase(result, "getTableState");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "getTableState failed: unknown result");
    }

    public List getTableSplits(String tableName, Map startKey, Map stopKey) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_getTableSplits(tableName, startKey, stopKey);
      return recv_getTableSplits();
    }

    public void send_getTableSplits(String tableName, Map startKey, Map stopKey) throws libthrift091.TException
    {
      getTableSplits_args args = new getTableSplits_args();
      args.setTableName(tableName);
      args.setStartKey(startKey);
      args.setStopKey(stopKey);
      sendBase("getTableSplits", args);
    }

    public List recv_getTableSplits() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      getTableSplits_result result = new getTableSplits_result();
      receiveBase(result, "getTableSplits");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "getTableSplits failed: unknown result");
    }

    public TimeSeriesData queryMetric(MetricQueryRequest query) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_queryMetric(query);
      return recv_queryMetric();
    }

    public void send_queryMetric(MetricQueryRequest query) throws libthrift091.TException
    {
      queryMetric_args args = new queryMetric_args();
      args.setQuery(query);
      sendBase("queryMetric", args);
    }

    public TimeSeriesData recv_queryMetric() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      queryMetric_result result = new queryMetric_result();
      receiveBase(result, "queryMetric");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "queryMetric failed: unknown result");
    }

    public List queryMetrics(List queries) throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_queryMetrics(queries);
      return recv_queryMetrics();
    }

    public void send_queryMetrics(List queries) throws libthrift091.TException
    {
      queryMetrics_args args = new queryMetrics_args();
      args.setQueries(queries);
      sendBase("queryMetrics", args);
    }

    public List recv_queryMetrics() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      queryMetrics_result result = new queryMetrics_result();
      receiveBase(result, "queryMetrics");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "queryMetrics failed: unknown result");
    }

    public List findAllAppInfo() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      send_findAllAppInfo();
      return recv_findAllAppInfo();
    }

    public void send_findAllAppInfo() throws libthrift091.TException
    {
      findAllAppInfo_args args = new findAllAppInfo_args();
      sendBase("findAllAppInfo", args);
    }

    public List recv_findAllAppInfo() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException
    {
      findAllAppInfo_result result = new findAllAppInfo_result();
      receiveBase(result, "findAllAppInfo");
      if (result.isSetSuccess()) {
        return result.success;
      }
      if (result.se != null) {
        throw result.se;
      }
      throw new libthrift091.TApplicationException(libthrift091.TApplicationException.MISSING_RESULT, "findAllAppInfo failed: unknown result");
    }

  }
  public static class AsyncClient extends com.xiaomi.infra.galaxy.sds.thrift.BaseService.AsyncClient implements AsyncIface {
    public static class Factory implements libthrift091.async.TAsyncClientFactory {
      private libthrift091.async.TAsyncClientManager clientManager;
      private libthrift091.protocol.TProtocolFactory protocolFactory;
      public Factory(libthrift091.async.TAsyncClientManager clientManager, libthrift091.protocol.TProtocolFactory protocolFactory) {
        this.clientManager = clientManager;
        this.protocolFactory = protocolFactory;
      }
      public AsyncClient getAsyncClient(libthrift091.transport.TNonblockingTransport transport) {
        return new AsyncClient(protocolFactory, clientManager, transport);
      }
    }

    public AsyncClient(libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.async.TAsyncClientManager clientManager, libthrift091.transport.TNonblockingTransport transport) {
      super(protocolFactory, clientManager, transport);
    }

    public void saveAppInfo(AppInfo appInfo, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      saveAppInfo_call method_call = new saveAppInfo_call(appInfo, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class saveAppInfo_call extends libthrift091.async.TAsyncMethodCall {
      private AppInfo appInfo;
      public saveAppInfo_call(AppInfo appInfo, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.appInfo = appInfo;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("saveAppInfo", libthrift091.protocol.TMessageType.CALL, 0));
        saveAppInfo_args args = new saveAppInfo_args();
        args.setAppInfo(appInfo);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_saveAppInfo();
      }
    }

    public void getAppInfo(String appId, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      getAppInfo_call method_call = new getAppInfo_call(appId, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getAppInfo_call extends libthrift091.async.TAsyncMethodCall {
      private String appId;
      public getAppInfo_call(String appId, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.appId = appId;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("getAppInfo", libthrift091.protocol.TMessageType.CALL, 0));
        getAppInfo_args args = new getAppInfo_args();
        args.setAppId(appId);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public AppInfo getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getAppInfo();
      }
    }

    public void findAllApps(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      findAllApps_call method_call = new findAllApps_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class findAllApps_call extends libthrift091.async.TAsyncMethodCall {
      public findAllApps_call(libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("findAllApps", libthrift091.protocol.TMessageType.CALL, 0));
        findAllApps_args args = new findAllApps_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_findAllApps();
      }
    }

    public void findAllTables(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      findAllTables_call method_call = new findAllTables_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class findAllTables_call extends libthrift091.async.TAsyncMethodCall {
      public findAllTables_call(libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("findAllTables", libthrift091.protocol.TMessageType.CALL, 0));
        findAllTables_args args = new findAllTables_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_findAllTables();
      }
    }

    public void cleanAllLazyDroppedTables(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      cleanAllLazyDroppedTables_call method_call = new cleanAllLazyDroppedTables_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class cleanAllLazyDroppedTables_call extends libthrift091.async.TAsyncMethodCall {
      public cleanAllLazyDroppedTables_call(libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("cleanAllLazyDroppedTables", libthrift091.protocol.TMessageType.CALL, 0));
        cleanAllLazyDroppedTables_args args = new cleanAllLazyDroppedTables_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_cleanAllLazyDroppedTables();
      }
    }

    public void createTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      createTable_call method_call = new createTable_call(tableName, tableSpec, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class createTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      private com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec;
      public createTable_call(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
        this.tableSpec = tableSpec;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("createTable", libthrift091.protocol.TMessageType.CALL, 0));
        createTable_args args = new createTable_args();
        args.setTableName(tableName);
        args.setTableSpec(tableSpec);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public com.xiaomi.infra.galaxy.sds.thrift.TableInfo getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_createTable();
      }
    }

    public void dropTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      dropTable_call method_call = new dropTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class dropTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public dropTable_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("dropTable", libthrift091.protocol.TMessageType.CALL, 0));
        dropTable_args args = new dropTable_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_dropTable();
      }
    }

    public void restoreTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      restoreTable_call method_call = new restoreTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class restoreTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public restoreTable_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("restoreTable", libthrift091.protocol.TMessageType.CALL, 0));
        restoreTable_args args = new restoreTable_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_restoreTable();
      }
    }

    public void alterTable(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      alterTable_call method_call = new alterTable_call(tableName, tableSpec, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class alterTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      private com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec;
      public alterTable_call(String tableName, com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
        this.tableSpec = tableSpec;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("alterTable", libthrift091.protocol.TMessageType.CALL, 0));
        alterTable_args args = new alterTable_args();
        args.setTableName(tableName);
        args.setTableSpec(tableSpec);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_alterTable();
      }
    }

    public void cloneTable(String srcName, String destTable, boolean flushTable, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      cloneTable_call method_call = new cloneTable_call(srcName, destTable, flushTable, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class cloneTable_call extends libthrift091.async.TAsyncMethodCall {
      private String srcName;
      private String destTable;
      private boolean flushTable;
      public cloneTable_call(String srcName, String destTable, boolean flushTable, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.srcName = srcName;
        this.destTable = destTable;
        this.flushTable = flushTable;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("cloneTable", libthrift091.protocol.TMessageType.CALL, 0));
        cloneTable_args args = new cloneTable_args();
        args.setSrcName(srcName);
        args.setDestTable(destTable);
        args.setFlushTable(flushTable);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_cloneTable();
      }
    }

    public void disableTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      disableTable_call method_call = new disableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class disableTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public disableTable_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("disableTable", libthrift091.protocol.TMessageType.CALL, 0));
        disableTable_args args = new disableTable_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_disableTable();
      }
    }

    public void enableTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      enableTable_call method_call = new enableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class enableTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public enableTable_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("enableTable", libthrift091.protocol.TMessageType.CALL, 0));
        enableTable_args args = new enableTable_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public void getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        (new Client(prot)).recv_enableTable();
      }
    }

    public void describeTable(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      describeTable_call method_call = new describeTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class describeTable_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public describeTable_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("describeTable", libthrift091.protocol.TMessageType.CALL, 0));
        describeTable_args args = new describeTable_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public com.xiaomi.infra.galaxy.sds.thrift.TableSpec getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_describeTable();
      }
    }

    public void getTableStatus(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      getTableStatus_call method_call = new getTableStatus_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTableStatus_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public getTableStatus_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("getTableStatus", libthrift091.protocol.TMessageType.CALL, 0));
        getTableStatus_args args = new getTableStatus_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public com.xiaomi.infra.galaxy.sds.thrift.TableStatus getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTableStatus();
      }
    }

    public void getTableState(String tableName, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      getTableState_call method_call = new getTableState_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTableState_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      public getTableState_call(String tableName, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("getTableState", libthrift091.protocol.TMessageType.CALL, 0));
        getTableState_args args = new getTableState_args();
        args.setTableName(tableName);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public com.xiaomi.infra.galaxy.sds.thrift.TableState getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTableState();
      }
    }

    public void getTableSplits(String tableName, Map startKey, Map stopKey, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      getTableSplits_call method_call = new getTableSplits_call(tableName, startKey, stopKey, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class getTableSplits_call extends libthrift091.async.TAsyncMethodCall {
      private String tableName;
      private Map startKey;
      private Map stopKey;
      public getTableSplits_call(String tableName, Map startKey, Map stopKey, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.tableName = tableName;
        this.startKey = startKey;
        this.stopKey = stopKey;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("getTableSplits", libthrift091.protocol.TMessageType.CALL, 0));
        getTableSplits_args args = new getTableSplits_args();
        args.setTableName(tableName);
        args.setStartKey(startKey);
        args.setStopKey(stopKey);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_getTableSplits();
      }
    }

    public void queryMetric(MetricQueryRequest query, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      queryMetric_call method_call = new queryMetric_call(query, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class queryMetric_call extends libthrift091.async.TAsyncMethodCall {
      private MetricQueryRequest query;
      public queryMetric_call(MetricQueryRequest query, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.query = query;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("queryMetric", libthrift091.protocol.TMessageType.CALL, 0));
        queryMetric_args args = new queryMetric_args();
        args.setQuery(query);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public TimeSeriesData getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_queryMetric();
      }
    }

    public void queryMetrics(List queries, libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      queryMetrics_call method_call = new queryMetrics_call(queries, resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class queryMetrics_call extends libthrift091.async.TAsyncMethodCall {
      private List queries;
      public queryMetrics_call(List queries, libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
        this.queries = queries;
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("queryMetrics", libthrift091.protocol.TMessageType.CALL, 0));
        queryMetrics_args args = new queryMetrics_args();
        args.setQueries(queries);
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_queryMetrics();
      }
    }

    public void findAllAppInfo(libthrift091.async.AsyncMethodCallback resultHandler) throws libthrift091.TException {
      checkReady();
      findAllAppInfo_call method_call = new findAllAppInfo_call(resultHandler, this, ___protocolFactory, ___transport);
      this.___currentMethod = method_call;
      ___manager.call(method_call);
    }

    public static class findAllAppInfo_call extends libthrift091.async.TAsyncMethodCall {
      public findAllAppInfo_call(libthrift091.async.AsyncMethodCallback resultHandler, libthrift091.async.TAsyncClient client, libthrift091.protocol.TProtocolFactory protocolFactory, libthrift091.transport.TNonblockingTransport transport) throws libthrift091.TException {
        super(client, protocolFactory, transport, resultHandler, false);
      }

      public void write_args(libthrift091.protocol.TProtocol prot) throws libthrift091.TException {
        prot.writeMessageBegin(new libthrift091.protocol.TMessage("findAllAppInfo", libthrift091.protocol.TMessageType.CALL, 0));
        findAllAppInfo_args args = new findAllAppInfo_args();
        args.write(prot);
        prot.writeMessageEnd();
      }

      public List getResult() throws com.xiaomi.infra.galaxy.sds.thrift.ServiceException, libthrift091.TException {
        if (getState() != libthrift091.async.TAsyncMethodCall.State.RESPONSE_READ) {
          throw new IllegalStateException("Method call not finished!");
        }
        libthrift091.transport.TMemoryInputTransport memoryTransport = new libthrift091.transport.TMemoryInputTransport(getFrameBuffer().array());
        libthrift091.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
        return (new Client(prot)).recv_findAllAppInfo();
      }
    }

  }

  public static class Processor extends com.xiaomi.infra.galaxy.sds.thrift.BaseService.Processor implements libthrift091.TProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
    public Processor(I iface) {
      super(iface, getProcessMap(new HashMap>()));
    }

    protected Processor(I iface, Map> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static  Map> getProcessMap(Map> processMap) {
      processMap.put("saveAppInfo", new saveAppInfo());
      processMap.put("getAppInfo", new getAppInfo());
      processMap.put("findAllApps", new findAllApps());
      processMap.put("findAllTables", new findAllTables());
      processMap.put("cleanAllLazyDroppedTables", new cleanAllLazyDroppedTables());
      processMap.put("createTable", new createTable());
      processMap.put("dropTable", new dropTable());
      processMap.put("restoreTable", new restoreTable());
      processMap.put("alterTable", new alterTable());
      processMap.put("cloneTable", new cloneTable());
      processMap.put("disableTable", new disableTable());
      processMap.put("enableTable", new enableTable());
      processMap.put("describeTable", new describeTable());
      processMap.put("getTableStatus", new getTableStatus());
      processMap.put("getTableState", new getTableState());
      processMap.put("getTableSplits", new getTableSplits());
      processMap.put("queryMetric", new queryMetric());
      processMap.put("queryMetrics", new queryMetrics());
      processMap.put("findAllAppInfo", new findAllAppInfo());
      return processMap;
    }

    public static class saveAppInfo extends libthrift091.ProcessFunction {
      public saveAppInfo() {
        super("saveAppInfo");
      }

      public saveAppInfo_args getEmptyArgsInstance() {
        return new saveAppInfo_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public saveAppInfo_result getResult(I iface, saveAppInfo_args args) throws libthrift091.TException {
        saveAppInfo_result result = new saveAppInfo_result();
        try {
          iface.saveAppInfo(args.appInfo);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class getAppInfo extends libthrift091.ProcessFunction {
      public getAppInfo() {
        super("getAppInfo");
      }

      public getAppInfo_args getEmptyArgsInstance() {
        return new getAppInfo_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public getAppInfo_result getResult(I iface, getAppInfo_args args) throws libthrift091.TException {
        getAppInfo_result result = new getAppInfo_result();
        try {
          result.success = iface.getAppInfo(args.appId);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class findAllApps extends libthrift091.ProcessFunction {
      public findAllApps() {
        super("findAllApps");
      }

      public findAllApps_args getEmptyArgsInstance() {
        return new findAllApps_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public findAllApps_result getResult(I iface, findAllApps_args args) throws libthrift091.TException {
        findAllApps_result result = new findAllApps_result();
        try {
          result.success = iface.findAllApps();
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class findAllTables extends libthrift091.ProcessFunction {
      public findAllTables() {
        super("findAllTables");
      }

      public findAllTables_args getEmptyArgsInstance() {
        return new findAllTables_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public findAllTables_result getResult(I iface, findAllTables_args args) throws libthrift091.TException {
        findAllTables_result result = new findAllTables_result();
        try {
          result.success = iface.findAllTables();
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class cleanAllLazyDroppedTables extends libthrift091.ProcessFunction {
      public cleanAllLazyDroppedTables() {
        super("cleanAllLazyDroppedTables");
      }

      public cleanAllLazyDroppedTables_args getEmptyArgsInstance() {
        return new cleanAllLazyDroppedTables_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public cleanAllLazyDroppedTables_result getResult(I iface, cleanAllLazyDroppedTables_args args) throws libthrift091.TException {
        cleanAllLazyDroppedTables_result result = new cleanAllLazyDroppedTables_result();
        try {
          result.success = iface.cleanAllLazyDroppedTables();
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class createTable extends libthrift091.ProcessFunction {
      public createTable() {
        super("createTable");
      }

      public createTable_args getEmptyArgsInstance() {
        return new createTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public createTable_result getResult(I iface, createTable_args args) throws libthrift091.TException {
        createTable_result result = new createTable_result();
        try {
          result.success = iface.createTable(args.tableName, args.tableSpec);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class dropTable extends libthrift091.ProcessFunction {
      public dropTable() {
        super("dropTable");
      }

      public dropTable_args getEmptyArgsInstance() {
        return new dropTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public dropTable_result getResult(I iface, dropTable_args args) throws libthrift091.TException {
        dropTable_result result = new dropTable_result();
        try {
          iface.dropTable(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class restoreTable extends libthrift091.ProcessFunction {
      public restoreTable() {
        super("restoreTable");
      }

      public restoreTable_args getEmptyArgsInstance() {
        return new restoreTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public restoreTable_result getResult(I iface, restoreTable_args args) throws libthrift091.TException {
        restoreTable_result result = new restoreTable_result();
        try {
          iface.restoreTable(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class alterTable extends libthrift091.ProcessFunction {
      public alterTable() {
        super("alterTable");
      }

      public alterTable_args getEmptyArgsInstance() {
        return new alterTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public alterTable_result getResult(I iface, alterTable_args args) throws libthrift091.TException {
        alterTable_result result = new alterTable_result();
        try {
          iface.alterTable(args.tableName, args.tableSpec);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class cloneTable extends libthrift091.ProcessFunction {
      public cloneTable() {
        super("cloneTable");
      }

      public cloneTable_args getEmptyArgsInstance() {
        return new cloneTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public cloneTable_result getResult(I iface, cloneTable_args args) throws libthrift091.TException {
        cloneTable_result result = new cloneTable_result();
        try {
          iface.cloneTable(args.srcName, args.destTable, args.flushTable);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class disableTable extends libthrift091.ProcessFunction {
      public disableTable() {
        super("disableTable");
      }

      public disableTable_args getEmptyArgsInstance() {
        return new disableTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public disableTable_result getResult(I iface, disableTable_args args) throws libthrift091.TException {
        disableTable_result result = new disableTable_result();
        try {
          iface.disableTable(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class enableTable extends libthrift091.ProcessFunction {
      public enableTable() {
        super("enableTable");
      }

      public enableTable_args getEmptyArgsInstance() {
        return new enableTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public enableTable_result getResult(I iface, enableTable_args args) throws libthrift091.TException {
        enableTable_result result = new enableTable_result();
        try {
          iface.enableTable(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class describeTable extends libthrift091.ProcessFunction {
      public describeTable() {
        super("describeTable");
      }

      public describeTable_args getEmptyArgsInstance() {
        return new describeTable_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public describeTable_result getResult(I iface, describeTable_args args) throws libthrift091.TException {
        describeTable_result result = new describeTable_result();
        try {
          result.success = iface.describeTable(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class getTableStatus extends libthrift091.ProcessFunction {
      public getTableStatus() {
        super("getTableStatus");
      }

      public getTableStatus_args getEmptyArgsInstance() {
        return new getTableStatus_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public getTableStatus_result getResult(I iface, getTableStatus_args args) throws libthrift091.TException {
        getTableStatus_result result = new getTableStatus_result();
        try {
          result.success = iface.getTableStatus(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class getTableState extends libthrift091.ProcessFunction {
      public getTableState() {
        super("getTableState");
      }

      public getTableState_args getEmptyArgsInstance() {
        return new getTableState_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public getTableState_result getResult(I iface, getTableState_args args) throws libthrift091.TException {
        getTableState_result result = new getTableState_result();
        try {
          result.success = iface.getTableState(args.tableName);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class getTableSplits extends libthrift091.ProcessFunction {
      public getTableSplits() {
        super("getTableSplits");
      }

      public getTableSplits_args getEmptyArgsInstance() {
        return new getTableSplits_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public getTableSplits_result getResult(I iface, getTableSplits_args args) throws libthrift091.TException {
        getTableSplits_result result = new getTableSplits_result();
        try {
          result.success = iface.getTableSplits(args.tableName, args.startKey, args.stopKey);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class queryMetric extends libthrift091.ProcessFunction {
      public queryMetric() {
        super("queryMetric");
      }

      public queryMetric_args getEmptyArgsInstance() {
        return new queryMetric_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public queryMetric_result getResult(I iface, queryMetric_args args) throws libthrift091.TException {
        queryMetric_result result = new queryMetric_result();
        try {
          result.success = iface.queryMetric(args.query);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class queryMetrics extends libthrift091.ProcessFunction {
      public queryMetrics() {
        super("queryMetrics");
      }

      public queryMetrics_args getEmptyArgsInstance() {
        return new queryMetrics_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public queryMetrics_result getResult(I iface, queryMetrics_args args) throws libthrift091.TException {
        queryMetrics_result result = new queryMetrics_result();
        try {
          result.success = iface.queryMetrics(args.queries);
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

    public static class findAllAppInfo extends libthrift091.ProcessFunction {
      public findAllAppInfo() {
        super("findAllAppInfo");
      }

      public findAllAppInfo_args getEmptyArgsInstance() {
        return new findAllAppInfo_args();
      }

      protected boolean isOneway() {
        return false;
      }

      public findAllAppInfo_result getResult(I iface, findAllAppInfo_args args) throws libthrift091.TException {
        findAllAppInfo_result result = new findAllAppInfo_result();
        try {
          result.success = iface.findAllAppInfo();
        } catch (com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
          result.se = se;
        }
        return result;
      }
    }

  }

  public static class AsyncProcessor extends com.xiaomi.infra.galaxy.sds.thrift.BaseService.AsyncProcessor {
    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
    public AsyncProcessor(I iface) {
      super(iface, getProcessMap(new HashMap>()));
    }

    protected AsyncProcessor(I iface, Map> processMap) {
      super(iface, getProcessMap(processMap));
    }

    private static  Map> getProcessMap(Map> processMap) {
      processMap.put("saveAppInfo", new saveAppInfo());
      processMap.put("getAppInfo", new getAppInfo());
      processMap.put("findAllApps", new findAllApps());
      processMap.put("findAllTables", new findAllTables());
      processMap.put("cleanAllLazyDroppedTables", new cleanAllLazyDroppedTables());
      processMap.put("createTable", new createTable());
      processMap.put("dropTable", new dropTable());
      processMap.put("restoreTable", new restoreTable());
      processMap.put("alterTable", new alterTable());
      processMap.put("cloneTable", new cloneTable());
      processMap.put("disableTable", new disableTable());
      processMap.put("enableTable", new enableTable());
      processMap.put("describeTable", new describeTable());
      processMap.put("getTableStatus", new getTableStatus());
      processMap.put("getTableState", new getTableState());
      processMap.put("getTableSplits", new getTableSplits());
      processMap.put("queryMetric", new queryMetric());
      processMap.put("queryMetrics", new queryMetrics());
      processMap.put("findAllAppInfo", new findAllAppInfo());
      return processMap;
    }

    public static class saveAppInfo extends libthrift091.AsyncProcessFunction {
      public saveAppInfo() {
        super("saveAppInfo");
      }

      public saveAppInfo_args getEmptyArgsInstance() {
        return new saveAppInfo_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            saveAppInfo_result result = new saveAppInfo_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            saveAppInfo_result result = new saveAppInfo_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, saveAppInfo_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.saveAppInfo(args.appInfo,resultHandler);
      }
    }

    public static class getAppInfo extends libthrift091.AsyncProcessFunction {
      public getAppInfo() {
        super("getAppInfo");
      }

      public getAppInfo_args getEmptyArgsInstance() {
        return new getAppInfo_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(AppInfo o) {
            getAppInfo_result result = new getAppInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            getAppInfo_result result = new getAppInfo_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, getAppInfo_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.getAppInfo(args.appId,resultHandler);
      }
    }

    public static class findAllApps extends libthrift091.AsyncProcessFunction> {
      public findAllApps() {
        super("findAllApps");
      }

      public findAllApps_args getEmptyArgsInstance() {
        return new findAllApps_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            findAllApps_result result = new findAllApps_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            findAllApps_result result = new findAllApps_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, findAllApps_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.findAllApps(resultHandler);
      }
    }

    public static class findAllTables extends libthrift091.AsyncProcessFunction> {
      public findAllTables() {
        super("findAllTables");
      }

      public findAllTables_args getEmptyArgsInstance() {
        return new findAllTables_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            findAllTables_result result = new findAllTables_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            findAllTables_result result = new findAllTables_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, findAllTables_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.findAllTables(resultHandler);
      }
    }

    public static class cleanAllLazyDroppedTables extends libthrift091.AsyncProcessFunction> {
      public cleanAllLazyDroppedTables() {
        super("cleanAllLazyDroppedTables");
      }

      public cleanAllLazyDroppedTables_args getEmptyArgsInstance() {
        return new cleanAllLazyDroppedTables_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            cleanAllLazyDroppedTables_result result = new cleanAllLazyDroppedTables_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            cleanAllLazyDroppedTables_result result = new cleanAllLazyDroppedTables_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, cleanAllLazyDroppedTables_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.cleanAllLazyDroppedTables(resultHandler);
      }
    }

    public static class createTable extends libthrift091.AsyncProcessFunction {
      public createTable() {
        super("createTable");
      }

      public createTable_args getEmptyArgsInstance() {
        return new createTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(com.xiaomi.infra.galaxy.sds.thrift.TableInfo o) {
            createTable_result result = new createTable_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            createTable_result result = new createTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, createTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.createTable(args.tableName, args.tableSpec,resultHandler);
      }
    }

    public static class dropTable extends libthrift091.AsyncProcessFunction {
      public dropTable() {
        super("dropTable");
      }

      public dropTable_args getEmptyArgsInstance() {
        return new dropTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            dropTable_result result = new dropTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            dropTable_result result = new dropTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, dropTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.dropTable(args.tableName,resultHandler);
      }
    }

    public static class restoreTable extends libthrift091.AsyncProcessFunction {
      public restoreTable() {
        super("restoreTable");
      }

      public restoreTable_args getEmptyArgsInstance() {
        return new restoreTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            restoreTable_result result = new restoreTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            restoreTable_result result = new restoreTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, restoreTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.restoreTable(args.tableName,resultHandler);
      }
    }

    public static class alterTable extends libthrift091.AsyncProcessFunction {
      public alterTable() {
        super("alterTable");
      }

      public alterTable_args getEmptyArgsInstance() {
        return new alterTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            alterTable_result result = new alterTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            alterTable_result result = new alterTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, alterTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.alterTable(args.tableName, args.tableSpec,resultHandler);
      }
    }

    public static class cloneTable extends libthrift091.AsyncProcessFunction {
      public cloneTable() {
        super("cloneTable");
      }

      public cloneTable_args getEmptyArgsInstance() {
        return new cloneTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            cloneTable_result result = new cloneTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            cloneTable_result result = new cloneTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, cloneTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.cloneTable(args.srcName, args.destTable, args.flushTable,resultHandler);
      }
    }

    public static class disableTable extends libthrift091.AsyncProcessFunction {
      public disableTable() {
        super("disableTable");
      }

      public disableTable_args getEmptyArgsInstance() {
        return new disableTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            disableTable_result result = new disableTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            disableTable_result result = new disableTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, disableTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.disableTable(args.tableName,resultHandler);
      }
    }

    public static class enableTable extends libthrift091.AsyncProcessFunction {
      public enableTable() {
        super("enableTable");
      }

      public enableTable_args getEmptyArgsInstance() {
        return new enableTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(Void o) {
            enableTable_result result = new enableTable_result();
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            enableTable_result result = new enableTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, enableTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.enableTable(args.tableName,resultHandler);
      }
    }

    public static class describeTable extends libthrift091.AsyncProcessFunction {
      public describeTable() {
        super("describeTable");
      }

      public describeTable_args getEmptyArgsInstance() {
        return new describeTable_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(com.xiaomi.infra.galaxy.sds.thrift.TableSpec o) {
            describeTable_result result = new describeTable_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            describeTable_result result = new describeTable_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, describeTable_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.describeTable(args.tableName,resultHandler);
      }
    }

    public static class getTableStatus extends libthrift091.AsyncProcessFunction {
      public getTableStatus() {
        super("getTableStatus");
      }

      public getTableStatus_args getEmptyArgsInstance() {
        return new getTableStatus_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(com.xiaomi.infra.galaxy.sds.thrift.TableStatus o) {
            getTableStatus_result result = new getTableStatus_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            getTableStatus_result result = new getTableStatus_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, getTableStatus_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.getTableStatus(args.tableName,resultHandler);
      }
    }

    public static class getTableState extends libthrift091.AsyncProcessFunction {
      public getTableState() {
        super("getTableState");
      }

      public getTableState_args getEmptyArgsInstance() {
        return new getTableState_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(com.xiaomi.infra.galaxy.sds.thrift.TableState o) {
            getTableState_result result = new getTableState_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            getTableState_result result = new getTableState_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, getTableState_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.getTableState(args.tableName,resultHandler);
      }
    }

    public static class getTableSplits extends libthrift091.AsyncProcessFunction> {
      public getTableSplits() {
        super("getTableSplits");
      }

      public getTableSplits_args getEmptyArgsInstance() {
        return new getTableSplits_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            getTableSplits_result result = new getTableSplits_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            getTableSplits_result result = new getTableSplits_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, getTableSplits_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.getTableSplits(args.tableName, args.startKey, args.stopKey,resultHandler);
      }
    }

    public static class queryMetric extends libthrift091.AsyncProcessFunction {
      public queryMetric() {
        super("queryMetric");
      }

      public queryMetric_args getEmptyArgsInstance() {
        return new queryMetric_args();
      }

      public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback() { 
          public void onComplete(TimeSeriesData o) {
            queryMetric_result result = new queryMetric_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            queryMetric_result result = new queryMetric_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, queryMetric_args args, libthrift091.async.AsyncMethodCallback resultHandler) throws TException {
        iface.queryMetric(args.query,resultHandler);
      }
    }

    public static class queryMetrics extends libthrift091.AsyncProcessFunction> {
      public queryMetrics() {
        super("queryMetrics");
      }

      public queryMetrics_args getEmptyArgsInstance() {
        return new queryMetrics_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            queryMetrics_result result = new queryMetrics_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            queryMetrics_result result = new queryMetrics_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, queryMetrics_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.queryMetrics(args.queries,resultHandler);
      }
    }

    public static class findAllAppInfo extends libthrift091.AsyncProcessFunction> {
      public findAllAppInfo() {
        super("findAllAppInfo");
      }

      public findAllAppInfo_args getEmptyArgsInstance() {
        return new findAllAppInfo_args();
      }

      public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
        final libthrift091.AsyncProcessFunction fcall = this;
        return new AsyncMethodCallback>() { 
          public void onComplete(List o) {
            findAllAppInfo_result result = new findAllAppInfo_result();
            result.success = o;
            try {
              fcall.sendResponse(fb,result, libthrift091.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 = libthrift091.protocol.TMessageType.REPLY;
            libthrift091.TBase msg;
            findAllAppInfo_result result = new findAllAppInfo_result();
            if (e instanceof com.xiaomi.infra.galaxy.sds.thrift.ServiceException) {
                        result.se = (com.xiaomi.infra.galaxy.sds.thrift.ServiceException) e;
                        result.setSeIsSet(true);
                        msg = result;
            }
             else 
            {
              msgType = libthrift091.protocol.TMessageType.EXCEPTION;
              msg = (libthrift091.TBase)new libthrift091.TApplicationException(libthrift091.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, findAllAppInfo_args args, libthrift091.async.AsyncMethodCallback> resultHandler) throws TException {
        iface.findAllAppInfo(resultHandler);
      }
    }

  }

  public static class saveAppInfo_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("saveAppInfo_args");

    private static final libthrift091.protocol.TField APP_INFO_FIELD_DESC = new libthrift091.protocol.TField("appInfo", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new saveAppInfo_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new saveAppInfo_argsTupleSchemeFactory());
    }

    public AppInfo appInfo; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      APP_INFO((short)1, "appInfo");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // APP_INFO
            return APP_INFO;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.APP_INFO, new libthrift091.meta_data.FieldMetaData("appInfo", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, AppInfo.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(saveAppInfo_args.class, metaDataMap);
    }

    public saveAppInfo_args() {
    }

    public saveAppInfo_args(
      AppInfo appInfo)
    {
      this();
      this.appInfo = appInfo;
    }

    /**
     * Performs a deep copy on other.
     */
    public saveAppInfo_args(saveAppInfo_args other) {
      if (other.isSetAppInfo()) {
        this.appInfo = new AppInfo(other.appInfo);
      }
    }

    public saveAppInfo_args deepCopy() {
      return new saveAppInfo_args(this);
    }

    @Override
    public void clear() {
      this.appInfo = null;
    }

    public AppInfo getAppInfo() {
      return this.appInfo;
    }

    public saveAppInfo_args setAppInfo(AppInfo appInfo) {
      this.appInfo = appInfo;
      return this;
    }

    public void unsetAppInfo() {
      this.appInfo = null;
    }

    /** Returns true if field appInfo is set (has been assigned a value) and false otherwise */
    public boolean isSetAppInfo() {
      return this.appInfo != null;
    }

    public void setAppInfoIsSet(boolean value) {
      if (!value) {
        this.appInfo = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case APP_INFO:
        if (value == null) {
          unsetAppInfo();
        } else {
          setAppInfo((AppInfo)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case APP_INFO:
        return getAppInfo();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case APP_INFO:
        return isSetAppInfo();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveAppInfo_args)
        return this.equals((saveAppInfo_args)that);
      return false;
    }

    public boolean equals(saveAppInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_appInfo = true && this.isSetAppInfo();
      boolean that_present_appInfo = true && that.isSetAppInfo();
      if (this_present_appInfo || that_present_appInfo) {
        if (!(this_present_appInfo && that_present_appInfo))
          return false;
        if (!this.appInfo.equals(that.appInfo))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_appInfo = true && (isSetAppInfo());
      list.add(present_appInfo);
      if (present_appInfo)
        list.add(appInfo);

      return list.hashCode();
    }

    @Override
    public int compareTo(saveAppInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetAppInfo()).compareTo(other.isSetAppInfo());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAppInfo()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.appInfo, other.appInfo);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveAppInfo_args(");
      boolean first = true;

      sb.append("appInfo:");
      if (this.appInfo == null) {
        sb.append("null");
      } else {
        sb.append(this.appInfo);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (appInfo != null) {
        appInfo.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class saveAppInfo_argsStandardSchemeFactory implements SchemeFactory {
      public saveAppInfo_argsStandardScheme getScheme() {
        return new saveAppInfo_argsStandardScheme();
      }
    }

    private static class saveAppInfo_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, saveAppInfo_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // APP_INFO
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.appInfo = new AppInfo();
                struct.appInfo.read(iprot);
                struct.setAppInfoIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, saveAppInfo_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.appInfo != null) {
          oprot.writeFieldBegin(APP_INFO_FIELD_DESC);
          struct.appInfo.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class saveAppInfo_argsTupleSchemeFactory implements SchemeFactory {
      public saveAppInfo_argsTupleScheme getScheme() {
        return new saveAppInfo_argsTupleScheme();
      }
    }

    private static class saveAppInfo_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, saveAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetAppInfo()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetAppInfo()) {
          struct.appInfo.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, saveAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.appInfo = new AppInfo();
          struct.appInfo.read(iprot);
          struct.setAppInfoIsSet(true);
        }
      }
    }

  }

  public static class saveAppInfo_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("saveAppInfo_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new saveAppInfo_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new saveAppInfo_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(saveAppInfo_result.class, metaDataMap);
    }

    public saveAppInfo_result() {
    }

    public saveAppInfo_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public saveAppInfo_result(saveAppInfo_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public saveAppInfo_result deepCopy() {
      return new saveAppInfo_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public saveAppInfo_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof saveAppInfo_result)
        return this.equals((saveAppInfo_result)that);
      return false;
    }

    public boolean equals(saveAppInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(saveAppInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("saveAppInfo_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class saveAppInfo_resultStandardSchemeFactory implements SchemeFactory {
      public saveAppInfo_resultStandardScheme getScheme() {
        return new saveAppInfo_resultStandardScheme();
      }
    }

    private static class saveAppInfo_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, saveAppInfo_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, saveAppInfo_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class saveAppInfo_resultTupleSchemeFactory implements SchemeFactory {
      public saveAppInfo_resultTupleScheme getScheme() {
        return new saveAppInfo_resultTupleScheme();
      }
    }

    private static class saveAppInfo_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, saveAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, saveAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class getAppInfo_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getAppInfo_args");

    private static final libthrift091.protocol.TField APP_ID_FIELD_DESC = new libthrift091.protocol.TField("appId", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getAppInfo_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getAppInfo_argsTupleSchemeFactory());
    }

    public String appId; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      APP_ID((short)1, "appId");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // APP_ID
            return APP_ID;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.APP_ID, new libthrift091.meta_data.FieldMetaData("appId", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getAppInfo_args.class, metaDataMap);
    }

    public getAppInfo_args() {
    }

    public getAppInfo_args(
      String appId)
    {
      this();
      this.appId = appId;
    }

    /**
     * Performs a deep copy on other.
     */
    public getAppInfo_args(getAppInfo_args other) {
      if (other.isSetAppId()) {
        this.appId = other.appId;
      }
    }

    public getAppInfo_args deepCopy() {
      return new getAppInfo_args(this);
    }

    @Override
    public void clear() {
      this.appId = null;
    }

    public String getAppId() {
      return this.appId;
    }

    public getAppInfo_args setAppId(String appId) {
      this.appId = appId;
      return this;
    }

    public void unsetAppId() {
      this.appId = null;
    }

    /** Returns true if field appId is set (has been assigned a value) and false otherwise */
    public boolean isSetAppId() {
      return this.appId != null;
    }

    public void setAppIdIsSet(boolean value) {
      if (!value) {
        this.appId = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case APP_ID:
        if (value == null) {
          unsetAppId();
        } else {
          setAppId((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case APP_ID:
        return getAppId();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case APP_ID:
        return isSetAppId();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAppInfo_args)
        return this.equals((getAppInfo_args)that);
      return false;
    }

    public boolean equals(getAppInfo_args that) {
      if (that == null)
        return false;

      boolean this_present_appId = true && this.isSetAppId();
      boolean that_present_appId = true && that.isSetAppId();
      if (this_present_appId || that_present_appId) {
        if (!(this_present_appId && that_present_appId))
          return false;
        if (!this.appId.equals(that.appId))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_appId = true && (isSetAppId());
      list.add(present_appId);
      if (present_appId)
        list.add(appId);

      return list.hashCode();
    }

    @Override
    public int compareTo(getAppInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetAppId()).compareTo(other.isSetAppId());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAppId()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.appId, other.appId);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAppInfo_args(");
      boolean first = true;

      sb.append("appId:");
      if (this.appId == null) {
        sb.append("null");
      } else {
        sb.append(this.appId);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getAppInfo_argsStandardSchemeFactory implements SchemeFactory {
      public getAppInfo_argsStandardScheme getScheme() {
        return new getAppInfo_argsStandardScheme();
      }
    }

    private static class getAppInfo_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getAppInfo_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // APP_ID
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.appId = iprot.readString();
                struct.setAppIdIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getAppInfo_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.appId != null) {
          oprot.writeFieldBegin(APP_ID_FIELD_DESC);
          oprot.writeString(struct.appId);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getAppInfo_argsTupleSchemeFactory implements SchemeFactory {
      public getAppInfo_argsTupleScheme getScheme() {
        return new getAppInfo_argsTupleScheme();
      }
    }

    private static class getAppInfo_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetAppId()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetAppId()) {
          oprot.writeString(struct.appId);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.appId = iprot.readString();
          struct.setAppIdIsSet(true);
        }
      }
    }

  }

  public static class getAppInfo_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getAppInfo_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.STRUCT, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getAppInfo_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getAppInfo_resultTupleSchemeFactory());
    }

    public AppInfo success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, AppInfo.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getAppInfo_result.class, metaDataMap);
    }

    public getAppInfo_result() {
    }

    public getAppInfo_result(
      AppInfo success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public getAppInfo_result(getAppInfo_result other) {
      if (other.isSetSuccess()) {
        this.success = new AppInfo(other.success);
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public getAppInfo_result deepCopy() {
      return new getAppInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public AppInfo getSuccess() {
      return this.success;
    }

    public getAppInfo_result setSuccess(AppInfo success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public getAppInfo_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((AppInfo)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getAppInfo_result)
        return this.equals((getAppInfo_result)that);
      return false;
    }

    public boolean equals(getAppInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(getAppInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getAppInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getAppInfo_resultStandardSchemeFactory implements SchemeFactory {
      public getAppInfo_resultStandardScheme getScheme() {
        return new getAppInfo_resultStandardScheme();
      }
    }

    private static class getAppInfo_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getAppInfo_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.success = new AppInfo();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getAppInfo_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getAppInfo_resultTupleSchemeFactory implements SchemeFactory {
      public getAppInfo_resultTupleScheme getScheme() {
        return new getAppInfo_resultTupleScheme();
      }
    }

    private static class getAppInfo_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new AppInfo();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class findAllApps_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllApps_args");


    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllApps_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllApps_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
;

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllApps_args.class, metaDataMap);
    }

    public findAllApps_args() {
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllApps_args(findAllApps_args other) {
    }

    public findAllApps_args deepCopy() {
      return new findAllApps_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllApps_args)
        return this.equals((findAllApps_args)that);
      return false;
    }

    public boolean equals(findAllApps_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllApps_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllApps_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllApps_argsStandardSchemeFactory implements SchemeFactory {
      public findAllApps_argsStandardScheme getScheme() {
        return new findAllApps_argsStandardScheme();
      }
    }

    private static class findAllApps_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllApps_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllApps_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllApps_argsTupleSchemeFactory implements SchemeFactory {
      public findAllApps_argsTupleScheme getScheme() {
        return new findAllApps_argsTupleScheme();
      }
    }

    private static class findAllApps_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllApps_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllApps_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class findAllApps_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllApps_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllApps_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllApps_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, AppInfo.class))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllApps_result.class, metaDataMap);
    }

    public findAllApps_result() {
    }

    public findAllApps_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllApps_result(findAllApps_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success.size());
        for (AppInfo other_element : other.success) {
          __this__success.add(new AppInfo(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public findAllApps_result deepCopy() {
      return new findAllApps_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AppInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public findAllApps_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public findAllApps_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllApps_result)
        return this.equals((findAllApps_result)that);
      return false;
    }

    public boolean equals(findAllApps_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllApps_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllApps_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllApps_resultStandardSchemeFactory implements SchemeFactory {
      public findAllApps_resultStandardScheme getScheme() {
        return new findAllApps_resultStandardScheme();
      }
    }

    private static class findAllApps_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllApps_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list30 = iprot.readListBegin();
                  struct.success = new ArrayList(_list30.size);
                  AppInfo _elem31;
                  for (int _i32 = 0; _i32 < _list30.size; ++_i32)
                  {
                    _elem31 = new AppInfo();
                    _elem31.read(iprot);
                    struct.success.add(_elem31);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllApps_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.success.size()));
            for (AppInfo _iter33 : struct.success)
            {
              _iter33.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllApps_resultTupleSchemeFactory implements SchemeFactory {
      public findAllApps_resultTupleScheme getScheme() {
        return new findAllApps_resultTupleScheme();
      }
    }

    private static class findAllApps_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllApps_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (AppInfo _iter34 : struct.success)
            {
              _iter34.write(oprot);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllApps_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list35 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.success = new ArrayList(_list35.size);
            AppInfo _elem36;
            for (int _i37 = 0; _i37 < _list35.size; ++_i37)
            {
              _elem36 = new AppInfo();
              _elem36.read(iprot);
              struct.success.add(_elem36);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class findAllTables_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllTables_args");


    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllTables_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllTables_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
;

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllTables_args.class, metaDataMap);
    }

    public findAllTables_args() {
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllTables_args(findAllTables_args other) {
    }

    public findAllTables_args deepCopy() {
      return new findAllTables_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllTables_args)
        return this.equals((findAllTables_args)that);
      return false;
    }

    public boolean equals(findAllTables_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllTables_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllTables_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllTables_argsStandardSchemeFactory implements SchemeFactory {
      public findAllTables_argsStandardScheme getScheme() {
        return new findAllTables_argsStandardScheme();
      }
    }

    private static class findAllTables_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllTables_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllTables_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllTables_argsTupleSchemeFactory implements SchemeFactory {
      public findAllTables_argsTupleScheme getScheme() {
        return new findAllTables_argsTupleScheme();
      }
    }

    private static class findAllTables_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllTables_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllTables_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class findAllTables_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllTables_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllTables_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllTables_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableInfo.class))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllTables_result.class, metaDataMap);
    }

    public findAllTables_result() {
    }

    public findAllTables_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllTables_result(findAllTables_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success.size());
        for (com.xiaomi.infra.galaxy.sds.thrift.TableInfo other_element : other.success) {
          __this__success.add(new com.xiaomi.infra.galaxy.sds.thrift.TableInfo(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public findAllTables_result deepCopy() {
      return new findAllTables_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public findAllTables_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public findAllTables_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllTables_result)
        return this.equals((findAllTables_result)that);
      return false;
    }

    public boolean equals(findAllTables_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllTables_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllTables_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllTables_resultStandardSchemeFactory implements SchemeFactory {
      public findAllTables_resultStandardScheme getScheme() {
        return new findAllTables_resultStandardScheme();
      }
    }

    private static class findAllTables_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllTables_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list38 = iprot.readListBegin();
                  struct.success = new ArrayList(_list38.size);
                  com.xiaomi.infra.galaxy.sds.thrift.TableInfo _elem39;
                  for (int _i40 = 0; _i40 < _list38.size; ++_i40)
                  {
                    _elem39 = new com.xiaomi.infra.galaxy.sds.thrift.TableInfo();
                    _elem39.read(iprot);
                    struct.success.add(_elem39);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllTables_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.success.size()));
            for (com.xiaomi.infra.galaxy.sds.thrift.TableInfo _iter41 : struct.success)
            {
              _iter41.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllTables_resultTupleSchemeFactory implements SchemeFactory {
      public findAllTables_resultTupleScheme getScheme() {
        return new findAllTables_resultTupleScheme();
      }
    }

    private static class findAllTables_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllTables_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (com.xiaomi.infra.galaxy.sds.thrift.TableInfo _iter42 : struct.success)
            {
              _iter42.write(oprot);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllTables_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list43 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.success = new ArrayList(_list43.size);
            com.xiaomi.infra.galaxy.sds.thrift.TableInfo _elem44;
            for (int _i45 = 0; _i45 < _list43.size; ++_i45)
            {
              _elem44 = new com.xiaomi.infra.galaxy.sds.thrift.TableInfo();
              _elem44.read(iprot);
              struct.success.add(_elem44);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class cleanAllLazyDroppedTables_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("cleanAllLazyDroppedTables_args");


    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new cleanAllLazyDroppedTables_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new cleanAllLazyDroppedTables_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
;

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(cleanAllLazyDroppedTables_args.class, metaDataMap);
    }

    public cleanAllLazyDroppedTables_args() {
    }

    /**
     * Performs a deep copy on other.
     */
    public cleanAllLazyDroppedTables_args(cleanAllLazyDroppedTables_args other) {
    }

    public cleanAllLazyDroppedTables_args deepCopy() {
      return new cleanAllLazyDroppedTables_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof cleanAllLazyDroppedTables_args)
        return this.equals((cleanAllLazyDroppedTables_args)that);
      return false;
    }

    public boolean equals(cleanAllLazyDroppedTables_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      return list.hashCode();
    }

    @Override
    public int compareTo(cleanAllLazyDroppedTables_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("cleanAllLazyDroppedTables_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cleanAllLazyDroppedTables_argsStandardSchemeFactory implements SchemeFactory {
      public cleanAllLazyDroppedTables_argsStandardScheme getScheme() {
        return new cleanAllLazyDroppedTables_argsStandardScheme();
      }
    }

    private static class cleanAllLazyDroppedTables_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, cleanAllLazyDroppedTables_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, cleanAllLazyDroppedTables_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cleanAllLazyDroppedTables_argsTupleSchemeFactory implements SchemeFactory {
      public cleanAllLazyDroppedTables_argsTupleScheme getScheme() {
        return new cleanAllLazyDroppedTables_argsTupleScheme();
      }
    }

    private static class cleanAllLazyDroppedTables_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, cleanAllLazyDroppedTables_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, cleanAllLazyDroppedTables_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class cleanAllLazyDroppedTables_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("cleanAllLazyDroppedTables_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new cleanAllLazyDroppedTables_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new cleanAllLazyDroppedTables_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(cleanAllLazyDroppedTables_result.class, metaDataMap);
    }

    public cleanAllLazyDroppedTables_result() {
    }

    public cleanAllLazyDroppedTables_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public cleanAllLazyDroppedTables_result(cleanAllLazyDroppedTables_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success);
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public cleanAllLazyDroppedTables_result deepCopy() {
      return new cleanAllLazyDroppedTables_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(String elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public cleanAllLazyDroppedTables_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public cleanAllLazyDroppedTables_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof cleanAllLazyDroppedTables_result)
        return this.equals((cleanAllLazyDroppedTables_result)that);
      return false;
    }

    public boolean equals(cleanAllLazyDroppedTables_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(cleanAllLazyDroppedTables_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("cleanAllLazyDroppedTables_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cleanAllLazyDroppedTables_resultStandardSchemeFactory implements SchemeFactory {
      public cleanAllLazyDroppedTables_resultStandardScheme getScheme() {
        return new cleanAllLazyDroppedTables_resultStandardScheme();
      }
    }

    private static class cleanAllLazyDroppedTables_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, cleanAllLazyDroppedTables_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list46 = iprot.readListBegin();
                  struct.success = new ArrayList(_list46.size);
                  String _elem47;
                  for (int _i48 = 0; _i48 < _list46.size; ++_i48)
                  {
                    _elem47 = iprot.readString();
                    struct.success.add(_elem47);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, cleanAllLazyDroppedTables_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRING, struct.success.size()));
            for (String _iter49 : struct.success)
            {
              oprot.writeString(_iter49);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cleanAllLazyDroppedTables_resultTupleSchemeFactory implements SchemeFactory {
      public cleanAllLazyDroppedTables_resultTupleScheme getScheme() {
        return new cleanAllLazyDroppedTables_resultTupleScheme();
      }
    }

    private static class cleanAllLazyDroppedTables_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, cleanAllLazyDroppedTables_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (String _iter50 : struct.success)
            {
              oprot.writeString(_iter50);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, cleanAllLazyDroppedTables_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list51 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRING, iprot.readI32());
            struct.success = new ArrayList(_list51.size);
            String _elem52;
            for (int _i53 = 0; _i53 < _list51.size; ++_i53)
            {
              _elem52 = iprot.readString();
              struct.success.add(_elem52);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class createTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("createTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);
    private static final libthrift091.protocol.TField TABLE_SPEC_FIELD_DESC = new libthrift091.protocol.TField("tableSpec", libthrift091.protocol.TType.STRUCT, (short)2);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new createTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new createTable_argsTupleSchemeFactory());
    }

    public String tableName; // required
    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName"),
      TABLE_SPEC((short)2, "tableSpec");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          case 2: // TABLE_SPEC
            return TABLE_SPEC;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      tmpMap.put(_Fields.TABLE_SPEC, new libthrift091.meta_data.FieldMetaData("tableSpec", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableSpec.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(createTable_args.class, metaDataMap);
    }

    public createTable_args() {
    }

    public createTable_args(
      String tableName,
      com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec)
    {
      this();
      this.tableName = tableName;
      this.tableSpec = tableSpec;
    }

    /**
     * Performs a deep copy on other.
     */
    public createTable_args(createTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
      if (other.isSetTableSpec()) {
        this.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec(other.tableSpec);
      }
    }

    public createTable_args deepCopy() {
      return new createTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
      this.tableSpec = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public createTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec getTableSpec() {
      return this.tableSpec;
    }

    public createTable_args setTableSpec(com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) {
      this.tableSpec = tableSpec;
      return this;
    }

    public void unsetTableSpec() {
      this.tableSpec = null;
    }

    /** Returns true if field tableSpec is set (has been assigned a value) and false otherwise */
    public boolean isSetTableSpec() {
      return this.tableSpec != null;
    }

    public void setTableSpecIsSet(boolean value) {
      if (!value) {
        this.tableSpec = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      case TABLE_SPEC:
        if (value == null) {
          unsetTableSpec();
        } else {
          setTableSpec((com.xiaomi.infra.galaxy.sds.thrift.TableSpec)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      case TABLE_SPEC:
        return getTableSpec();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      case TABLE_SPEC:
        return isSetTableSpec();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createTable_args)
        return this.equals((createTable_args)that);
      return false;
    }

    public boolean equals(createTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      boolean this_present_tableSpec = true && this.isSetTableSpec();
      boolean that_present_tableSpec = true && that.isSetTableSpec();
      if (this_present_tableSpec || that_present_tableSpec) {
        if (!(this_present_tableSpec && that_present_tableSpec))
          return false;
        if (!this.tableSpec.equals(that.tableSpec))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      boolean present_tableSpec = true && (isSetTableSpec());
      list.add(present_tableSpec);
      if (present_tableSpec)
        list.add(tableSpec);

      return list.hashCode();
    }

    @Override
    public int compareTo(createTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTableSpec()).compareTo(other.isSetTableSpec());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableSpec()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableSpec, other.tableSpec);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("tableSpec:");
      if (this.tableSpec == null) {
        sb.append("null");
      } else {
        sb.append(this.tableSpec);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableSpec != null) {
        tableSpec.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createTable_argsStandardSchemeFactory implements SchemeFactory {
      public createTable_argsStandardScheme getScheme() {
        return new createTable_argsStandardScheme();
      }
    }

    private static class createTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, createTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // TABLE_SPEC
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
                struct.tableSpec.read(iprot);
                struct.setTableSpecIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, createTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        if (struct.tableSpec != null) {
          oprot.writeFieldBegin(TABLE_SPEC_FIELD_DESC);
          struct.tableSpec.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createTable_argsTupleSchemeFactory implements SchemeFactory {
      public createTable_argsTupleScheme getScheme() {
        return new createTable_argsTupleScheme();
      }
    }

    private static class createTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, createTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        if (struct.isSetTableSpec()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
        if (struct.isSetTableSpec()) {
          struct.tableSpec.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, createTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
          struct.tableSpec.read(iprot);
          struct.setTableSpecIsSet(true);
        }
      }
    }

  }

  public static class createTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("createTable_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.STRUCT, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new createTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new createTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableInfo success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableInfo.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(createTable_result.class, metaDataMap);
    }

    public createTable_result() {
    }

    public createTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.TableInfo success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public createTable_result(createTable_result other) {
      if (other.isSetSuccess()) {
        this.success = new com.xiaomi.infra.galaxy.sds.thrift.TableInfo(other.success);
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public createTable_result deepCopy() {
      return new createTable_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableInfo getSuccess() {
      return this.success;
    }

    public createTable_result setSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableInfo success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public createTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((com.xiaomi.infra.galaxy.sds.thrift.TableInfo)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof createTable_result)
        return this.equals((createTable_result)that);
      return false;
    }

    public boolean equals(createTable_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(createTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("createTable_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class createTable_resultStandardSchemeFactory implements SchemeFactory {
      public createTable_resultStandardScheme getScheme() {
        return new createTable_resultStandardScheme();
      }
    }

    private static class createTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, createTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableInfo();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, createTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class createTable_resultTupleSchemeFactory implements SchemeFactory {
      public createTable_resultTupleScheme getScheme() {
        return new createTable_resultTupleScheme();
      }
    }

    private static class createTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, createTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, createTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableInfo();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class dropTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("dropTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new dropTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new dropTable_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(dropTable_args.class, metaDataMap);
    }

    public dropTable_args() {
    }

    public dropTable_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public dropTable_args(dropTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public dropTable_args deepCopy() {
      return new dropTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public dropTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof dropTable_args)
        return this.equals((dropTable_args)that);
      return false;
    }

    public boolean equals(dropTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(dropTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("dropTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dropTable_argsStandardSchemeFactory implements SchemeFactory {
      public dropTable_argsStandardScheme getScheme() {
        return new dropTable_argsStandardScheme();
      }
    }

    private static class dropTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, dropTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, dropTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dropTable_argsTupleSchemeFactory implements SchemeFactory {
      public dropTable_argsTupleScheme getScheme() {
        return new dropTable_argsTupleScheme();
      }
    }

    private static class dropTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, dropTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, dropTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class dropTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("dropTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new dropTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new dropTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(dropTable_result.class, metaDataMap);
    }

    public dropTable_result() {
    }

    public dropTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public dropTable_result(dropTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public dropTable_result deepCopy() {
      return new dropTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public dropTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof dropTable_result)
        return this.equals((dropTable_result)that);
      return false;
    }

    public boolean equals(dropTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(dropTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("dropTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class dropTable_resultStandardSchemeFactory implements SchemeFactory {
      public dropTable_resultStandardScheme getScheme() {
        return new dropTable_resultStandardScheme();
      }
    }

    private static class dropTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, dropTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, dropTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class dropTable_resultTupleSchemeFactory implements SchemeFactory {
      public dropTable_resultTupleScheme getScheme() {
        return new dropTable_resultTupleScheme();
      }
    }

    private static class dropTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, dropTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, dropTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class restoreTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("restoreTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new restoreTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new restoreTable_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(restoreTable_args.class, metaDataMap);
    }

    public restoreTable_args() {
    }

    public restoreTable_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public restoreTable_args(restoreTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public restoreTable_args deepCopy() {
      return new restoreTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public restoreTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof restoreTable_args)
        return this.equals((restoreTable_args)that);
      return false;
    }

    public boolean equals(restoreTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(restoreTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("restoreTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class restoreTable_argsStandardSchemeFactory implements SchemeFactory {
      public restoreTable_argsStandardScheme getScheme() {
        return new restoreTable_argsStandardScheme();
      }
    }

    private static class restoreTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, restoreTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, restoreTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class restoreTable_argsTupleSchemeFactory implements SchemeFactory {
      public restoreTable_argsTupleScheme getScheme() {
        return new restoreTable_argsTupleScheme();
      }
    }

    private static class restoreTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, restoreTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, restoreTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class restoreTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("restoreTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new restoreTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new restoreTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(restoreTable_result.class, metaDataMap);
    }

    public restoreTable_result() {
    }

    public restoreTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public restoreTable_result(restoreTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public restoreTable_result deepCopy() {
      return new restoreTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public restoreTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof restoreTable_result)
        return this.equals((restoreTable_result)that);
      return false;
    }

    public boolean equals(restoreTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(restoreTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("restoreTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class restoreTable_resultStandardSchemeFactory implements SchemeFactory {
      public restoreTable_resultStandardScheme getScheme() {
        return new restoreTable_resultStandardScheme();
      }
    }

    private static class restoreTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, restoreTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, restoreTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class restoreTable_resultTupleSchemeFactory implements SchemeFactory {
      public restoreTable_resultTupleScheme getScheme() {
        return new restoreTable_resultTupleScheme();
      }
    }

    private static class restoreTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, restoreTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, restoreTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class alterTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("alterTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);
    private static final libthrift091.protocol.TField TABLE_SPEC_FIELD_DESC = new libthrift091.protocol.TField("tableSpec", libthrift091.protocol.TType.STRUCT, (short)2);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new alterTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new alterTable_argsTupleSchemeFactory());
    }

    public String tableName; // required
    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName"),
      TABLE_SPEC((short)2, "tableSpec");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          case 2: // TABLE_SPEC
            return TABLE_SPEC;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      tmpMap.put(_Fields.TABLE_SPEC, new libthrift091.meta_data.FieldMetaData("tableSpec", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableSpec.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(alterTable_args.class, metaDataMap);
    }

    public alterTable_args() {
    }

    public alterTable_args(
      String tableName,
      com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec)
    {
      this();
      this.tableName = tableName;
      this.tableSpec = tableSpec;
    }

    /**
     * Performs a deep copy on other.
     */
    public alterTable_args(alterTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
      if (other.isSetTableSpec()) {
        this.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec(other.tableSpec);
      }
    }

    public alterTable_args deepCopy() {
      return new alterTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
      this.tableSpec = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public alterTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec getTableSpec() {
      return this.tableSpec;
    }

    public alterTable_args setTableSpec(com.xiaomi.infra.galaxy.sds.thrift.TableSpec tableSpec) {
      this.tableSpec = tableSpec;
      return this;
    }

    public void unsetTableSpec() {
      this.tableSpec = null;
    }

    /** Returns true if field tableSpec is set (has been assigned a value) and false otherwise */
    public boolean isSetTableSpec() {
      return this.tableSpec != null;
    }

    public void setTableSpecIsSet(boolean value) {
      if (!value) {
        this.tableSpec = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      case TABLE_SPEC:
        if (value == null) {
          unsetTableSpec();
        } else {
          setTableSpec((com.xiaomi.infra.galaxy.sds.thrift.TableSpec)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      case TABLE_SPEC:
        return getTableSpec();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      case TABLE_SPEC:
        return isSetTableSpec();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof alterTable_args)
        return this.equals((alterTable_args)that);
      return false;
    }

    public boolean equals(alterTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      boolean this_present_tableSpec = true && this.isSetTableSpec();
      boolean that_present_tableSpec = true && that.isSetTableSpec();
      if (this_present_tableSpec || that_present_tableSpec) {
        if (!(this_present_tableSpec && that_present_tableSpec))
          return false;
        if (!this.tableSpec.equals(that.tableSpec))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      boolean present_tableSpec = true && (isSetTableSpec());
      list.add(present_tableSpec);
      if (present_tableSpec)
        list.add(tableSpec);

      return list.hashCode();
    }

    @Override
    public int compareTo(alterTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetTableSpec()).compareTo(other.isSetTableSpec());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableSpec()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableSpec, other.tableSpec);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("alterTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("tableSpec:");
      if (this.tableSpec == null) {
        sb.append("null");
      } else {
        sb.append(this.tableSpec);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (tableSpec != null) {
        tableSpec.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class alterTable_argsStandardSchemeFactory implements SchemeFactory {
      public alterTable_argsStandardScheme getScheme() {
        return new alterTable_argsStandardScheme();
      }
    }

    private static class alterTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, alterTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // TABLE_SPEC
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
                struct.tableSpec.read(iprot);
                struct.setTableSpecIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, alterTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        if (struct.tableSpec != null) {
          oprot.writeFieldBegin(TABLE_SPEC_FIELD_DESC);
          struct.tableSpec.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class alterTable_argsTupleSchemeFactory implements SchemeFactory {
      public alterTable_argsTupleScheme getScheme() {
        return new alterTable_argsTupleScheme();
      }
    }

    private static class alterTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, alterTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        if (struct.isSetTableSpec()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
        if (struct.isSetTableSpec()) {
          struct.tableSpec.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, alterTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.tableSpec = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
          struct.tableSpec.read(iprot);
          struct.setTableSpecIsSet(true);
        }
      }
    }

  }

  public static class alterTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("alterTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new alterTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new alterTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(alterTable_result.class, metaDataMap);
    }

    public alterTable_result() {
    }

    public alterTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public alterTable_result(alterTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public alterTable_result deepCopy() {
      return new alterTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public alterTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof alterTable_result)
        return this.equals((alterTable_result)that);
      return false;
    }

    public boolean equals(alterTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(alterTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("alterTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class alterTable_resultStandardSchemeFactory implements SchemeFactory {
      public alterTable_resultStandardScheme getScheme() {
        return new alterTable_resultStandardScheme();
      }
    }

    private static class alterTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, alterTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, alterTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class alterTable_resultTupleSchemeFactory implements SchemeFactory {
      public alterTable_resultTupleScheme getScheme() {
        return new alterTable_resultTupleScheme();
      }
    }

    private static class alterTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, alterTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, alterTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class cloneTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("cloneTable_args");

    private static final libthrift091.protocol.TField SRC_NAME_FIELD_DESC = new libthrift091.protocol.TField("srcName", libthrift091.protocol.TType.STRING, (short)1);
    private static final libthrift091.protocol.TField DEST_TABLE_FIELD_DESC = new libthrift091.protocol.TField("destTable", libthrift091.protocol.TType.STRING, (short)2);
    private static final libthrift091.protocol.TField FLUSH_TABLE_FIELD_DESC = new libthrift091.protocol.TField("flushTable", libthrift091.protocol.TType.BOOL, (short)3);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new cloneTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new cloneTable_argsTupleSchemeFactory());
    }

    public String srcName; // required
    public String destTable; // required
    public boolean flushTable; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SRC_NAME((short)1, "srcName"),
      DEST_TABLE((short)2, "destTable"),
      FLUSH_TABLE((short)3, "flushTable");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SRC_NAME
            return SRC_NAME;
          case 2: // DEST_TABLE
            return DEST_TABLE;
          case 3: // FLUSH_TABLE
            return FLUSH_TABLE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    private static final int __FLUSHTABLE_ISSET_ID = 0;
    private byte __isset_bitfield = 0;
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SRC_NAME, new libthrift091.meta_data.FieldMetaData("srcName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      tmpMap.put(_Fields.DEST_TABLE, new libthrift091.meta_data.FieldMetaData("destTable", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      tmpMap.put(_Fields.FLUSH_TABLE, new libthrift091.meta_data.FieldMetaData("flushTable", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.BOOL)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(cloneTable_args.class, metaDataMap);
    }

    public cloneTable_args() {
    }

    public cloneTable_args(
      String srcName,
      String destTable,
      boolean flushTable)
    {
      this();
      this.srcName = srcName;
      this.destTable = destTable;
      this.flushTable = flushTable;
      setFlushTableIsSet(true);
    }

    /**
     * Performs a deep copy on other.
     */
    public cloneTable_args(cloneTable_args other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetSrcName()) {
        this.srcName = other.srcName;
      }
      if (other.isSetDestTable()) {
        this.destTable = other.destTable;
      }
      this.flushTable = other.flushTable;
    }

    public cloneTable_args deepCopy() {
      return new cloneTable_args(this);
    }

    @Override
    public void clear() {
      this.srcName = null;
      this.destTable = null;
      setFlushTableIsSet(false);
      this.flushTable = false;
    }

    public String getSrcName() {
      return this.srcName;
    }

    public cloneTable_args setSrcName(String srcName) {
      this.srcName = srcName;
      return this;
    }

    public void unsetSrcName() {
      this.srcName = null;
    }

    /** Returns true if field srcName is set (has been assigned a value) and false otherwise */
    public boolean isSetSrcName() {
      return this.srcName != null;
    }

    public void setSrcNameIsSet(boolean value) {
      if (!value) {
        this.srcName = null;
      }
    }

    public String getDestTable() {
      return this.destTable;
    }

    public cloneTable_args setDestTable(String destTable) {
      this.destTable = destTable;
      return this;
    }

    public void unsetDestTable() {
      this.destTable = null;
    }

    /** Returns true if field destTable is set (has been assigned a value) and false otherwise */
    public boolean isSetDestTable() {
      return this.destTable != null;
    }

    public void setDestTableIsSet(boolean value) {
      if (!value) {
        this.destTable = null;
      }
    }

    public boolean isFlushTable() {
      return this.flushTable;
    }

    public cloneTable_args setFlushTable(boolean flushTable) {
      this.flushTable = flushTable;
      setFlushTableIsSet(true);
      return this;
    }

    public void unsetFlushTable() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __FLUSHTABLE_ISSET_ID);
    }

    /** Returns true if field flushTable is set (has been assigned a value) and false otherwise */
    public boolean isSetFlushTable() {
      return EncodingUtils.testBit(__isset_bitfield, __FLUSHTABLE_ISSET_ID);
    }

    public void setFlushTableIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __FLUSHTABLE_ISSET_ID, value);
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SRC_NAME:
        if (value == null) {
          unsetSrcName();
        } else {
          setSrcName((String)value);
        }
        break;

      case DEST_TABLE:
        if (value == null) {
          unsetDestTable();
        } else {
          setDestTable((String)value);
        }
        break;

      case FLUSH_TABLE:
        if (value == null) {
          unsetFlushTable();
        } else {
          setFlushTable((Boolean)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SRC_NAME:
        return getSrcName();

      case DEST_TABLE:
        return getDestTable();

      case FLUSH_TABLE:
        return Boolean.valueOf(isFlushTable());

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SRC_NAME:
        return isSetSrcName();
      case DEST_TABLE:
        return isSetDestTable();
      case FLUSH_TABLE:
        return isSetFlushTable();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof cloneTable_args)
        return this.equals((cloneTable_args)that);
      return false;
    }

    public boolean equals(cloneTable_args that) {
      if (that == null)
        return false;

      boolean this_present_srcName = true && this.isSetSrcName();
      boolean that_present_srcName = true && that.isSetSrcName();
      if (this_present_srcName || that_present_srcName) {
        if (!(this_present_srcName && that_present_srcName))
          return false;
        if (!this.srcName.equals(that.srcName))
          return false;
      }

      boolean this_present_destTable = true && this.isSetDestTable();
      boolean that_present_destTable = true && that.isSetDestTable();
      if (this_present_destTable || that_present_destTable) {
        if (!(this_present_destTable && that_present_destTable))
          return false;
        if (!this.destTable.equals(that.destTable))
          return false;
      }

      boolean this_present_flushTable = true;
      boolean that_present_flushTable = true;
      if (this_present_flushTable || that_present_flushTable) {
        if (!(this_present_flushTable && that_present_flushTable))
          return false;
        if (this.flushTable != that.flushTable)
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_srcName = true && (isSetSrcName());
      list.add(present_srcName);
      if (present_srcName)
        list.add(srcName);

      boolean present_destTable = true && (isSetDestTable());
      list.add(present_destTable);
      if (present_destTable)
        list.add(destTable);

      boolean present_flushTable = true;
      list.add(present_flushTable);
      if (present_flushTable)
        list.add(flushTable);

      return list.hashCode();
    }

    @Override
    public int compareTo(cloneTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSrcName()).compareTo(other.isSetSrcName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSrcName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.srcName, other.srcName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetDestTable()).compareTo(other.isSetDestTable());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetDestTable()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.destTable, other.destTable);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetFlushTable()).compareTo(other.isSetFlushTable());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetFlushTable()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.flushTable, other.flushTable);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("cloneTable_args(");
      boolean first = true;

      sb.append("srcName:");
      if (this.srcName == null) {
        sb.append("null");
      } else {
        sb.append(this.srcName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("destTable:");
      if (this.destTable == null) {
        sb.append("null");
      } else {
        sb.append(this.destTable);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("flushTable:");
      sb.append(this.flushTable);
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cloneTable_argsStandardSchemeFactory implements SchemeFactory {
      public cloneTable_argsStandardScheme getScheme() {
        return new cloneTable_argsStandardScheme();
      }
    }

    private static class cloneTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, cloneTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SRC_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.srcName = iprot.readString();
                struct.setSrcNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // DEST_TABLE
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.destTable = iprot.readString();
                struct.setDestTableIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // FLUSH_TABLE
              if (schemeField.type == libthrift091.protocol.TType.BOOL) {
                struct.flushTable = iprot.readBool();
                struct.setFlushTableIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, cloneTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.srcName != null) {
          oprot.writeFieldBegin(SRC_NAME_FIELD_DESC);
          oprot.writeString(struct.srcName);
          oprot.writeFieldEnd();
        }
        if (struct.destTable != null) {
          oprot.writeFieldBegin(DEST_TABLE_FIELD_DESC);
          oprot.writeString(struct.destTable);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldBegin(FLUSH_TABLE_FIELD_DESC);
        oprot.writeBool(struct.flushTable);
        oprot.writeFieldEnd();
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cloneTable_argsTupleSchemeFactory implements SchemeFactory {
      public cloneTable_argsTupleScheme getScheme() {
        return new cloneTable_argsTupleScheme();
      }
    }

    private static class cloneTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, cloneTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSrcName()) {
          optionals.set(0);
        }
        if (struct.isSetDestTable()) {
          optionals.set(1);
        }
        if (struct.isSetFlushTable()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetSrcName()) {
          oprot.writeString(struct.srcName);
        }
        if (struct.isSetDestTable()) {
          oprot.writeString(struct.destTable);
        }
        if (struct.isSetFlushTable()) {
          oprot.writeBool(struct.flushTable);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, cloneTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.srcName = iprot.readString();
          struct.setSrcNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.destTable = iprot.readString();
          struct.setDestTableIsSet(true);
        }
        if (incoming.get(2)) {
          struct.flushTable = iprot.readBool();
          struct.setFlushTableIsSet(true);
        }
      }
    }

  }

  public static class cloneTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("cloneTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new cloneTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new cloneTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(cloneTable_result.class, metaDataMap);
    }

    public cloneTable_result() {
    }

    public cloneTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public cloneTable_result(cloneTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public cloneTable_result deepCopy() {
      return new cloneTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public cloneTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof cloneTable_result)
        return this.equals((cloneTable_result)that);
      return false;
    }

    public boolean equals(cloneTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(cloneTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("cloneTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class cloneTable_resultStandardSchemeFactory implements SchemeFactory {
      public cloneTable_resultStandardScheme getScheme() {
        return new cloneTable_resultStandardScheme();
      }
    }

    private static class cloneTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, cloneTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, cloneTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class cloneTable_resultTupleSchemeFactory implements SchemeFactory {
      public cloneTable_resultTupleScheme getScheme() {
        return new cloneTable_resultTupleScheme();
      }
    }

    private static class cloneTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, cloneTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, cloneTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class disableTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("disableTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new disableTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new disableTable_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(disableTable_args.class, metaDataMap);
    }

    public disableTable_args() {
    }

    public disableTable_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public disableTable_args(disableTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public disableTable_args deepCopy() {
      return new disableTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public disableTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof disableTable_args)
        return this.equals((disableTable_args)that);
      return false;
    }

    public boolean equals(disableTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(disableTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("disableTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class disableTable_argsStandardSchemeFactory implements SchemeFactory {
      public disableTable_argsStandardScheme getScheme() {
        return new disableTable_argsStandardScheme();
      }
    }

    private static class disableTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, disableTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, disableTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class disableTable_argsTupleSchemeFactory implements SchemeFactory {
      public disableTable_argsTupleScheme getScheme() {
        return new disableTable_argsTupleScheme();
      }
    }

    private static class disableTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, disableTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, disableTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class disableTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("disableTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new disableTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new disableTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(disableTable_result.class, metaDataMap);
    }

    public disableTable_result() {
    }

    public disableTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public disableTable_result(disableTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public disableTable_result deepCopy() {
      return new disableTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public disableTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof disableTable_result)
        return this.equals((disableTable_result)that);
      return false;
    }

    public boolean equals(disableTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(disableTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("disableTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class disableTable_resultStandardSchemeFactory implements SchemeFactory {
      public disableTable_resultStandardScheme getScheme() {
        return new disableTable_resultStandardScheme();
      }
    }

    private static class disableTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, disableTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, disableTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class disableTable_resultTupleSchemeFactory implements SchemeFactory {
      public disableTable_resultTupleScheme getScheme() {
        return new disableTable_resultTupleScheme();
      }
    }

    private static class disableTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, disableTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, disableTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class enableTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("enableTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new enableTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new enableTable_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(enableTable_args.class, metaDataMap);
    }

    public enableTable_args() {
    }

    public enableTable_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public enableTable_args(enableTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public enableTable_args deepCopy() {
      return new enableTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public enableTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof enableTable_args)
        return this.equals((enableTable_args)that);
      return false;
    }

    public boolean equals(enableTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(enableTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("enableTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class enableTable_argsStandardSchemeFactory implements SchemeFactory {
      public enableTable_argsStandardScheme getScheme() {
        return new enableTable_argsStandardScheme();
      }
    }

    private static class enableTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, enableTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, enableTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class enableTable_argsTupleSchemeFactory implements SchemeFactory {
      public enableTable_argsTupleScheme getScheme() {
        return new enableTable_argsTupleScheme();
      }
    }

    private static class enableTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, enableTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, enableTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class enableTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("enableTable_result");

    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new enableTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new enableTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(enableTable_result.class, metaDataMap);
    }

    public enableTable_result() {
    }

    public enableTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public enableTable_result(enableTable_result other) {
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public enableTable_result deepCopy() {
      return new enableTable_result(this);
    }

    @Override
    public void clear() {
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public enableTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof enableTable_result)
        return this.equals((enableTable_result)that);
      return false;
    }

    public boolean equals(enableTable_result that) {
      if (that == null)
        return false;

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(enableTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("enableTable_result(");
      boolean first = true;

      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class enableTable_resultStandardSchemeFactory implements SchemeFactory {
      public enableTable_resultStandardScheme getScheme() {
        return new enableTable_resultStandardScheme();
      }
    }

    private static class enableTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, enableTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, enableTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class enableTable_resultTupleSchemeFactory implements SchemeFactory {
      public enableTable_resultTupleScheme getScheme() {
        return new enableTable_resultTupleScheme();
      }
    }

    private static class enableTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, enableTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSe()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, enableTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class describeTable_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("describeTable_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new describeTable_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new describeTable_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(describeTable_args.class, metaDataMap);
    }

    public describeTable_args() {
    }

    public describeTable_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public describeTable_args(describeTable_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public describeTable_args deepCopy() {
      return new describeTable_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public describeTable_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof describeTable_args)
        return this.equals((describeTable_args)that);
      return false;
    }

    public boolean equals(describeTable_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(describeTable_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("describeTable_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class describeTable_argsStandardSchemeFactory implements SchemeFactory {
      public describeTable_argsStandardScheme getScheme() {
        return new describeTable_argsStandardScheme();
      }
    }

    private static class describeTable_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, describeTable_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, describeTable_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class describeTable_argsTupleSchemeFactory implements SchemeFactory {
      public describeTable_argsTupleScheme getScheme() {
        return new describeTable_argsTupleScheme();
      }
    }

    private static class describeTable_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, describeTable_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, describeTable_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class describeTable_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("describeTable_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.STRUCT, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new describeTable_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new describeTable_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableSpec.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(describeTable_result.class, metaDataMap);
    }

    public describeTable_result() {
    }

    public describeTable_result(
      com.xiaomi.infra.galaxy.sds.thrift.TableSpec success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public describeTable_result(describeTable_result other) {
      if (other.isSetSuccess()) {
        this.success = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec(other.success);
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public describeTable_result deepCopy() {
      return new describeTable_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableSpec getSuccess() {
      return this.success;
    }

    public describeTable_result setSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableSpec success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public describeTable_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((com.xiaomi.infra.galaxy.sds.thrift.TableSpec)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof describeTable_result)
        return this.equals((describeTable_result)that);
      return false;
    }

    public boolean equals(describeTable_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(describeTable_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("describeTable_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class describeTable_resultStandardSchemeFactory implements SchemeFactory {
      public describeTable_resultStandardScheme getScheme() {
        return new describeTable_resultStandardScheme();
      }
    }

    private static class describeTable_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, describeTable_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, describeTable_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class describeTable_resultTupleSchemeFactory implements SchemeFactory {
      public describeTable_resultTupleScheme getScheme() {
        return new describeTable_resultTupleScheme();
      }
    }

    private static class describeTable_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, describeTable_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, describeTable_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableSpec();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class getTableStatus_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableStatus_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableStatus_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableStatus_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableStatus_args.class, metaDataMap);
    }

    public getTableStatus_args() {
    }

    public getTableStatus_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableStatus_args(getTableStatus_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public getTableStatus_args deepCopy() {
      return new getTableStatus_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public getTableStatus_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableStatus_args)
        return this.equals((getTableStatus_args)that);
      return false;
    }

    public boolean equals(getTableStatus_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableStatus_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableStatus_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableStatus_argsStandardSchemeFactory implements SchemeFactory {
      public getTableStatus_argsStandardScheme getScheme() {
        return new getTableStatus_argsStandardScheme();
      }
    }

    private static class getTableStatus_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableStatus_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableStatus_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableStatus_argsTupleSchemeFactory implements SchemeFactory {
      public getTableStatus_argsTupleScheme getScheme() {
        return new getTableStatus_argsTupleScheme();
      }
    }

    private static class getTableStatus_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableStatus_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableStatus_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class getTableStatus_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableStatus_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.STRUCT, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableStatus_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableStatus_resultTupleSchemeFactory());
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableStatus success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableStatus.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableStatus_result.class, metaDataMap);
    }

    public getTableStatus_result() {
    }

    public getTableStatus_result(
      com.xiaomi.infra.galaxy.sds.thrift.TableStatus success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableStatus_result(getTableStatus_result other) {
      if (other.isSetSuccess()) {
        this.success = new com.xiaomi.infra.galaxy.sds.thrift.TableStatus(other.success);
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public getTableStatus_result deepCopy() {
      return new getTableStatus_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public com.xiaomi.infra.galaxy.sds.thrift.TableStatus getSuccess() {
      return this.success;
    }

    public getTableStatus_result setSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableStatus success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public getTableStatus_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((com.xiaomi.infra.galaxy.sds.thrift.TableStatus)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableStatus_result)
        return this.equals((getTableStatus_result)that);
      return false;
    }

    public boolean equals(getTableStatus_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableStatus_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableStatus_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableStatus_resultStandardSchemeFactory implements SchemeFactory {
      public getTableStatus_resultStandardScheme getScheme() {
        return new getTableStatus_resultStandardScheme();
      }
    }

    private static class getTableStatus_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableStatus_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableStatus();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableStatus_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableStatus_resultTupleSchemeFactory implements SchemeFactory {
      public getTableStatus_resultTupleScheme getScheme() {
        return new getTableStatus_resultTupleScheme();
      }
    }

    private static class getTableStatus_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableStatus_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableStatus_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new com.xiaomi.infra.galaxy.sds.thrift.TableStatus();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class getTableState_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableState_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableState_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableState_argsTupleSchemeFactory());
    }

    public String tableName; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableState_args.class, metaDataMap);
    }

    public getTableState_args() {
    }

    public getTableState_args(
      String tableName)
    {
      this();
      this.tableName = tableName;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableState_args(getTableState_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
    }

    public getTableState_args deepCopy() {
      return new getTableState_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public getTableState_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableState_args)
        return this.equals((getTableState_args)that);
      return false;
    }

    public boolean equals(getTableState_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableState_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableState_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableState_argsStandardSchemeFactory implements SchemeFactory {
      public getTableState_argsStandardScheme getScheme() {
        return new getTableState_argsStandardScheme();
      }
    }

    private static class getTableState_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableState_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableState_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableState_argsTupleSchemeFactory implements SchemeFactory {
      public getTableState_argsTupleScheme getScheme() {
        return new getTableState_argsTupleScheme();
      }
    }

    private static class getTableState_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableState_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableState_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
      }
    }

  }

  public static class getTableState_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableState_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.I32, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableState_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableState_resultTupleSchemeFactory());
    }

    /**
     * 
     * @see com.xiaomi.infra.galaxy.sds.thrift.TableState
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableState success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      /**
       * 
       * @see com.xiaomi.infra.galaxy.sds.thrift.TableState
       */
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.EnumMetaData(libthrift091.protocol.TType.ENUM, com.xiaomi.infra.galaxy.sds.thrift.TableState.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableState_result.class, metaDataMap);
    }

    public getTableState_result() {
    }

    public getTableState_result(
      com.xiaomi.infra.galaxy.sds.thrift.TableState success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableState_result(getTableState_result other) {
      if (other.isSetSuccess()) {
        this.success = other.success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public getTableState_result deepCopy() {
      return new getTableState_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    /**
     * 
     * @see com.xiaomi.infra.galaxy.sds.thrift.TableState
     */
    public com.xiaomi.infra.galaxy.sds.thrift.TableState getSuccess() {
      return this.success;
    }

    /**
     * 
     * @see com.xiaomi.infra.galaxy.sds.thrift.TableState
     */
    public getTableState_result setSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableState success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public getTableState_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((com.xiaomi.infra.galaxy.sds.thrift.TableState)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableState_result)
        return this.equals((getTableState_result)that);
      return false;
    }

    public boolean equals(getTableState_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success.getValue());

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableState_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableState_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableState_resultStandardSchemeFactory implements SchemeFactory {
      public getTableState_resultStandardScheme getScheme() {
        return new getTableState_resultStandardScheme();
      }
    }

    private static class getTableState_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableState_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.I32) {
                struct.success = com.xiaomi.infra.galaxy.sds.thrift.TableState.findByValue(iprot.readI32());
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableState_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          oprot.writeI32(struct.success.getValue());
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableState_resultTupleSchemeFactory implements SchemeFactory {
      public getTableState_resultTupleScheme getScheme() {
        return new getTableState_resultTupleScheme();
      }
    }

    private static class getTableState_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableState_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          oprot.writeI32(struct.success.getValue());
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableState_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = com.xiaomi.infra.galaxy.sds.thrift.TableState.findByValue(iprot.readI32());
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class getTableSplits_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableSplits_args");

    private static final libthrift091.protocol.TField TABLE_NAME_FIELD_DESC = new libthrift091.protocol.TField("tableName", libthrift091.protocol.TType.STRING, (short)1);
    private static final libthrift091.protocol.TField START_KEY_FIELD_DESC = new libthrift091.protocol.TField("startKey", libthrift091.protocol.TType.MAP, (short)2);
    private static final libthrift091.protocol.TField STOP_KEY_FIELD_DESC = new libthrift091.protocol.TField("stopKey", libthrift091.protocol.TType.MAP, (short)3);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableSplits_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableSplits_argsTupleSchemeFactory());
    }

    public String tableName; // required
    public Map startKey; // required
    public Map stopKey; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      TABLE_NAME((short)1, "tableName"),
      START_KEY((short)2, "startKey"),
      STOP_KEY((short)3, "stopKey");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // TABLE_NAME
            return TABLE_NAME;
          case 2: // START_KEY
            return START_KEY;
          case 3: // STOP_KEY
            return STOP_KEY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.TABLE_NAME, new libthrift091.meta_data.FieldMetaData("tableName", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRING)));
      tmpMap.put(_Fields.START_KEY, new libthrift091.meta_data.FieldMetaData("startKey", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.MAP          , "Dictionary")));
      tmpMap.put(_Fields.STOP_KEY, new libthrift091.meta_data.FieldMetaData("stopKey", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.MAP          , "Dictionary")));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableSplits_args.class, metaDataMap);
    }

    public getTableSplits_args() {
    }

    public getTableSplits_args(
      String tableName,
      Map startKey,
      Map stopKey)
    {
      this();
      this.tableName = tableName;
      this.startKey = startKey;
      this.stopKey = stopKey;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableSplits_args(getTableSplits_args other) {
      if (other.isSetTableName()) {
        this.tableName = other.tableName;
      }
      if (other.isSetStartKey()) {
        this.startKey = other.startKey;
      }
      if (other.isSetStopKey()) {
        this.stopKey = other.stopKey;
      }
    }

    public getTableSplits_args deepCopy() {
      return new getTableSplits_args(this);
    }

    @Override
    public void clear() {
      this.tableName = null;
      this.startKey = null;
      this.stopKey = null;
    }

    public String getTableName() {
      return this.tableName;
    }

    public getTableSplits_args setTableName(String tableName) {
      this.tableName = tableName;
      return this;
    }

    public void unsetTableName() {
      this.tableName = null;
    }

    /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
    public boolean isSetTableName() {
      return this.tableName != null;
    }

    public void setTableNameIsSet(boolean value) {
      if (!value) {
        this.tableName = null;
      }
    }

    public int getStartKeySize() {
      return (this.startKey == null) ? 0 : this.startKey.size();
    }

    public void putToStartKey(String key, com.xiaomi.infra.galaxy.sds.thrift.Datum val) {
      if (this.startKey == null) {
        this.startKey = new HashMap();
      }
      this.startKey.put(key, val);
    }

    public Map getStartKey() {
      return this.startKey;
    }

    public getTableSplits_args setStartKey(Map startKey) {
      this.startKey = startKey;
      return this;
    }

    public void unsetStartKey() {
      this.startKey = null;
    }

    /** Returns true if field startKey is set (has been assigned a value) and false otherwise */
    public boolean isSetStartKey() {
      return this.startKey != null;
    }

    public void setStartKeyIsSet(boolean value) {
      if (!value) {
        this.startKey = null;
      }
    }

    public int getStopKeySize() {
      return (this.stopKey == null) ? 0 : this.stopKey.size();
    }

    public void putToStopKey(String key, com.xiaomi.infra.galaxy.sds.thrift.Datum val) {
      if (this.stopKey == null) {
        this.stopKey = new HashMap();
      }
      this.stopKey.put(key, val);
    }

    public Map getStopKey() {
      return this.stopKey;
    }

    public getTableSplits_args setStopKey(Map stopKey) {
      this.stopKey = stopKey;
      return this;
    }

    public void unsetStopKey() {
      this.stopKey = null;
    }

    /** Returns true if field stopKey is set (has been assigned a value) and false otherwise */
    public boolean isSetStopKey() {
      return this.stopKey != null;
    }

    public void setStopKeyIsSet(boolean value) {
      if (!value) {
        this.stopKey = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case TABLE_NAME:
        if (value == null) {
          unsetTableName();
        } else {
          setTableName((String)value);
        }
        break;

      case START_KEY:
        if (value == null) {
          unsetStartKey();
        } else {
          setStartKey((Map)value);
        }
        break;

      case STOP_KEY:
        if (value == null) {
          unsetStopKey();
        } else {
          setStopKey((Map)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case TABLE_NAME:
        return getTableName();

      case START_KEY:
        return getStartKey();

      case STOP_KEY:
        return getStopKey();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case TABLE_NAME:
        return isSetTableName();
      case START_KEY:
        return isSetStartKey();
      case STOP_KEY:
        return isSetStopKey();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableSplits_args)
        return this.equals((getTableSplits_args)that);
      return false;
    }

    public boolean equals(getTableSplits_args that) {
      if (that == null)
        return false;

      boolean this_present_tableName = true && this.isSetTableName();
      boolean that_present_tableName = true && that.isSetTableName();
      if (this_present_tableName || that_present_tableName) {
        if (!(this_present_tableName && that_present_tableName))
          return false;
        if (!this.tableName.equals(that.tableName))
          return false;
      }

      boolean this_present_startKey = true && this.isSetStartKey();
      boolean that_present_startKey = true && that.isSetStartKey();
      if (this_present_startKey || that_present_startKey) {
        if (!(this_present_startKey && that_present_startKey))
          return false;
        if (!this.startKey.equals(that.startKey))
          return false;
      }

      boolean this_present_stopKey = true && this.isSetStopKey();
      boolean that_present_stopKey = true && that.isSetStopKey();
      if (this_present_stopKey || that_present_stopKey) {
        if (!(this_present_stopKey && that_present_stopKey))
          return false;
        if (!this.stopKey.equals(that.stopKey))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_tableName = true && (isSetTableName());
      list.add(present_tableName);
      if (present_tableName)
        list.add(tableName);

      boolean present_startKey = true && (isSetStartKey());
      list.add(present_startKey);
      if (present_startKey)
        list.add(startKey);

      boolean present_stopKey = true && (isSetStopKey());
      list.add(present_stopKey);
      if (present_stopKey)
        list.add(stopKey);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableSplits_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetTableName()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.tableName, other.tableName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStartKey()).compareTo(other.isSetStartKey());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStartKey()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.startKey, other.startKey);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetStopKey()).compareTo(other.isSetStopKey());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetStopKey()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.stopKey, other.stopKey);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableSplits_args(");
      boolean first = true;

      sb.append("tableName:");
      if (this.tableName == null) {
        sb.append("null");
      } else {
        sb.append(this.tableName);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("startKey:");
      if (this.startKey == null) {
        sb.append("null");
      } else {
        sb.append(this.startKey);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("stopKey:");
      if (this.stopKey == null) {
        sb.append("null");
      } else {
        sb.append(this.stopKey);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableSplits_argsStandardSchemeFactory implements SchemeFactory {
      public getTableSplits_argsStandardScheme getScheme() {
        return new getTableSplits_argsStandardScheme();
      }
    }

    private static class getTableSplits_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableSplits_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // TABLE_NAME
              if (schemeField.type == libthrift091.protocol.TType.STRING) {
                struct.tableName = iprot.readString();
                struct.setTableNameIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // START_KEY
              if (schemeField.type == libthrift091.protocol.TType.MAP) {
                {
                  libthrift091.protocol.TMap _map54 = iprot.readMapBegin();
                  struct.startKey = new HashMap(2*_map54.size);
                  String _key55;
                  com.xiaomi.infra.galaxy.sds.thrift.Datum _val56;
                  for (int _i57 = 0; _i57 < _map54.size; ++_i57)
                  {
                    _key55 = iprot.readString();
                    _val56 = new com.xiaomi.infra.galaxy.sds.thrift.Datum();
                    _val56.read(iprot);
                    struct.startKey.put(_key55, _val56);
                  }
                  iprot.readMapEnd();
                }
                struct.setStartKeyIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // STOP_KEY
              if (schemeField.type == libthrift091.protocol.TType.MAP) {
                {
                  libthrift091.protocol.TMap _map58 = iprot.readMapBegin();
                  struct.stopKey = new HashMap(2*_map58.size);
                  String _key59;
                  com.xiaomi.infra.galaxy.sds.thrift.Datum _val60;
                  for (int _i61 = 0; _i61 < _map58.size; ++_i61)
                  {
                    _key59 = iprot.readString();
                    _val60 = new com.xiaomi.infra.galaxy.sds.thrift.Datum();
                    _val60.read(iprot);
                    struct.stopKey.put(_key59, _val60);
                  }
                  iprot.readMapEnd();
                }
                struct.setStopKeyIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableSplits_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.tableName != null) {
          oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
          oprot.writeString(struct.tableName);
          oprot.writeFieldEnd();
        }
        if (struct.startKey != null) {
          oprot.writeFieldBegin(START_KEY_FIELD_DESC);
          {
            oprot.writeMapBegin(new libthrift091.protocol.TMap(libthrift091.protocol.TType.STRING, libthrift091.protocol.TType.STRUCT, struct.startKey.size()));
            for (Map.Entry _iter62 : struct.startKey.entrySet())
            {
              oprot.writeString(_iter62.getKey());
              _iter62.getValue().write(oprot);
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.stopKey != null) {
          oprot.writeFieldBegin(STOP_KEY_FIELD_DESC);
          {
            oprot.writeMapBegin(new libthrift091.protocol.TMap(libthrift091.protocol.TType.STRING, libthrift091.protocol.TType.STRUCT, struct.stopKey.size()));
            for (Map.Entry _iter63 : struct.stopKey.entrySet())
            {
              oprot.writeString(_iter63.getKey());
              _iter63.getValue().write(oprot);
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableSplits_argsTupleSchemeFactory implements SchemeFactory {
      public getTableSplits_argsTupleScheme getScheme() {
        return new getTableSplits_argsTupleScheme();
      }
    }

    private static class getTableSplits_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableSplits_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetTableName()) {
          optionals.set(0);
        }
        if (struct.isSetStartKey()) {
          optionals.set(1);
        }
        if (struct.isSetStopKey()) {
          optionals.set(2);
        }
        oprot.writeBitSet(optionals, 3);
        if (struct.isSetTableName()) {
          oprot.writeString(struct.tableName);
        }
        if (struct.isSetStartKey()) {
          {
            oprot.writeI32(struct.startKey.size());
            for (Map.Entry _iter64 : struct.startKey.entrySet())
            {
              oprot.writeString(_iter64.getKey());
              _iter64.getValue().write(oprot);
            }
          }
        }
        if (struct.isSetStopKey()) {
          {
            oprot.writeI32(struct.stopKey.size());
            for (Map.Entry _iter65 : struct.stopKey.entrySet())
            {
              oprot.writeString(_iter65.getKey());
              _iter65.getValue().write(oprot);
            }
          }
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableSplits_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(3);
        if (incoming.get(0)) {
          struct.tableName = iprot.readString();
          struct.setTableNameIsSet(true);
        }
        if (incoming.get(1)) {
          {
            libthrift091.protocol.TMap _map66 = new libthrift091.protocol.TMap(libthrift091.protocol.TType.STRING, libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.startKey = new HashMap(2*_map66.size);
            String _key67;
            com.xiaomi.infra.galaxy.sds.thrift.Datum _val68;
            for (int _i69 = 0; _i69 < _map66.size; ++_i69)
            {
              _key67 = iprot.readString();
              _val68 = new com.xiaomi.infra.galaxy.sds.thrift.Datum();
              _val68.read(iprot);
              struct.startKey.put(_key67, _val68);
            }
          }
          struct.setStartKeyIsSet(true);
        }
        if (incoming.get(2)) {
          {
            libthrift091.protocol.TMap _map70 = new libthrift091.protocol.TMap(libthrift091.protocol.TType.STRING, libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.stopKey = new HashMap(2*_map70.size);
            String _key71;
            com.xiaomi.infra.galaxy.sds.thrift.Datum _val72;
            for (int _i73 = 0; _i73 < _map70.size; ++_i73)
            {
              _key71 = iprot.readString();
              _val72 = new com.xiaomi.infra.galaxy.sds.thrift.Datum();
              _val72.read(iprot);
              struct.stopKey.put(_key71, _val72);
            }
          }
          struct.setStopKeyIsSet(true);
        }
      }
    }

  }

  public static class getTableSplits_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("getTableSplits_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new getTableSplits_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new getTableSplits_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, com.xiaomi.infra.galaxy.sds.thrift.TableSplit.class))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(getTableSplits_result.class, metaDataMap);
    }

    public getTableSplits_result() {
    }

    public getTableSplits_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public getTableSplits_result(getTableSplits_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success.size());
        for (com.xiaomi.infra.galaxy.sds.thrift.TableSplit other_element : other.success) {
          __this__success.add(new com.xiaomi.infra.galaxy.sds.thrift.TableSplit(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public getTableSplits_result deepCopy() {
      return new getTableSplits_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(com.xiaomi.infra.galaxy.sds.thrift.TableSplit elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public getTableSplits_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public getTableSplits_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof getTableSplits_result)
        return this.equals((getTableSplits_result)that);
      return false;
    }

    public boolean equals(getTableSplits_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(getTableSplits_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("getTableSplits_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class getTableSplits_resultStandardSchemeFactory implements SchemeFactory {
      public getTableSplits_resultStandardScheme getScheme() {
        return new getTableSplits_resultStandardScheme();
      }
    }

    private static class getTableSplits_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, getTableSplits_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list74 = iprot.readListBegin();
                  struct.success = new ArrayList(_list74.size);
                  com.xiaomi.infra.galaxy.sds.thrift.TableSplit _elem75;
                  for (int _i76 = 0; _i76 < _list74.size; ++_i76)
                  {
                    _elem75 = new com.xiaomi.infra.galaxy.sds.thrift.TableSplit();
                    _elem75.read(iprot);
                    struct.success.add(_elem75);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, getTableSplits_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.success.size()));
            for (com.xiaomi.infra.galaxy.sds.thrift.TableSplit _iter77 : struct.success)
            {
              _iter77.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class getTableSplits_resultTupleSchemeFactory implements SchemeFactory {
      public getTableSplits_resultTupleScheme getScheme() {
        return new getTableSplits_resultTupleScheme();
      }
    }

    private static class getTableSplits_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, getTableSplits_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (com.xiaomi.infra.galaxy.sds.thrift.TableSplit _iter78 : struct.success)
            {
              _iter78.write(oprot);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, getTableSplits_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list79 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.success = new ArrayList(_list79.size);
            com.xiaomi.infra.galaxy.sds.thrift.TableSplit _elem80;
            for (int _i81 = 0; _i81 < _list79.size; ++_i81)
            {
              _elem80 = new com.xiaomi.infra.galaxy.sds.thrift.TableSplit();
              _elem80.read(iprot);
              struct.success.add(_elem80);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class queryMetric_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("queryMetric_args");

    private static final libthrift091.protocol.TField QUERY_FIELD_DESC = new libthrift091.protocol.TField("query", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new queryMetric_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new queryMetric_argsTupleSchemeFactory());
    }

    public MetricQueryRequest query; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      QUERY((short)1, "query");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // QUERY
            return QUERY;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.QUERY, new libthrift091.meta_data.FieldMetaData("query", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, MetricQueryRequest.class)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(queryMetric_args.class, metaDataMap);
    }

    public queryMetric_args() {
    }

    public queryMetric_args(
      MetricQueryRequest query)
    {
      this();
      this.query = query;
    }

    /**
     * Performs a deep copy on other.
     */
    public queryMetric_args(queryMetric_args other) {
      if (other.isSetQuery()) {
        this.query = new MetricQueryRequest(other.query);
      }
    }

    public queryMetric_args deepCopy() {
      return new queryMetric_args(this);
    }

    @Override
    public void clear() {
      this.query = null;
    }

    public MetricQueryRequest getQuery() {
      return this.query;
    }

    public queryMetric_args setQuery(MetricQueryRequest query) {
      this.query = query;
      return this;
    }

    public void unsetQuery() {
      this.query = null;
    }

    /** Returns true if field query is set (has been assigned a value) and false otherwise */
    public boolean isSetQuery() {
      return this.query != null;
    }

    public void setQueryIsSet(boolean value) {
      if (!value) {
        this.query = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case QUERY:
        if (value == null) {
          unsetQuery();
        } else {
          setQuery((MetricQueryRequest)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case QUERY:
        return getQuery();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case QUERY:
        return isSetQuery();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof queryMetric_args)
        return this.equals((queryMetric_args)that);
      return false;
    }

    public boolean equals(queryMetric_args that) {
      if (that == null)
        return false;

      boolean this_present_query = true && this.isSetQuery();
      boolean that_present_query = true && that.isSetQuery();
      if (this_present_query || that_present_query) {
        if (!(this_present_query && that_present_query))
          return false;
        if (!this.query.equals(that.query))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_query = true && (isSetQuery());
      list.add(present_query);
      if (present_query)
        list.add(query);

      return list.hashCode();
    }

    @Override
    public int compareTo(queryMetric_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetQuery()).compareTo(other.isSetQuery());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQuery()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.query, other.query);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("queryMetric_args(");
      boolean first = true;

      sb.append("query:");
      if (this.query == null) {
        sb.append("null");
      } else {
        sb.append(this.query);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (query != null) {
        query.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class queryMetric_argsStandardSchemeFactory implements SchemeFactory {
      public queryMetric_argsStandardScheme getScheme() {
        return new queryMetric_argsStandardScheme();
      }
    }

    private static class queryMetric_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, queryMetric_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // QUERY
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.query = new MetricQueryRequest();
                struct.query.read(iprot);
                struct.setQueryIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, queryMetric_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.query != null) {
          oprot.writeFieldBegin(QUERY_FIELD_DESC);
          struct.query.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class queryMetric_argsTupleSchemeFactory implements SchemeFactory {
      public queryMetric_argsTupleScheme getScheme() {
        return new queryMetric_argsTupleScheme();
      }
    }

    private static class queryMetric_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, queryMetric_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetQuery()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetQuery()) {
          struct.query.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, queryMetric_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          struct.query = new MetricQueryRequest();
          struct.query.read(iprot);
          struct.setQueryIsSet(true);
        }
      }
    }

  }

  public static class queryMetric_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("queryMetric_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.STRUCT, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new queryMetric_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new queryMetric_resultTupleSchemeFactory());
    }

    public TimeSeriesData success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, TimeSeriesData.class)));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(queryMetric_result.class, metaDataMap);
    }

    public queryMetric_result() {
    }

    public queryMetric_result(
      TimeSeriesData success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public queryMetric_result(queryMetric_result other) {
      if (other.isSetSuccess()) {
        this.success = new TimeSeriesData(other.success);
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public queryMetric_result deepCopy() {
      return new queryMetric_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public TimeSeriesData getSuccess() {
      return this.success;
    }

    public queryMetric_result setSuccess(TimeSeriesData success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public queryMetric_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((TimeSeriesData)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof queryMetric_result)
        return this.equals((queryMetric_result)that);
      return false;
    }

    public boolean equals(queryMetric_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(queryMetric_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("queryMetric_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
      if (success != null) {
        success.validate();
      }
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class queryMetric_resultStandardSchemeFactory implements SchemeFactory {
      public queryMetric_resultStandardScheme getScheme() {
        return new queryMetric_resultStandardScheme();
      }
    }

    private static class queryMetric_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, queryMetric_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.success = new TimeSeriesData();
                struct.success.read(iprot);
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, queryMetric_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          struct.success.write(oprot);
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class queryMetric_resultTupleSchemeFactory implements SchemeFactory {
      public queryMetric_resultTupleScheme getScheme() {
        return new queryMetric_resultTupleScheme();
      }
    }

    private static class queryMetric_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, queryMetric_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          struct.success.write(oprot);
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, queryMetric_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          struct.success = new TimeSeriesData();
          struct.success.read(iprot);
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class queryMetrics_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("queryMetrics_args");

    private static final libthrift091.protocol.TField QUERIES_FIELD_DESC = new libthrift091.protocol.TField("queries", libthrift091.protocol.TType.LIST, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new queryMetrics_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new queryMetrics_argsTupleSchemeFactory());
    }

    public List queries; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      QUERIES((short)1, "queries");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 1: // QUERIES
            return QUERIES;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.QUERIES, new libthrift091.meta_data.FieldMetaData("queries", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, MetricQueryRequest.class))));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(queryMetrics_args.class, metaDataMap);
    }

    public queryMetrics_args() {
    }

    public queryMetrics_args(
      List queries)
    {
      this();
      this.queries = queries;
    }

    /**
     * Performs a deep copy on other.
     */
    public queryMetrics_args(queryMetrics_args other) {
      if (other.isSetQueries()) {
        List __this__queries = new ArrayList(other.queries.size());
        for (MetricQueryRequest other_element : other.queries) {
          __this__queries.add(new MetricQueryRequest(other_element));
        }
        this.queries = __this__queries;
      }
    }

    public queryMetrics_args deepCopy() {
      return new queryMetrics_args(this);
    }

    @Override
    public void clear() {
      this.queries = null;
    }

    public int getQueriesSize() {
      return (this.queries == null) ? 0 : this.queries.size();
    }

    public java.util.Iterator getQueriesIterator() {
      return (this.queries == null) ? null : this.queries.iterator();
    }

    public void addToQueries(MetricQueryRequest elem) {
      if (this.queries == null) {
        this.queries = new ArrayList();
      }
      this.queries.add(elem);
    }

    public List getQueries() {
      return this.queries;
    }

    public queryMetrics_args setQueries(List queries) {
      this.queries = queries;
      return this;
    }

    public void unsetQueries() {
      this.queries = null;
    }

    /** Returns true if field queries is set (has been assigned a value) and false otherwise */
    public boolean isSetQueries() {
      return this.queries != null;
    }

    public void setQueriesIsSet(boolean value) {
      if (!value) {
        this.queries = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case QUERIES:
        if (value == null) {
          unsetQueries();
        } else {
          setQueries((List)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case QUERIES:
        return getQueries();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case QUERIES:
        return isSetQueries();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof queryMetrics_args)
        return this.equals((queryMetrics_args)that);
      return false;
    }

    public boolean equals(queryMetrics_args that) {
      if (that == null)
        return false;

      boolean this_present_queries = true && this.isSetQueries();
      boolean that_present_queries = true && that.isSetQueries();
      if (this_present_queries || that_present_queries) {
        if (!(this_present_queries && that_present_queries))
          return false;
        if (!this.queries.equals(that.queries))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_queries = true && (isSetQueries());
      list.add(present_queries);
      if (present_queries)
        list.add(queries);

      return list.hashCode();
    }

    @Override
    public int compareTo(queryMetrics_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetQueries()).compareTo(other.isSetQueries());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetQueries()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.queries, other.queries);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("queryMetrics_args(");
      boolean first = true;

      sb.append("queries:");
      if (this.queries == null) {
        sb.append("null");
      } else {
        sb.append(this.queries);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class queryMetrics_argsStandardSchemeFactory implements SchemeFactory {
      public queryMetrics_argsStandardScheme getScheme() {
        return new queryMetrics_argsStandardScheme();
      }
    }

    private static class queryMetrics_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, queryMetrics_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // QUERIES
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list82 = iprot.readListBegin();
                  struct.queries = new ArrayList(_list82.size);
                  MetricQueryRequest _elem83;
                  for (int _i84 = 0; _i84 < _list82.size; ++_i84)
                  {
                    _elem83 = new MetricQueryRequest();
                    _elem83.read(iprot);
                    struct.queries.add(_elem83);
                  }
                  iprot.readListEnd();
                }
                struct.setQueriesIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, queryMetrics_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.queries != null) {
          oprot.writeFieldBegin(QUERIES_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.queries.size()));
            for (MetricQueryRequest _iter85 : struct.queries)
            {
              _iter85.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class queryMetrics_argsTupleSchemeFactory implements SchemeFactory {
      public queryMetrics_argsTupleScheme getScheme() {
        return new queryMetrics_argsTupleScheme();
      }
    }

    private static class queryMetrics_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, queryMetrics_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetQueries()) {
          optionals.set(0);
        }
        oprot.writeBitSet(optionals, 1);
        if (struct.isSetQueries()) {
          {
            oprot.writeI32(struct.queries.size());
            for (MetricQueryRequest _iter86 : struct.queries)
            {
              _iter86.write(oprot);
            }
          }
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, queryMetrics_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(1);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list87 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.queries = new ArrayList(_list87.size);
            MetricQueryRequest _elem88;
            for (int _i89 = 0; _i89 < _list87.size; ++_i89)
            {
              _elem88 = new MetricQueryRequest();
              _elem88.read(iprot);
              struct.queries.add(_elem88);
            }
          }
          struct.setQueriesIsSet(true);
        }
      }
    }

  }

  public static class queryMetrics_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("queryMetrics_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new queryMetrics_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new queryMetrics_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, TimeSeriesData.class))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(queryMetrics_result.class, metaDataMap);
    }

    public queryMetrics_result() {
    }

    public queryMetrics_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public queryMetrics_result(queryMetrics_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success.size());
        for (TimeSeriesData other_element : other.success) {
          __this__success.add(new TimeSeriesData(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public queryMetrics_result deepCopy() {
      return new queryMetrics_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(TimeSeriesData elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public queryMetrics_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public queryMetrics_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof queryMetrics_result)
        return this.equals((queryMetrics_result)that);
      return false;
    }

    public boolean equals(queryMetrics_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(queryMetrics_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("queryMetrics_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class queryMetrics_resultStandardSchemeFactory implements SchemeFactory {
      public queryMetrics_resultStandardScheme getScheme() {
        return new queryMetrics_resultStandardScheme();
      }
    }

    private static class queryMetrics_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, queryMetrics_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list90 = iprot.readListBegin();
                  struct.success = new ArrayList(_list90.size);
                  TimeSeriesData _elem91;
                  for (int _i92 = 0; _i92 < _list90.size; ++_i92)
                  {
                    _elem91 = new TimeSeriesData();
                    _elem91.read(iprot);
                    struct.success.add(_elem91);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, queryMetrics_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.success.size()));
            for (TimeSeriesData _iter93 : struct.success)
            {
              _iter93.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class queryMetrics_resultTupleSchemeFactory implements SchemeFactory {
      public queryMetrics_resultTupleScheme getScheme() {
        return new queryMetrics_resultTupleScheme();
      }
    }

    private static class queryMetrics_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, queryMetrics_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (TimeSeriesData _iter94 : struct.success)
            {
              _iter94.write(oprot);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, queryMetrics_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list95 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.success = new ArrayList(_list95.size);
            TimeSeriesData _elem96;
            for (int _i97 = 0; _i97 < _list95.size; ++_i97)
            {
              _elem96 = new TimeSeriesData();
              _elem96.read(iprot);
              struct.success.add(_elem96);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

  public static class findAllAppInfo_args implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllAppInfo_args");


    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllAppInfo_argsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllAppInfo_argsTupleSchemeFactory());
    }


    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
;

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllAppInfo_args.class, metaDataMap);
    }

    public findAllAppInfo_args() {
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllAppInfo_args(findAllAppInfo_args other) {
    }

    public findAllAppInfo_args deepCopy() {
      return new findAllAppInfo_args(this);
    }

    @Override
    public void clear() {
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllAppInfo_args)
        return this.equals((findAllAppInfo_args)that);
      return false;
    }

    public boolean equals(findAllAppInfo_args that) {
      if (that == null)
        return false;

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllAppInfo_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllAppInfo_args(");
      boolean first = true;

      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllAppInfo_argsStandardSchemeFactory implements SchemeFactory {
      public findAllAppInfo_argsStandardScheme getScheme() {
        return new findAllAppInfo_argsStandardScheme();
      }
    }

    private static class findAllAppInfo_argsStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllAppInfo_args struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllAppInfo_args struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllAppInfo_argsTupleSchemeFactory implements SchemeFactory {
      public findAllAppInfo_argsTupleScheme getScheme() {
        return new findAllAppInfo_argsTupleScheme();
      }
    }

    private static class findAllAppInfo_argsTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllAppInfo_args struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
      }
    }

  }

  public static class findAllAppInfo_result implements libthrift091.TBase, java.io.Serializable, Cloneable, Comparable   {
    private static final libthrift091.protocol.TStruct STRUCT_DESC = new libthrift091.protocol.TStruct("findAllAppInfo_result");

    private static final libthrift091.protocol.TField SUCCESS_FIELD_DESC = new libthrift091.protocol.TField("success", libthrift091.protocol.TType.LIST, (short)0);
    private static final libthrift091.protocol.TField SE_FIELD_DESC = new libthrift091.protocol.TField("se", libthrift091.protocol.TType.STRUCT, (short)1);

    private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new findAllAppInfo_resultStandardSchemeFactory());
      schemes.put(TupleScheme.class, new findAllAppInfo_resultTupleSchemeFactory());
    }

    public List success; // required
    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException se; // required

    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
    public enum _Fields implements libthrift091.TFieldIdEnum {
      SUCCESS((short)0, "success"),
      SE((short)1, "se");

      private static final Map byName = new HashMap();

      static {
        for (_Fields field : EnumSet.allOf(_Fields.class)) {
          byName.put(field.getFieldName(), field);
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, or null if its not found.
       */
      public static _Fields findByThriftId(int fieldId) {
        switch(fieldId) {
          case 0: // SUCCESS
            return SUCCESS;
          case 1: // SE
            return SE;
          default:
            return null;
        }
      }

      /**
       * Find the _Fields constant that matches fieldId, throwing an exception
       * if it is not found.
       */
      public static _Fields findByThriftIdOrThrow(int fieldId) {
        _Fields fields = findByThriftId(fieldId);
        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
        return fields;
      }

      /**
       * Find the _Fields constant that matches name, or null if its not found.
       */
      public static _Fields findByName(String name) {
        return byName.get(name);
      }

      private final short _thriftId;
      private final String _fieldName;

      _Fields(short thriftId, String fieldName) {
        _thriftId = thriftId;
        _fieldName = fieldName;
      }

      public short getThriftFieldId() {
        return _thriftId;
      }

      public String getFieldName() {
        return _fieldName;
      }
    }

    // isset id assignments
    public static final Map<_Fields, libthrift091.meta_data.FieldMetaData> metaDataMap;
    static {
      Map<_Fields, libthrift091.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, libthrift091.meta_data.FieldMetaData>(_Fields.class);
      tmpMap.put(_Fields.SUCCESS, new libthrift091.meta_data.FieldMetaData("success", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.ListMetaData(libthrift091.protocol.TType.LIST, 
              new libthrift091.meta_data.StructMetaData(libthrift091.protocol.TType.STRUCT, AppInfo.class))));
      tmpMap.put(_Fields.SE, new libthrift091.meta_data.FieldMetaData("se", libthrift091.TFieldRequirementType.DEFAULT, 
          new libthrift091.meta_data.FieldValueMetaData(libthrift091.protocol.TType.STRUCT)));
      metaDataMap = Collections.unmodifiableMap(tmpMap);
      libthrift091.meta_data.FieldMetaData.addStructMetaDataMap(findAllAppInfo_result.class, metaDataMap);
    }

    public findAllAppInfo_result() {
    }

    public findAllAppInfo_result(
      List success,
      com.xiaomi.infra.galaxy.sds.thrift.ServiceException se)
    {
      this();
      this.success = success;
      this.se = se;
    }

    /**
     * Performs a deep copy on other.
     */
    public findAllAppInfo_result(findAllAppInfo_result other) {
      if (other.isSetSuccess()) {
        List __this__success = new ArrayList(other.success.size());
        for (AppInfo other_element : other.success) {
          __this__success.add(new AppInfo(other_element));
        }
        this.success = __this__success;
      }
      if (other.isSetSe()) {
        this.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException(other.se);
      }
    }

    public findAllAppInfo_result deepCopy() {
      return new findAllAppInfo_result(this);
    }

    @Override
    public void clear() {
      this.success = null;
      this.se = null;
    }

    public int getSuccessSize() {
      return (this.success == null) ? 0 : this.success.size();
    }

    public java.util.Iterator getSuccessIterator() {
      return (this.success == null) ? null : this.success.iterator();
    }

    public void addToSuccess(AppInfo elem) {
      if (this.success == null) {
        this.success = new ArrayList();
      }
      this.success.add(elem);
    }

    public List getSuccess() {
      return this.success;
    }

    public findAllAppInfo_result setSuccess(List success) {
      this.success = success;
      return this;
    }

    public void unsetSuccess() {
      this.success = null;
    }

    /** Returns true if field success is set (has been assigned a value) and false otherwise */
    public boolean isSetSuccess() {
      return this.success != null;
    }

    public void setSuccessIsSet(boolean value) {
      if (!value) {
        this.success = null;
      }
    }

    public com.xiaomi.infra.galaxy.sds.thrift.ServiceException getSe() {
      return this.se;
    }

    public findAllAppInfo_result setSe(com.xiaomi.infra.galaxy.sds.thrift.ServiceException se) {
      this.se = se;
      return this;
    }

    public void unsetSe() {
      this.se = null;
    }

    /** Returns true if field se is set (has been assigned a value) and false otherwise */
    public boolean isSetSe() {
      return this.se != null;
    }

    public void setSeIsSet(boolean value) {
      if (!value) {
        this.se = null;
      }
    }

    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case SUCCESS:
        if (value == null) {
          unsetSuccess();
        } else {
          setSuccess((List)value);
        }
        break;

      case SE:
        if (value == null) {
          unsetSe();
        } else {
          setSe((com.xiaomi.infra.galaxy.sds.thrift.ServiceException)value);
        }
        break;

      }
    }

    public Object getFieldValue(_Fields field) {
      switch (field) {
      case SUCCESS:
        return getSuccess();

      case SE:
        return getSe();

      }
      throw new IllegalStateException();
    }

    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }

      switch (field) {
      case SUCCESS:
        return isSetSuccess();
      case SE:
        return isSetSe();
      }
      throw new IllegalStateException();
    }

    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof findAllAppInfo_result)
        return this.equals((findAllAppInfo_result)that);
      return false;
    }

    public boolean equals(findAllAppInfo_result that) {
      if (that == null)
        return false;

      boolean this_present_success = true && this.isSetSuccess();
      boolean that_present_success = true && that.isSetSuccess();
      if (this_present_success || that_present_success) {
        if (!(this_present_success && that_present_success))
          return false;
        if (!this.success.equals(that.success))
          return false;
      }

      boolean this_present_se = true && this.isSetSe();
      boolean that_present_se = true && that.isSetSe();
      if (this_present_se || that_present_se) {
        if (!(this_present_se && that_present_se))
          return false;
        if (!this.se.equals(that.se))
          return false;
      }

      return true;
    }

    @Override
    public int hashCode() {
      List list = new ArrayList();

      boolean present_success = true && (isSetSuccess());
      list.add(present_success);
      if (present_success)
        list.add(success);

      boolean present_se = true && (isSetSe());
      list.add(present_se);
      if (present_se)
        list.add(se);

      return list.hashCode();
    }

    @Override
    public int compareTo(findAllAppInfo_result other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;

      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSuccess()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.success, other.success);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSe()).compareTo(other.isSetSe());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSe()) {
        lastComparison = libthrift091.TBaseHelper.compareTo(this.se, other.se);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }

    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }

    public void read(libthrift091.protocol.TProtocol iprot) throws libthrift091.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }

    public void write(libthrift091.protocol.TProtocol oprot) throws libthrift091.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
      }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("findAllAppInfo_result(");
      boolean first = true;

      sb.append("success:");
      if (this.success == null) {
        sb.append("null");
      } else {
        sb.append(this.success);
      }
      first = false;
      if (!first) sb.append(", ");
      sb.append("se:");
      if (this.se == null) {
        sb.append("null");
      } else {
        sb.append(this.se);
      }
      first = false;
      sb.append(")");
      return sb.toString();
    }

    public void validate() throws libthrift091.TException {
      // check for required fields
      // check for sub-struct validity
    }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(out)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        read(new libthrift091.protocol.TCompactProtocol(new libthrift091.transport.TIOStreamTransport(in)));
      } catch (libthrift091.TException te) {
        throw new java.io.IOException(te);
      }
    }

    private static class findAllAppInfo_resultStandardSchemeFactory implements SchemeFactory {
      public findAllAppInfo_resultStandardScheme getScheme() {
        return new findAllAppInfo_resultStandardScheme();
      }
    }

    private static class findAllAppInfo_resultStandardScheme extends StandardScheme {

      public void read(libthrift091.protocol.TProtocol iprot, findAllAppInfo_result struct) throws libthrift091.TException {
        libthrift091.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == libthrift091.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 0: // SUCCESS
              if (schemeField.type == libthrift091.protocol.TType.LIST) {
                {
                  libthrift091.protocol.TList _list98 = iprot.readListBegin();
                  struct.success = new ArrayList(_list98.size);
                  AppInfo _elem99;
                  for (int _i100 = 0; _i100 < _list98.size; ++_i100)
                  {
                    _elem99 = new AppInfo();
                    _elem99.read(iprot);
                    struct.success.add(_elem99);
                  }
                  iprot.readListEnd();
                }
                struct.setSuccessIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 1: // SE
              if (schemeField.type == libthrift091.protocol.TType.STRUCT) {
                struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
                struct.se.read(iprot);
                struct.setSeIsSet(true);
              } else { 
                libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              libthrift091.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();

        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }

      public void write(libthrift091.protocol.TProtocol oprot, findAllAppInfo_result struct) throws libthrift091.TException {
        struct.validate();

        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.success != null) {
          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
          {
            oprot.writeListBegin(new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, struct.success.size()));
            for (AppInfo _iter101 : struct.success)
            {
              _iter101.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
        if (struct.se != null) {
          oprot.writeFieldBegin(SE_FIELD_DESC);
          struct.se.write(oprot);
          oprot.writeFieldEnd();
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }

    }

    private static class findAllAppInfo_resultTupleSchemeFactory implements SchemeFactory {
      public findAllAppInfo_resultTupleScheme getScheme() {
        return new findAllAppInfo_resultTupleScheme();
      }
    }

    private static class findAllAppInfo_resultTupleScheme extends TupleScheme {

      @Override
      public void write(libthrift091.protocol.TProtocol prot, findAllAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetSuccess()) {
          optionals.set(0);
        }
        if (struct.isSetSe()) {
          optionals.set(1);
        }
        oprot.writeBitSet(optionals, 2);
        if (struct.isSetSuccess()) {
          {
            oprot.writeI32(struct.success.size());
            for (AppInfo _iter102 : struct.success)
            {
              _iter102.write(oprot);
            }
          }
        }
        if (struct.isSetSe()) {
          struct.se.write(oprot);
        }
      }

      @Override
      public void read(libthrift091.protocol.TProtocol prot, findAllAppInfo_result struct) throws libthrift091.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(2);
        if (incoming.get(0)) {
          {
            libthrift091.protocol.TList _list103 = new libthrift091.protocol.TList(libthrift091.protocol.TType.STRUCT, iprot.readI32());
            struct.success = new ArrayList(_list103.size);
            AppInfo _elem104;
            for (int _i105 = 0; _i105 < _list103.size; ++_i105)
            {
              _elem104 = new AppInfo();
              _elem104.read(iprot);
              struct.success.add(_elem104);
            }
          }
          struct.setSuccessIsSet(true);
        }
        if (incoming.get(1)) {
          struct.se = new com.xiaomi.infra.galaxy.sds.thrift.ServiceException();
          struct.se.read(iprot);
          struct.setSeIsSet(true);
        }
      }
    }

  }

}