TTabletMetaInfo.java

/**
 * Autogenerated by Thrift Compiler (0.16.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.doris.thrift;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.16.0)", date = "2026-05-14")
public class TTabletMetaInfo implements org.apache.thrift.TBase<TTabletMetaInfo, TTabletMetaInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TTabletMetaInfo> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTabletMetaInfo");

  private static final org.apache.thrift.protocol.TField TABLET_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("tablet_id", org.apache.thrift.protocol.TType.I64, (short)1);
  private static final org.apache.thrift.protocol.TField SCHEMA_HASH_FIELD_DESC = new org.apache.thrift.protocol.TField("schema_hash", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField PARTITION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("partition_id", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField IS_IN_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("is_in_memory", org.apache.thrift.protocol.TType.BOOL, (short)5);
  private static final org.apache.thrift.protocol.TField STORAGE_POLICY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storage_policy_id", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField REPLICA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("replica_id", org.apache.thrift.protocol.TType.I64, (short)8);
  private static final org.apache.thrift.protocol.TField BINLOG_CONFIG_FIELD_DESC = new org.apache.thrift.protocol.TField("binlog_config", org.apache.thrift.protocol.TType.STRUCT, (short)9);
  private static final org.apache.thrift.protocol.TField COMPACTION_POLICY_FIELD_DESC = new org.apache.thrift.protocol.TField("compaction_policy", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_FIELD_DESC = new org.apache.thrift.protocol.TField("time_series_compaction_goal_size_mbytes", org.apache.thrift.protocol.TType.I64, (short)11);
  private static final org.apache.thrift.protocol.TField TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_FIELD_DESC = new org.apache.thrift.protocol.TField("time_series_compaction_file_count_threshold", org.apache.thrift.protocol.TType.I64, (short)12);
  private static final org.apache.thrift.protocol.TField TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_FIELD_DESC = new org.apache.thrift.protocol.TField("time_series_compaction_time_threshold_seconds", org.apache.thrift.protocol.TType.I64, (short)13);
  private static final org.apache.thrift.protocol.TField ENABLE_SINGLE_REPLICA_COMPACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("enable_single_replica_compaction", org.apache.thrift.protocol.TType.BOOL, (short)14);
  private static final org.apache.thrift.protocol.TField SKIP_WRITE_INDEX_ON_LOAD_FIELD_DESC = new org.apache.thrift.protocol.TField("skip_write_index_on_load", org.apache.thrift.protocol.TType.BOOL, (short)15);
  private static final org.apache.thrift.protocol.TField DISABLE_AUTO_COMPACTION_FIELD_DESC = new org.apache.thrift.protocol.TField("disable_auto_compaction", org.apache.thrift.protocol.TType.BOOL, (short)16);
  private static final org.apache.thrift.protocol.TField TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_FIELD_DESC = new org.apache.thrift.protocol.TField("time_series_compaction_empty_rowsets_threshold", org.apache.thrift.protocol.TType.I64, (short)17);
  private static final org.apache.thrift.protocol.TField TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_FIELD_DESC = new org.apache.thrift.protocol.TField("time_series_compaction_level_threshold", org.apache.thrift.protocol.TType.I64, (short)18);
  private static final org.apache.thrift.protocol.TField VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_FIELD_DESC = new org.apache.thrift.protocol.TField("vertical_compaction_num_columns_per_group", org.apache.thrift.protocol.TType.I32, (short)19);

  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TTabletMetaInfoStandardSchemeFactory();
  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TTabletMetaInfoTupleSchemeFactory();

  public long tablet_id; // optional
  public int schema_hash; // optional
  public long partition_id; // optional
  public boolean is_in_memory; // optional
  public long storage_policy_id; // optional
  public long replica_id; // optional
  public @org.apache.thrift.annotation.Nullable TBinlogConfig binlog_config; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String compaction_policy; // optional
  public long time_series_compaction_goal_size_mbytes; // optional
  public long time_series_compaction_file_count_threshold; // optional
  public long time_series_compaction_time_threshold_seconds; // optional
  public boolean enable_single_replica_compaction; // optional
  public boolean skip_write_index_on_load; // optional
  public boolean disable_auto_compaction; // optional
  public long time_series_compaction_empty_rowsets_threshold; // optional
  public long time_series_compaction_level_threshold; // optional
  public int vertical_compaction_num_columns_per_group; // optional

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    TABLET_ID((short)1, "tablet_id"),
    SCHEMA_HASH((short)2, "schema_hash"),
    PARTITION_ID((short)3, "partition_id"),
    IS_IN_MEMORY((short)5, "is_in_memory"),
    STORAGE_POLICY_ID((short)7, "storage_policy_id"),
    REPLICA_ID((short)8, "replica_id"),
    BINLOG_CONFIG((short)9, "binlog_config"),
    COMPACTION_POLICY((short)10, "compaction_policy"),
    TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES((short)11, "time_series_compaction_goal_size_mbytes"),
    TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD((short)12, "time_series_compaction_file_count_threshold"),
    TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS((short)13, "time_series_compaction_time_threshold_seconds"),
    ENABLE_SINGLE_REPLICA_COMPACTION((short)14, "enable_single_replica_compaction"),
    SKIP_WRITE_INDEX_ON_LOAD((short)15, "skip_write_index_on_load"),
    DISABLE_AUTO_COMPACTION((short)16, "disable_auto_compaction"),
    TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD((short)17, "time_series_compaction_empty_rowsets_threshold"),
    TIME_SERIES_COMPACTION_LEVEL_THRESHOLD((short)18, "time_series_compaction_level_threshold"),
    VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP((short)19, "vertical_compaction_num_columns_per_group");

    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

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

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByThriftId(int fieldId) {
      switch(fieldId) {
        case 1: // TABLET_ID
          return TABLET_ID;
        case 2: // SCHEMA_HASH
          return SCHEMA_HASH;
        case 3: // PARTITION_ID
          return PARTITION_ID;
        case 5: // IS_IN_MEMORY
          return IS_IN_MEMORY;
        case 7: // STORAGE_POLICY_ID
          return STORAGE_POLICY_ID;
        case 8: // REPLICA_ID
          return REPLICA_ID;
        case 9: // BINLOG_CONFIG
          return BINLOG_CONFIG;
        case 10: // COMPACTION_POLICY
          return COMPACTION_POLICY;
        case 11: // TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES
          return TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES;
        case 12: // TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD
          return TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD;
        case 13: // TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS
          return TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS;
        case 14: // ENABLE_SINGLE_REPLICA_COMPACTION
          return ENABLE_SINGLE_REPLICA_COMPACTION;
        case 15: // SKIP_WRITE_INDEX_ON_LOAD
          return SKIP_WRITE_INDEX_ON_LOAD;
        case 16: // DISABLE_AUTO_COMPACTION
          return DISABLE_AUTO_COMPACTION;
        case 17: // TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD
          return TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD;
        case 18: // TIME_SERIES_COMPACTION_LEVEL_THRESHOLD
          return TIME_SERIES_COMPACTION_LEVEL_THRESHOLD;
        case 19: // VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP
          return VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP;
        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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
      return fields;
    }

    /**
     * Find the _Fields constant that matches name, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByName(java.lang.String name) {
      return byName.get(name);
    }

    private final short _thriftId;
    private final java.lang.String _fieldName;

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

    public short getThriftFieldId() {
      return _thriftId;
    }

    public java.lang.String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final int __TABLET_ID_ISSET_ID = 0;
  private static final int __SCHEMA_HASH_ISSET_ID = 1;
  private static final int __PARTITION_ID_ISSET_ID = 2;
  private static final int __IS_IN_MEMORY_ISSET_ID = 3;
  private static final int __STORAGE_POLICY_ID_ISSET_ID = 4;
  private static final int __REPLICA_ID_ISSET_ID = 5;
  private static final int __TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_ISSET_ID = 6;
  private static final int __TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_ISSET_ID = 7;
  private static final int __TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_ISSET_ID = 8;
  private static final int __ENABLE_SINGLE_REPLICA_COMPACTION_ISSET_ID = 9;
  private static final int __SKIP_WRITE_INDEX_ON_LOAD_ISSET_ID = 10;
  private static final int __DISABLE_AUTO_COMPACTION_ISSET_ID = 11;
  private static final int __TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_ISSET_ID = 12;
  private static final int __TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_ISSET_ID = 13;
  private static final int __VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_ISSET_ID = 14;
  private short __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.TABLET_ID,_Fields.SCHEMA_HASH,_Fields.PARTITION_ID,_Fields.IS_IN_MEMORY,_Fields.STORAGE_POLICY_ID,_Fields.REPLICA_ID,_Fields.BINLOG_CONFIG,_Fields.COMPACTION_POLICY,_Fields.TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES,_Fields.TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD,_Fields.TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS,_Fields.ENABLE_SINGLE_REPLICA_COMPACTION,_Fields.SKIP_WRITE_INDEX_ON_LOAD,_Fields.DISABLE_AUTO_COMPACTION,_Fields.TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD,_Fields.TIME_SERIES_COMPACTION_LEVEL_THRESHOLD,_Fields.VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP};
  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.TABLET_ID, new org.apache.thrift.meta_data.FieldMetaData("tablet_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TTabletId")));
    tmpMap.put(_Fields.SCHEMA_HASH, new org.apache.thrift.meta_data.FieldMetaData("schema_hash", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32        , "TSchemaHash")));
    tmpMap.put(_Fields.PARTITION_ID, new org.apache.thrift.meta_data.FieldMetaData("partition_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TPartitionId")));
    tmpMap.put(_Fields.IS_IN_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("is_in_memory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.STORAGE_POLICY_ID, new org.apache.thrift.meta_data.FieldMetaData("storage_policy_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.REPLICA_ID, new org.apache.thrift.meta_data.FieldMetaData("replica_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TReplicaId")));
    tmpMap.put(_Fields.BINLOG_CONFIG, new org.apache.thrift.meta_data.FieldMetaData("binlog_config", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TBinlogConfig.class)));
    tmpMap.put(_Fields.COMPACTION_POLICY, new org.apache.thrift.meta_data.FieldMetaData("compaction_policy", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES, new org.apache.thrift.meta_data.FieldMetaData("time_series_compaction_goal_size_mbytes", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD, new org.apache.thrift.meta_data.FieldMetaData("time_series_compaction_file_count_threshold", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS, new org.apache.thrift.meta_data.FieldMetaData("time_series_compaction_time_threshold_seconds", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.ENABLE_SINGLE_REPLICA_COMPACTION, new org.apache.thrift.meta_data.FieldMetaData("enable_single_replica_compaction", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.SKIP_WRITE_INDEX_ON_LOAD, new org.apache.thrift.meta_data.FieldMetaData("skip_write_index_on_load", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.DISABLE_AUTO_COMPACTION, new org.apache.thrift.meta_data.FieldMetaData("disable_auto_compaction", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD, new org.apache.thrift.meta_data.FieldMetaData("time_series_compaction_empty_rowsets_threshold", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TIME_SERIES_COMPACTION_LEVEL_THRESHOLD, new org.apache.thrift.meta_data.FieldMetaData("time_series_compaction_level_threshold", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP, new org.apache.thrift.meta_data.FieldMetaData("vertical_compaction_num_columns_per_group", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TTabletMetaInfo.class, metaDataMap);
  }

  public TTabletMetaInfo() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TTabletMetaInfo(TTabletMetaInfo other) {
    __isset_bitfield = other.__isset_bitfield;
    this.tablet_id = other.tablet_id;
    this.schema_hash = other.schema_hash;
    this.partition_id = other.partition_id;
    this.is_in_memory = other.is_in_memory;
    this.storage_policy_id = other.storage_policy_id;
    this.replica_id = other.replica_id;
    if (other.isSetBinlogConfig()) {
      this.binlog_config = new TBinlogConfig(other.binlog_config);
    }
    if (other.isSetCompactionPolicy()) {
      this.compaction_policy = other.compaction_policy;
    }
    this.time_series_compaction_goal_size_mbytes = other.time_series_compaction_goal_size_mbytes;
    this.time_series_compaction_file_count_threshold = other.time_series_compaction_file_count_threshold;
    this.time_series_compaction_time_threshold_seconds = other.time_series_compaction_time_threshold_seconds;
    this.enable_single_replica_compaction = other.enable_single_replica_compaction;
    this.skip_write_index_on_load = other.skip_write_index_on_load;
    this.disable_auto_compaction = other.disable_auto_compaction;
    this.time_series_compaction_empty_rowsets_threshold = other.time_series_compaction_empty_rowsets_threshold;
    this.time_series_compaction_level_threshold = other.time_series_compaction_level_threshold;
    this.vertical_compaction_num_columns_per_group = other.vertical_compaction_num_columns_per_group;
  }

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

  @Override
  public void clear() {
    setTabletIdIsSet(false);
    this.tablet_id = 0;
    setSchemaHashIsSet(false);
    this.schema_hash = 0;
    setPartitionIdIsSet(false);
    this.partition_id = 0;
    setIsInMemoryIsSet(false);
    this.is_in_memory = false;
    setStoragePolicyIdIsSet(false);
    this.storage_policy_id = 0;
    setReplicaIdIsSet(false);
    this.replica_id = 0;
    this.binlog_config = null;
    this.compaction_policy = null;
    setTimeSeriesCompactionGoalSizeMbytesIsSet(false);
    this.time_series_compaction_goal_size_mbytes = 0;
    setTimeSeriesCompactionFileCountThresholdIsSet(false);
    this.time_series_compaction_file_count_threshold = 0;
    setTimeSeriesCompactionTimeThresholdSecondsIsSet(false);
    this.time_series_compaction_time_threshold_seconds = 0;
    setEnableSingleReplicaCompactionIsSet(false);
    this.enable_single_replica_compaction = false;
    setSkipWriteIndexOnLoadIsSet(false);
    this.skip_write_index_on_load = false;
    setDisableAutoCompactionIsSet(false);
    this.disable_auto_compaction = false;
    setTimeSeriesCompactionEmptyRowsetsThresholdIsSet(false);
    this.time_series_compaction_empty_rowsets_threshold = 0;
    setTimeSeriesCompactionLevelThresholdIsSet(false);
    this.time_series_compaction_level_threshold = 0;
    setVerticalCompactionNumColumnsPerGroupIsSet(false);
    this.vertical_compaction_num_columns_per_group = 0;
  }

  public long getTabletId() {
    return this.tablet_id;
  }

  public TTabletMetaInfo setTabletId(long tablet_id) {
    this.tablet_id = tablet_id;
    setTabletIdIsSet(true);
    return this;
  }

  public void unsetTabletId() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TABLET_ID_ISSET_ID);
  }

  /** Returns true if field tablet_id is set (has been assigned a value) and false otherwise */
  public boolean isSetTabletId() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TABLET_ID_ISSET_ID);
  }

  public void setTabletIdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TABLET_ID_ISSET_ID, value);
  }

  public int getSchemaHash() {
    return this.schema_hash;
  }

  public TTabletMetaInfo setSchemaHash(int schema_hash) {
    this.schema_hash = schema_hash;
    setSchemaHashIsSet(true);
    return this;
  }

  public void unsetSchemaHash() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SCHEMA_HASH_ISSET_ID);
  }

  /** Returns true if field schema_hash is set (has been assigned a value) and false otherwise */
  public boolean isSetSchemaHash() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SCHEMA_HASH_ISSET_ID);
  }

  public void setSchemaHashIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SCHEMA_HASH_ISSET_ID, value);
  }

  public long getPartitionId() {
    return this.partition_id;
  }

  public TTabletMetaInfo setPartitionId(long partition_id) {
    this.partition_id = partition_id;
    setPartitionIdIsSet(true);
    return this;
  }

  public void unsetPartitionId() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __PARTITION_ID_ISSET_ID);
  }

  /** Returns true if field partition_id is set (has been assigned a value) and false otherwise */
  public boolean isSetPartitionId() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __PARTITION_ID_ISSET_ID);
  }

  public void setPartitionIdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PARTITION_ID_ISSET_ID, value);
  }

  public boolean isIsInMemory() {
    return this.is_in_memory;
  }

  public TTabletMetaInfo setIsInMemory(boolean is_in_memory) {
    this.is_in_memory = is_in_memory;
    setIsInMemoryIsSet(true);
    return this;
  }

  public void unsetIsInMemory() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __IS_IN_MEMORY_ISSET_ID);
  }

  /** Returns true if field is_in_memory is set (has been assigned a value) and false otherwise */
  public boolean isSetIsInMemory() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __IS_IN_MEMORY_ISSET_ID);
  }

  public void setIsInMemoryIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __IS_IN_MEMORY_ISSET_ID, value);
  }

  public long getStoragePolicyId() {
    return this.storage_policy_id;
  }

  public TTabletMetaInfo setStoragePolicyId(long storage_policy_id) {
    this.storage_policy_id = storage_policy_id;
    setStoragePolicyIdIsSet(true);
    return this;
  }

  public void unsetStoragePolicyId() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __STORAGE_POLICY_ID_ISSET_ID);
  }

  /** Returns true if field storage_policy_id is set (has been assigned a value) and false otherwise */
  public boolean isSetStoragePolicyId() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __STORAGE_POLICY_ID_ISSET_ID);
  }

  public void setStoragePolicyIdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __STORAGE_POLICY_ID_ISSET_ID, value);
  }

  public long getReplicaId() {
    return this.replica_id;
  }

  public TTabletMetaInfo setReplicaId(long replica_id) {
    this.replica_id = replica_id;
    setReplicaIdIsSet(true);
    return this;
  }

  public void unsetReplicaId() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __REPLICA_ID_ISSET_ID);
  }

  /** Returns true if field replica_id is set (has been assigned a value) and false otherwise */
  public boolean isSetReplicaId() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __REPLICA_ID_ISSET_ID);
  }

  public void setReplicaIdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __REPLICA_ID_ISSET_ID, value);
  }

  @org.apache.thrift.annotation.Nullable
  public TBinlogConfig getBinlogConfig() {
    return this.binlog_config;
  }

  public TTabletMetaInfo setBinlogConfig(@org.apache.thrift.annotation.Nullable TBinlogConfig binlog_config) {
    this.binlog_config = binlog_config;
    return this;
  }

  public void unsetBinlogConfig() {
    this.binlog_config = null;
  }

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

  public void setBinlogConfigIsSet(boolean value) {
    if (!value) {
      this.binlog_config = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getCompactionPolicy() {
    return this.compaction_policy;
  }

  public TTabletMetaInfo setCompactionPolicy(@org.apache.thrift.annotation.Nullable java.lang.String compaction_policy) {
    this.compaction_policy = compaction_policy;
    return this;
  }

  public void unsetCompactionPolicy() {
    this.compaction_policy = null;
  }

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

  public void setCompactionPolicyIsSet(boolean value) {
    if (!value) {
      this.compaction_policy = null;
    }
  }

  public long getTimeSeriesCompactionGoalSizeMbytes() {
    return this.time_series_compaction_goal_size_mbytes;
  }

  public TTabletMetaInfo setTimeSeriesCompactionGoalSizeMbytes(long time_series_compaction_goal_size_mbytes) {
    this.time_series_compaction_goal_size_mbytes = time_series_compaction_goal_size_mbytes;
    setTimeSeriesCompactionGoalSizeMbytesIsSet(true);
    return this;
  }

  public void unsetTimeSeriesCompactionGoalSizeMbytes() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_ISSET_ID);
  }

  /** Returns true if field time_series_compaction_goal_size_mbytes is set (has been assigned a value) and false otherwise */
  public boolean isSetTimeSeriesCompactionGoalSizeMbytes() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_ISSET_ID);
  }

  public void setTimeSeriesCompactionGoalSizeMbytesIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_ISSET_ID, value);
  }

  public long getTimeSeriesCompactionFileCountThreshold() {
    return this.time_series_compaction_file_count_threshold;
  }

  public TTabletMetaInfo setTimeSeriesCompactionFileCountThreshold(long time_series_compaction_file_count_threshold) {
    this.time_series_compaction_file_count_threshold = time_series_compaction_file_count_threshold;
    setTimeSeriesCompactionFileCountThresholdIsSet(true);
    return this;
  }

  public void unsetTimeSeriesCompactionFileCountThreshold() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_ISSET_ID);
  }

  /** Returns true if field time_series_compaction_file_count_threshold is set (has been assigned a value) and false otherwise */
  public boolean isSetTimeSeriesCompactionFileCountThreshold() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_ISSET_ID);
  }

  public void setTimeSeriesCompactionFileCountThresholdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_ISSET_ID, value);
  }

  public long getTimeSeriesCompactionTimeThresholdSeconds() {
    return this.time_series_compaction_time_threshold_seconds;
  }

  public TTabletMetaInfo setTimeSeriesCompactionTimeThresholdSeconds(long time_series_compaction_time_threshold_seconds) {
    this.time_series_compaction_time_threshold_seconds = time_series_compaction_time_threshold_seconds;
    setTimeSeriesCompactionTimeThresholdSecondsIsSet(true);
    return this;
  }

  public void unsetTimeSeriesCompactionTimeThresholdSeconds() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_ISSET_ID);
  }

  /** Returns true if field time_series_compaction_time_threshold_seconds is set (has been assigned a value) and false otherwise */
  public boolean isSetTimeSeriesCompactionTimeThresholdSeconds() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_ISSET_ID);
  }

  public void setTimeSeriesCompactionTimeThresholdSecondsIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_ISSET_ID, value);
  }

  public boolean isEnableSingleReplicaCompaction() {
    return this.enable_single_replica_compaction;
  }

  public TTabletMetaInfo setEnableSingleReplicaCompaction(boolean enable_single_replica_compaction) {
    this.enable_single_replica_compaction = enable_single_replica_compaction;
    setEnableSingleReplicaCompactionIsSet(true);
    return this;
  }

  public void unsetEnableSingleReplicaCompaction() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ENABLE_SINGLE_REPLICA_COMPACTION_ISSET_ID);
  }

  /** Returns true if field enable_single_replica_compaction is set (has been assigned a value) and false otherwise */
  public boolean isSetEnableSingleReplicaCompaction() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ENABLE_SINGLE_REPLICA_COMPACTION_ISSET_ID);
  }

  public void setEnableSingleReplicaCompactionIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ENABLE_SINGLE_REPLICA_COMPACTION_ISSET_ID, value);
  }

  public boolean isSkipWriteIndexOnLoad() {
    return this.skip_write_index_on_load;
  }

  public TTabletMetaInfo setSkipWriteIndexOnLoad(boolean skip_write_index_on_load) {
    this.skip_write_index_on_load = skip_write_index_on_load;
    setSkipWriteIndexOnLoadIsSet(true);
    return this;
  }

  public void unsetSkipWriteIndexOnLoad() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SKIP_WRITE_INDEX_ON_LOAD_ISSET_ID);
  }

  /** Returns true if field skip_write_index_on_load is set (has been assigned a value) and false otherwise */
  public boolean isSetSkipWriteIndexOnLoad() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SKIP_WRITE_INDEX_ON_LOAD_ISSET_ID);
  }

  public void setSkipWriteIndexOnLoadIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SKIP_WRITE_INDEX_ON_LOAD_ISSET_ID, value);
  }

  public boolean isDisableAutoCompaction() {
    return this.disable_auto_compaction;
  }

  public TTabletMetaInfo setDisableAutoCompaction(boolean disable_auto_compaction) {
    this.disable_auto_compaction = disable_auto_compaction;
    setDisableAutoCompactionIsSet(true);
    return this;
  }

  public void unsetDisableAutoCompaction() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __DISABLE_AUTO_COMPACTION_ISSET_ID);
  }

  /** Returns true if field disable_auto_compaction is set (has been assigned a value) and false otherwise */
  public boolean isSetDisableAutoCompaction() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __DISABLE_AUTO_COMPACTION_ISSET_ID);
  }

  public void setDisableAutoCompactionIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DISABLE_AUTO_COMPACTION_ISSET_ID, value);
  }

  public long getTimeSeriesCompactionEmptyRowsetsThreshold() {
    return this.time_series_compaction_empty_rowsets_threshold;
  }

  public TTabletMetaInfo setTimeSeriesCompactionEmptyRowsetsThreshold(long time_series_compaction_empty_rowsets_threshold) {
    this.time_series_compaction_empty_rowsets_threshold = time_series_compaction_empty_rowsets_threshold;
    setTimeSeriesCompactionEmptyRowsetsThresholdIsSet(true);
    return this;
  }

  public void unsetTimeSeriesCompactionEmptyRowsetsThreshold() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_ISSET_ID);
  }

  /** Returns true if field time_series_compaction_empty_rowsets_threshold is set (has been assigned a value) and false otherwise */
  public boolean isSetTimeSeriesCompactionEmptyRowsetsThreshold() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_ISSET_ID);
  }

  public void setTimeSeriesCompactionEmptyRowsetsThresholdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_ISSET_ID, value);
  }

  public long getTimeSeriesCompactionLevelThreshold() {
    return this.time_series_compaction_level_threshold;
  }

  public TTabletMetaInfo setTimeSeriesCompactionLevelThreshold(long time_series_compaction_level_threshold) {
    this.time_series_compaction_level_threshold = time_series_compaction_level_threshold;
    setTimeSeriesCompactionLevelThresholdIsSet(true);
    return this;
  }

  public void unsetTimeSeriesCompactionLevelThreshold() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_ISSET_ID);
  }

  /** Returns true if field time_series_compaction_level_threshold is set (has been assigned a value) and false otherwise */
  public boolean isSetTimeSeriesCompactionLevelThreshold() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_ISSET_ID);
  }

  public void setTimeSeriesCompactionLevelThresholdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_ISSET_ID, value);
  }

  public int getVerticalCompactionNumColumnsPerGroup() {
    return this.vertical_compaction_num_columns_per_group;
  }

  public TTabletMetaInfo setVerticalCompactionNumColumnsPerGroup(int vertical_compaction_num_columns_per_group) {
    this.vertical_compaction_num_columns_per_group = vertical_compaction_num_columns_per_group;
    setVerticalCompactionNumColumnsPerGroupIsSet(true);
    return this;
  }

  public void unsetVerticalCompactionNumColumnsPerGroup() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_ISSET_ID);
  }

  /** Returns true if field vertical_compaction_num_columns_per_group is set (has been assigned a value) and false otherwise */
  public boolean isSetVerticalCompactionNumColumnsPerGroup() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_ISSET_ID);
  }

  public void setVerticalCompactionNumColumnsPerGroupIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_ISSET_ID, value);
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case TABLET_ID:
      if (value == null) {
        unsetTabletId();
      } else {
        setTabletId((java.lang.Long)value);
      }
      break;

    case SCHEMA_HASH:
      if (value == null) {
        unsetSchemaHash();
      } else {
        setSchemaHash((java.lang.Integer)value);
      }
      break;

    case PARTITION_ID:
      if (value == null) {
        unsetPartitionId();
      } else {
        setPartitionId((java.lang.Long)value);
      }
      break;

    case IS_IN_MEMORY:
      if (value == null) {
        unsetIsInMemory();
      } else {
        setIsInMemory((java.lang.Boolean)value);
      }
      break;

    case STORAGE_POLICY_ID:
      if (value == null) {
        unsetStoragePolicyId();
      } else {
        setStoragePolicyId((java.lang.Long)value);
      }
      break;

    case REPLICA_ID:
      if (value == null) {
        unsetReplicaId();
      } else {
        setReplicaId((java.lang.Long)value);
      }
      break;

    case BINLOG_CONFIG:
      if (value == null) {
        unsetBinlogConfig();
      } else {
        setBinlogConfig((TBinlogConfig)value);
      }
      break;

    case COMPACTION_POLICY:
      if (value == null) {
        unsetCompactionPolicy();
      } else {
        setCompactionPolicy((java.lang.String)value);
      }
      break;

    case TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES:
      if (value == null) {
        unsetTimeSeriesCompactionGoalSizeMbytes();
      } else {
        setTimeSeriesCompactionGoalSizeMbytes((java.lang.Long)value);
      }
      break;

    case TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD:
      if (value == null) {
        unsetTimeSeriesCompactionFileCountThreshold();
      } else {
        setTimeSeriesCompactionFileCountThreshold((java.lang.Long)value);
      }
      break;

    case TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS:
      if (value == null) {
        unsetTimeSeriesCompactionTimeThresholdSeconds();
      } else {
        setTimeSeriesCompactionTimeThresholdSeconds((java.lang.Long)value);
      }
      break;

    case ENABLE_SINGLE_REPLICA_COMPACTION:
      if (value == null) {
        unsetEnableSingleReplicaCompaction();
      } else {
        setEnableSingleReplicaCompaction((java.lang.Boolean)value);
      }
      break;

    case SKIP_WRITE_INDEX_ON_LOAD:
      if (value == null) {
        unsetSkipWriteIndexOnLoad();
      } else {
        setSkipWriteIndexOnLoad((java.lang.Boolean)value);
      }
      break;

    case DISABLE_AUTO_COMPACTION:
      if (value == null) {
        unsetDisableAutoCompaction();
      } else {
        setDisableAutoCompaction((java.lang.Boolean)value);
      }
      break;

    case TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD:
      if (value == null) {
        unsetTimeSeriesCompactionEmptyRowsetsThreshold();
      } else {
        setTimeSeriesCompactionEmptyRowsetsThreshold((java.lang.Long)value);
      }
      break;

    case TIME_SERIES_COMPACTION_LEVEL_THRESHOLD:
      if (value == null) {
        unsetTimeSeriesCompactionLevelThreshold();
      } else {
        setTimeSeriesCompactionLevelThreshold((java.lang.Long)value);
      }
      break;

    case VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP:
      if (value == null) {
        unsetVerticalCompactionNumColumnsPerGroup();
      } else {
        setVerticalCompactionNumColumnsPerGroup((java.lang.Integer)value);
      }
      break;

    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.Object getFieldValue(_Fields field) {
    switch (field) {
    case TABLET_ID:
      return getTabletId();

    case SCHEMA_HASH:
      return getSchemaHash();

    case PARTITION_ID:
      return getPartitionId();

    case IS_IN_MEMORY:
      return isIsInMemory();

    case STORAGE_POLICY_ID:
      return getStoragePolicyId();

    case REPLICA_ID:
      return getReplicaId();

    case BINLOG_CONFIG:
      return getBinlogConfig();

    case COMPACTION_POLICY:
      return getCompactionPolicy();

    case TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES:
      return getTimeSeriesCompactionGoalSizeMbytes();

    case TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD:
      return getTimeSeriesCompactionFileCountThreshold();

    case TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS:
      return getTimeSeriesCompactionTimeThresholdSeconds();

    case ENABLE_SINGLE_REPLICA_COMPACTION:
      return isEnableSingleReplicaCompaction();

    case SKIP_WRITE_INDEX_ON_LOAD:
      return isSkipWriteIndexOnLoad();

    case DISABLE_AUTO_COMPACTION:
      return isDisableAutoCompaction();

    case TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD:
      return getTimeSeriesCompactionEmptyRowsetsThreshold();

    case TIME_SERIES_COMPACTION_LEVEL_THRESHOLD:
      return getTimeSeriesCompactionLevelThreshold();

    case VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP:
      return getVerticalCompactionNumColumnsPerGroup();

    }
    throw new java.lang.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 java.lang.IllegalArgumentException();
    }

    switch (field) {
    case TABLET_ID:
      return isSetTabletId();
    case SCHEMA_HASH:
      return isSetSchemaHash();
    case PARTITION_ID:
      return isSetPartitionId();
    case IS_IN_MEMORY:
      return isSetIsInMemory();
    case STORAGE_POLICY_ID:
      return isSetStoragePolicyId();
    case REPLICA_ID:
      return isSetReplicaId();
    case BINLOG_CONFIG:
      return isSetBinlogConfig();
    case COMPACTION_POLICY:
      return isSetCompactionPolicy();
    case TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES:
      return isSetTimeSeriesCompactionGoalSizeMbytes();
    case TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD:
      return isSetTimeSeriesCompactionFileCountThreshold();
    case TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS:
      return isSetTimeSeriesCompactionTimeThresholdSeconds();
    case ENABLE_SINGLE_REPLICA_COMPACTION:
      return isSetEnableSingleReplicaCompaction();
    case SKIP_WRITE_INDEX_ON_LOAD:
      return isSetSkipWriteIndexOnLoad();
    case DISABLE_AUTO_COMPACTION:
      return isSetDisableAutoCompaction();
    case TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD:
      return isSetTimeSeriesCompactionEmptyRowsetsThreshold();
    case TIME_SERIES_COMPACTION_LEVEL_THRESHOLD:
      return isSetTimeSeriesCompactionLevelThreshold();
    case VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP:
      return isSetVerticalCompactionNumColumnsPerGroup();
    }
    throw new java.lang.IllegalStateException();
  }

  @Override
  public boolean equals(java.lang.Object that) {
    if (that instanceof TTabletMetaInfo)
      return this.equals((TTabletMetaInfo)that);
    return false;
  }

  public boolean equals(TTabletMetaInfo that) {
    if (that == null)
      return false;
    if (this == that)
      return true;

    boolean this_present_tablet_id = true && this.isSetTabletId();
    boolean that_present_tablet_id = true && that.isSetTabletId();
    if (this_present_tablet_id || that_present_tablet_id) {
      if (!(this_present_tablet_id && that_present_tablet_id))
        return false;
      if (this.tablet_id != that.tablet_id)
        return false;
    }

    boolean this_present_schema_hash = true && this.isSetSchemaHash();
    boolean that_present_schema_hash = true && that.isSetSchemaHash();
    if (this_present_schema_hash || that_present_schema_hash) {
      if (!(this_present_schema_hash && that_present_schema_hash))
        return false;
      if (this.schema_hash != that.schema_hash)
        return false;
    }

    boolean this_present_partition_id = true && this.isSetPartitionId();
    boolean that_present_partition_id = true && that.isSetPartitionId();
    if (this_present_partition_id || that_present_partition_id) {
      if (!(this_present_partition_id && that_present_partition_id))
        return false;
      if (this.partition_id != that.partition_id)
        return false;
    }

    boolean this_present_is_in_memory = true && this.isSetIsInMemory();
    boolean that_present_is_in_memory = true && that.isSetIsInMemory();
    if (this_present_is_in_memory || that_present_is_in_memory) {
      if (!(this_present_is_in_memory && that_present_is_in_memory))
        return false;
      if (this.is_in_memory != that.is_in_memory)
        return false;
    }

    boolean this_present_storage_policy_id = true && this.isSetStoragePolicyId();
    boolean that_present_storage_policy_id = true && that.isSetStoragePolicyId();
    if (this_present_storage_policy_id || that_present_storage_policy_id) {
      if (!(this_present_storage_policy_id && that_present_storage_policy_id))
        return false;
      if (this.storage_policy_id != that.storage_policy_id)
        return false;
    }

    boolean this_present_replica_id = true && this.isSetReplicaId();
    boolean that_present_replica_id = true && that.isSetReplicaId();
    if (this_present_replica_id || that_present_replica_id) {
      if (!(this_present_replica_id && that_present_replica_id))
        return false;
      if (this.replica_id != that.replica_id)
        return false;
    }

    boolean this_present_binlog_config = true && this.isSetBinlogConfig();
    boolean that_present_binlog_config = true && that.isSetBinlogConfig();
    if (this_present_binlog_config || that_present_binlog_config) {
      if (!(this_present_binlog_config && that_present_binlog_config))
        return false;
      if (!this.binlog_config.equals(that.binlog_config))
        return false;
    }

    boolean this_present_compaction_policy = true && this.isSetCompactionPolicy();
    boolean that_present_compaction_policy = true && that.isSetCompactionPolicy();
    if (this_present_compaction_policy || that_present_compaction_policy) {
      if (!(this_present_compaction_policy && that_present_compaction_policy))
        return false;
      if (!this.compaction_policy.equals(that.compaction_policy))
        return false;
    }

    boolean this_present_time_series_compaction_goal_size_mbytes = true && this.isSetTimeSeriesCompactionGoalSizeMbytes();
    boolean that_present_time_series_compaction_goal_size_mbytes = true && that.isSetTimeSeriesCompactionGoalSizeMbytes();
    if (this_present_time_series_compaction_goal_size_mbytes || that_present_time_series_compaction_goal_size_mbytes) {
      if (!(this_present_time_series_compaction_goal_size_mbytes && that_present_time_series_compaction_goal_size_mbytes))
        return false;
      if (this.time_series_compaction_goal_size_mbytes != that.time_series_compaction_goal_size_mbytes)
        return false;
    }

    boolean this_present_time_series_compaction_file_count_threshold = true && this.isSetTimeSeriesCompactionFileCountThreshold();
    boolean that_present_time_series_compaction_file_count_threshold = true && that.isSetTimeSeriesCompactionFileCountThreshold();
    if (this_present_time_series_compaction_file_count_threshold || that_present_time_series_compaction_file_count_threshold) {
      if (!(this_present_time_series_compaction_file_count_threshold && that_present_time_series_compaction_file_count_threshold))
        return false;
      if (this.time_series_compaction_file_count_threshold != that.time_series_compaction_file_count_threshold)
        return false;
    }

    boolean this_present_time_series_compaction_time_threshold_seconds = true && this.isSetTimeSeriesCompactionTimeThresholdSeconds();
    boolean that_present_time_series_compaction_time_threshold_seconds = true && that.isSetTimeSeriesCompactionTimeThresholdSeconds();
    if (this_present_time_series_compaction_time_threshold_seconds || that_present_time_series_compaction_time_threshold_seconds) {
      if (!(this_present_time_series_compaction_time_threshold_seconds && that_present_time_series_compaction_time_threshold_seconds))
        return false;
      if (this.time_series_compaction_time_threshold_seconds != that.time_series_compaction_time_threshold_seconds)
        return false;
    }

    boolean this_present_enable_single_replica_compaction = true && this.isSetEnableSingleReplicaCompaction();
    boolean that_present_enable_single_replica_compaction = true && that.isSetEnableSingleReplicaCompaction();
    if (this_present_enable_single_replica_compaction || that_present_enable_single_replica_compaction) {
      if (!(this_present_enable_single_replica_compaction && that_present_enable_single_replica_compaction))
        return false;
      if (this.enable_single_replica_compaction != that.enable_single_replica_compaction)
        return false;
    }

    boolean this_present_skip_write_index_on_load = true && this.isSetSkipWriteIndexOnLoad();
    boolean that_present_skip_write_index_on_load = true && that.isSetSkipWriteIndexOnLoad();
    if (this_present_skip_write_index_on_load || that_present_skip_write_index_on_load) {
      if (!(this_present_skip_write_index_on_load && that_present_skip_write_index_on_load))
        return false;
      if (this.skip_write_index_on_load != that.skip_write_index_on_load)
        return false;
    }

    boolean this_present_disable_auto_compaction = true && this.isSetDisableAutoCompaction();
    boolean that_present_disable_auto_compaction = true && that.isSetDisableAutoCompaction();
    if (this_present_disable_auto_compaction || that_present_disable_auto_compaction) {
      if (!(this_present_disable_auto_compaction && that_present_disable_auto_compaction))
        return false;
      if (this.disable_auto_compaction != that.disable_auto_compaction)
        return false;
    }

    boolean this_present_time_series_compaction_empty_rowsets_threshold = true && this.isSetTimeSeriesCompactionEmptyRowsetsThreshold();
    boolean that_present_time_series_compaction_empty_rowsets_threshold = true && that.isSetTimeSeriesCompactionEmptyRowsetsThreshold();
    if (this_present_time_series_compaction_empty_rowsets_threshold || that_present_time_series_compaction_empty_rowsets_threshold) {
      if (!(this_present_time_series_compaction_empty_rowsets_threshold && that_present_time_series_compaction_empty_rowsets_threshold))
        return false;
      if (this.time_series_compaction_empty_rowsets_threshold != that.time_series_compaction_empty_rowsets_threshold)
        return false;
    }

    boolean this_present_time_series_compaction_level_threshold = true && this.isSetTimeSeriesCompactionLevelThreshold();
    boolean that_present_time_series_compaction_level_threshold = true && that.isSetTimeSeriesCompactionLevelThreshold();
    if (this_present_time_series_compaction_level_threshold || that_present_time_series_compaction_level_threshold) {
      if (!(this_present_time_series_compaction_level_threshold && that_present_time_series_compaction_level_threshold))
        return false;
      if (this.time_series_compaction_level_threshold != that.time_series_compaction_level_threshold)
        return false;
    }

    boolean this_present_vertical_compaction_num_columns_per_group = true && this.isSetVerticalCompactionNumColumnsPerGroup();
    boolean that_present_vertical_compaction_num_columns_per_group = true && that.isSetVerticalCompactionNumColumnsPerGroup();
    if (this_present_vertical_compaction_num_columns_per_group || that_present_vertical_compaction_num_columns_per_group) {
      if (!(this_present_vertical_compaction_num_columns_per_group && that_present_vertical_compaction_num_columns_per_group))
        return false;
      if (this.vertical_compaction_num_columns_per_group != that.vertical_compaction_num_columns_per_group)
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + ((isSetTabletId()) ? 131071 : 524287);
    if (isSetTabletId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(tablet_id);

    hashCode = hashCode * 8191 + ((isSetSchemaHash()) ? 131071 : 524287);
    if (isSetSchemaHash())
      hashCode = hashCode * 8191 + schema_hash;

    hashCode = hashCode * 8191 + ((isSetPartitionId()) ? 131071 : 524287);
    if (isSetPartitionId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(partition_id);

    hashCode = hashCode * 8191 + ((isSetIsInMemory()) ? 131071 : 524287);
    if (isSetIsInMemory())
      hashCode = hashCode * 8191 + ((is_in_memory) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetStoragePolicyId()) ? 131071 : 524287);
    if (isSetStoragePolicyId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(storage_policy_id);

    hashCode = hashCode * 8191 + ((isSetReplicaId()) ? 131071 : 524287);
    if (isSetReplicaId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(replica_id);

    hashCode = hashCode * 8191 + ((isSetBinlogConfig()) ? 131071 : 524287);
    if (isSetBinlogConfig())
      hashCode = hashCode * 8191 + binlog_config.hashCode();

    hashCode = hashCode * 8191 + ((isSetCompactionPolicy()) ? 131071 : 524287);
    if (isSetCompactionPolicy())
      hashCode = hashCode * 8191 + compaction_policy.hashCode();

    hashCode = hashCode * 8191 + ((isSetTimeSeriesCompactionGoalSizeMbytes()) ? 131071 : 524287);
    if (isSetTimeSeriesCompactionGoalSizeMbytes())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(time_series_compaction_goal_size_mbytes);

    hashCode = hashCode * 8191 + ((isSetTimeSeriesCompactionFileCountThreshold()) ? 131071 : 524287);
    if (isSetTimeSeriesCompactionFileCountThreshold())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(time_series_compaction_file_count_threshold);

    hashCode = hashCode * 8191 + ((isSetTimeSeriesCompactionTimeThresholdSeconds()) ? 131071 : 524287);
    if (isSetTimeSeriesCompactionTimeThresholdSeconds())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(time_series_compaction_time_threshold_seconds);

    hashCode = hashCode * 8191 + ((isSetEnableSingleReplicaCompaction()) ? 131071 : 524287);
    if (isSetEnableSingleReplicaCompaction())
      hashCode = hashCode * 8191 + ((enable_single_replica_compaction) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetSkipWriteIndexOnLoad()) ? 131071 : 524287);
    if (isSetSkipWriteIndexOnLoad())
      hashCode = hashCode * 8191 + ((skip_write_index_on_load) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetDisableAutoCompaction()) ? 131071 : 524287);
    if (isSetDisableAutoCompaction())
      hashCode = hashCode * 8191 + ((disable_auto_compaction) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetTimeSeriesCompactionEmptyRowsetsThreshold()) ? 131071 : 524287);
    if (isSetTimeSeriesCompactionEmptyRowsetsThreshold())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(time_series_compaction_empty_rowsets_threshold);

    hashCode = hashCode * 8191 + ((isSetTimeSeriesCompactionLevelThreshold()) ? 131071 : 524287);
    if (isSetTimeSeriesCompactionLevelThreshold())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(time_series_compaction_level_threshold);

    hashCode = hashCode * 8191 + ((isSetVerticalCompactionNumColumnsPerGroup()) ? 131071 : 524287);
    if (isSetVerticalCompactionNumColumnsPerGroup())
      hashCode = hashCode * 8191 + vertical_compaction_num_columns_per_group;

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetTabletId(), other.isSetTabletId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTabletId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablet_id, other.tablet_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSchemaHash(), other.isSetSchemaHash());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSchemaHash()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.schema_hash, other.schema_hash);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionId(), other.isSetPartitionId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partition_id, other.partition_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetIsInMemory(), other.isSetIsInMemory());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIsInMemory()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.is_in_memory, other.is_in_memory);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetStoragePolicyId(), other.isSetStoragePolicyId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStoragePolicyId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storage_policy_id, other.storage_policy_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetReplicaId(), other.isSetReplicaId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReplicaId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replica_id, other.replica_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetBinlogConfig(), other.isSetBinlogConfig());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBinlogConfig()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.binlog_config, other.binlog_config);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCompactionPolicy(), other.isSetCompactionPolicy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCompactionPolicy()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compaction_policy, other.compaction_policy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTimeSeriesCompactionGoalSizeMbytes(), other.isSetTimeSeriesCompactionGoalSizeMbytes());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTimeSeriesCompactionGoalSizeMbytes()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_series_compaction_goal_size_mbytes, other.time_series_compaction_goal_size_mbytes);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTimeSeriesCompactionFileCountThreshold(), other.isSetTimeSeriesCompactionFileCountThreshold());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTimeSeriesCompactionFileCountThreshold()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_series_compaction_file_count_threshold, other.time_series_compaction_file_count_threshold);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTimeSeriesCompactionTimeThresholdSeconds(), other.isSetTimeSeriesCompactionTimeThresholdSeconds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTimeSeriesCompactionTimeThresholdSeconds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_series_compaction_time_threshold_seconds, other.time_series_compaction_time_threshold_seconds);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetEnableSingleReplicaCompaction(), other.isSetEnableSingleReplicaCompaction());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEnableSingleReplicaCompaction()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enable_single_replica_compaction, other.enable_single_replica_compaction);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSkipWriteIndexOnLoad(), other.isSetSkipWriteIndexOnLoad());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSkipWriteIndexOnLoad()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.skip_write_index_on_load, other.skip_write_index_on_load);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDisableAutoCompaction(), other.isSetDisableAutoCompaction());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDisableAutoCompaction()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.disable_auto_compaction, other.disable_auto_compaction);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTimeSeriesCompactionEmptyRowsetsThreshold(), other.isSetTimeSeriesCompactionEmptyRowsetsThreshold());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTimeSeriesCompactionEmptyRowsetsThreshold()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_series_compaction_empty_rowsets_threshold, other.time_series_compaction_empty_rowsets_threshold);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTimeSeriesCompactionLevelThreshold(), other.isSetTimeSeriesCompactionLevelThreshold());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTimeSeriesCompactionLevelThreshold()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_series_compaction_level_threshold, other.time_series_compaction_level_threshold);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetVerticalCompactionNumColumnsPerGroup(), other.isSetVerticalCompactionNumColumnsPerGroup());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVerticalCompactionNumColumnsPerGroup()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.vertical_compaction_num_columns_per_group, other.vertical_compaction_num_columns_per_group);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  @org.apache.thrift.annotation.Nullable
  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    scheme(iprot).read(iprot, this);
  }

  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
    scheme(oprot).write(oprot, this);
  }

  @Override
  public java.lang.String toString() {
    java.lang.StringBuilder sb = new java.lang.StringBuilder("TTabletMetaInfo(");
    boolean first = true;

    if (isSetTabletId()) {
      sb.append("tablet_id:");
      sb.append(this.tablet_id);
      first = false;
    }
    if (isSetSchemaHash()) {
      if (!first) sb.append(", ");
      sb.append("schema_hash:");
      sb.append(this.schema_hash);
      first = false;
    }
    if (isSetPartitionId()) {
      if (!first) sb.append(", ");
      sb.append("partition_id:");
      sb.append(this.partition_id);
      first = false;
    }
    if (isSetIsInMemory()) {
      if (!first) sb.append(", ");
      sb.append("is_in_memory:");
      sb.append(this.is_in_memory);
      first = false;
    }
    if (isSetStoragePolicyId()) {
      if (!first) sb.append(", ");
      sb.append("storage_policy_id:");
      sb.append(this.storage_policy_id);
      first = false;
    }
    if (isSetReplicaId()) {
      if (!first) sb.append(", ");
      sb.append("replica_id:");
      sb.append(this.replica_id);
      first = false;
    }
    if (isSetBinlogConfig()) {
      if (!first) sb.append(", ");
      sb.append("binlog_config:");
      if (this.binlog_config == null) {
        sb.append("null");
      } else {
        sb.append(this.binlog_config);
      }
      first = false;
    }
    if (isSetCompactionPolicy()) {
      if (!first) sb.append(", ");
      sb.append("compaction_policy:");
      if (this.compaction_policy == null) {
        sb.append("null");
      } else {
        sb.append(this.compaction_policy);
      }
      first = false;
    }
    if (isSetTimeSeriesCompactionGoalSizeMbytes()) {
      if (!first) sb.append(", ");
      sb.append("time_series_compaction_goal_size_mbytes:");
      sb.append(this.time_series_compaction_goal_size_mbytes);
      first = false;
    }
    if (isSetTimeSeriesCompactionFileCountThreshold()) {
      if (!first) sb.append(", ");
      sb.append("time_series_compaction_file_count_threshold:");
      sb.append(this.time_series_compaction_file_count_threshold);
      first = false;
    }
    if (isSetTimeSeriesCompactionTimeThresholdSeconds()) {
      if (!first) sb.append(", ");
      sb.append("time_series_compaction_time_threshold_seconds:");
      sb.append(this.time_series_compaction_time_threshold_seconds);
      first = false;
    }
    if (isSetEnableSingleReplicaCompaction()) {
      if (!first) sb.append(", ");
      sb.append("enable_single_replica_compaction:");
      sb.append(this.enable_single_replica_compaction);
      first = false;
    }
    if (isSetSkipWriteIndexOnLoad()) {
      if (!first) sb.append(", ");
      sb.append("skip_write_index_on_load:");
      sb.append(this.skip_write_index_on_load);
      first = false;
    }
    if (isSetDisableAutoCompaction()) {
      if (!first) sb.append(", ");
      sb.append("disable_auto_compaction:");
      sb.append(this.disable_auto_compaction);
      first = false;
    }
    if (isSetTimeSeriesCompactionEmptyRowsetsThreshold()) {
      if (!first) sb.append(", ");
      sb.append("time_series_compaction_empty_rowsets_threshold:");
      sb.append(this.time_series_compaction_empty_rowsets_threshold);
      first = false;
    }
    if (isSetTimeSeriesCompactionLevelThreshold()) {
      if (!first) sb.append(", ");
      sb.append("time_series_compaction_level_threshold:");
      sb.append(this.time_series_compaction_level_threshold);
      first = false;
    }
    if (isSetVerticalCompactionNumColumnsPerGroup()) {
      if (!first) sb.append(", ");
      sb.append("vertical_compaction_num_columns_per_group:");
      sb.append(this.vertical_compaction_num_columns_per_group);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

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

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

  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.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 org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
    } catch (org.apache.thrift.TException te) {
      throw new java.io.IOException(te);
    }
  }

  private static class TTabletMetaInfoStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TTabletMetaInfoStandardScheme getScheme() {
      return new TTabletMetaInfoStandardScheme();
    }
  }

  private static class TTabletMetaInfoStandardScheme extends org.apache.thrift.scheme.StandardScheme<TTabletMetaInfo> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TTabletMetaInfo struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // TABLET_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.tablet_id = iprot.readI64();
              struct.setTabletIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // SCHEMA_HASH
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.schema_hash = iprot.readI32();
              struct.setSchemaHashIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // PARTITION_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.partition_id = iprot.readI64();
              struct.setPartitionIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // IS_IN_MEMORY
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.is_in_memory = iprot.readBool();
              struct.setIsInMemoryIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // STORAGE_POLICY_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.storage_policy_id = iprot.readI64();
              struct.setStoragePolicyIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // REPLICA_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.replica_id = iprot.readI64();
              struct.setReplicaIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // BINLOG_CONFIG
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.binlog_config = new TBinlogConfig();
              struct.binlog_config.read(iprot);
              struct.setBinlogConfigIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // COMPACTION_POLICY
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.compaction_policy = iprot.readString();
              struct.setCompactionPolicyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.time_series_compaction_goal_size_mbytes = iprot.readI64();
              struct.setTimeSeriesCompactionGoalSizeMbytesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.time_series_compaction_file_count_threshold = iprot.readI64();
              struct.setTimeSeriesCompactionFileCountThresholdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.time_series_compaction_time_threshold_seconds = iprot.readI64();
              struct.setTimeSeriesCompactionTimeThresholdSecondsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // ENABLE_SINGLE_REPLICA_COMPACTION
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.enable_single_replica_compaction = iprot.readBool();
              struct.setEnableSingleReplicaCompactionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // SKIP_WRITE_INDEX_ON_LOAD
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.skip_write_index_on_load = iprot.readBool();
              struct.setSkipWriteIndexOnLoadIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // DISABLE_AUTO_COMPACTION
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.disable_auto_compaction = iprot.readBool();
              struct.setDisableAutoCompactionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 17: // TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.time_series_compaction_empty_rowsets_threshold = iprot.readI64();
              struct.setTimeSeriesCompactionEmptyRowsetsThresholdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 18: // TIME_SERIES_COMPACTION_LEVEL_THRESHOLD
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.time_series_compaction_level_threshold = iprot.readI64();
              struct.setTimeSeriesCompactionLevelThresholdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 19: // VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.vertical_compaction_num_columns_per_group = iprot.readI32();
              struct.setVerticalCompactionNumColumnsPerGroupIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.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(org.apache.thrift.protocol.TProtocol oprot, TTabletMetaInfo struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.isSetTabletId()) {
        oprot.writeFieldBegin(TABLET_ID_FIELD_DESC);
        oprot.writeI64(struct.tablet_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetSchemaHash()) {
        oprot.writeFieldBegin(SCHEMA_HASH_FIELD_DESC);
        oprot.writeI32(struct.schema_hash);
        oprot.writeFieldEnd();
      }
      if (struct.isSetPartitionId()) {
        oprot.writeFieldBegin(PARTITION_ID_FIELD_DESC);
        oprot.writeI64(struct.partition_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetIsInMemory()) {
        oprot.writeFieldBegin(IS_IN_MEMORY_FIELD_DESC);
        oprot.writeBool(struct.is_in_memory);
        oprot.writeFieldEnd();
      }
      if (struct.isSetStoragePolicyId()) {
        oprot.writeFieldBegin(STORAGE_POLICY_ID_FIELD_DESC);
        oprot.writeI64(struct.storage_policy_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetReplicaId()) {
        oprot.writeFieldBegin(REPLICA_ID_FIELD_DESC);
        oprot.writeI64(struct.replica_id);
        oprot.writeFieldEnd();
      }
      if (struct.binlog_config != null) {
        if (struct.isSetBinlogConfig()) {
          oprot.writeFieldBegin(BINLOG_CONFIG_FIELD_DESC);
          struct.binlog_config.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.compaction_policy != null) {
        if (struct.isSetCompactionPolicy()) {
          oprot.writeFieldBegin(COMPACTION_POLICY_FIELD_DESC);
          oprot.writeString(struct.compaction_policy);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTimeSeriesCompactionGoalSizeMbytes()) {
        oprot.writeFieldBegin(TIME_SERIES_COMPACTION_GOAL_SIZE_MBYTES_FIELD_DESC);
        oprot.writeI64(struct.time_series_compaction_goal_size_mbytes);
        oprot.writeFieldEnd();
      }
      if (struct.isSetTimeSeriesCompactionFileCountThreshold()) {
        oprot.writeFieldBegin(TIME_SERIES_COMPACTION_FILE_COUNT_THRESHOLD_FIELD_DESC);
        oprot.writeI64(struct.time_series_compaction_file_count_threshold);
        oprot.writeFieldEnd();
      }
      if (struct.isSetTimeSeriesCompactionTimeThresholdSeconds()) {
        oprot.writeFieldBegin(TIME_SERIES_COMPACTION_TIME_THRESHOLD_SECONDS_FIELD_DESC);
        oprot.writeI64(struct.time_series_compaction_time_threshold_seconds);
        oprot.writeFieldEnd();
      }
      if (struct.isSetEnableSingleReplicaCompaction()) {
        oprot.writeFieldBegin(ENABLE_SINGLE_REPLICA_COMPACTION_FIELD_DESC);
        oprot.writeBool(struct.enable_single_replica_compaction);
        oprot.writeFieldEnd();
      }
      if (struct.isSetSkipWriteIndexOnLoad()) {
        oprot.writeFieldBegin(SKIP_WRITE_INDEX_ON_LOAD_FIELD_DESC);
        oprot.writeBool(struct.skip_write_index_on_load);
        oprot.writeFieldEnd();
      }
      if (struct.isSetDisableAutoCompaction()) {
        oprot.writeFieldBegin(DISABLE_AUTO_COMPACTION_FIELD_DESC);
        oprot.writeBool(struct.disable_auto_compaction);
        oprot.writeFieldEnd();
      }
      if (struct.isSetTimeSeriesCompactionEmptyRowsetsThreshold()) {
        oprot.writeFieldBegin(TIME_SERIES_COMPACTION_EMPTY_ROWSETS_THRESHOLD_FIELD_DESC);
        oprot.writeI64(struct.time_series_compaction_empty_rowsets_threshold);
        oprot.writeFieldEnd();
      }
      if (struct.isSetTimeSeriesCompactionLevelThreshold()) {
        oprot.writeFieldBegin(TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_FIELD_DESC);
        oprot.writeI64(struct.time_series_compaction_level_threshold);
        oprot.writeFieldEnd();
      }
      if (struct.isSetVerticalCompactionNumColumnsPerGroup()) {
        oprot.writeFieldBegin(VERTICAL_COMPACTION_NUM_COLUMNS_PER_GROUP_FIELD_DESC);
        oprot.writeI32(struct.vertical_compaction_num_columns_per_group);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class TTabletMetaInfoTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TTabletMetaInfoTupleScheme getScheme() {
      return new TTabletMetaInfoTupleScheme();
    }
  }

  private static class TTabletMetaInfoTupleScheme extends org.apache.thrift.scheme.TupleScheme<TTabletMetaInfo> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TTabletMetaInfo struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetTabletId()) {
        optionals.set(0);
      }
      if (struct.isSetSchemaHash()) {
        optionals.set(1);
      }
      if (struct.isSetPartitionId()) {
        optionals.set(2);
      }
      if (struct.isSetIsInMemory()) {
        optionals.set(3);
      }
      if (struct.isSetStoragePolicyId()) {
        optionals.set(4);
      }
      if (struct.isSetReplicaId()) {
        optionals.set(5);
      }
      if (struct.isSetBinlogConfig()) {
        optionals.set(6);
      }
      if (struct.isSetCompactionPolicy()) {
        optionals.set(7);
      }
      if (struct.isSetTimeSeriesCompactionGoalSizeMbytes()) {
        optionals.set(8);
      }
      if (struct.isSetTimeSeriesCompactionFileCountThreshold()) {
        optionals.set(9);
      }
      if (struct.isSetTimeSeriesCompactionTimeThresholdSeconds()) {
        optionals.set(10);
      }
      if (struct.isSetEnableSingleReplicaCompaction()) {
        optionals.set(11);
      }
      if (struct.isSetSkipWriteIndexOnLoad()) {
        optionals.set(12);
      }
      if (struct.isSetDisableAutoCompaction()) {
        optionals.set(13);
      }
      if (struct.isSetTimeSeriesCompactionEmptyRowsetsThreshold()) {
        optionals.set(14);
      }
      if (struct.isSetTimeSeriesCompactionLevelThreshold()) {
        optionals.set(15);
      }
      if (struct.isSetVerticalCompactionNumColumnsPerGroup()) {
        optionals.set(16);
      }
      oprot.writeBitSet(optionals, 17);
      if (struct.isSetTabletId()) {
        oprot.writeI64(struct.tablet_id);
      }
      if (struct.isSetSchemaHash()) {
        oprot.writeI32(struct.schema_hash);
      }
      if (struct.isSetPartitionId()) {
        oprot.writeI64(struct.partition_id);
      }
      if (struct.isSetIsInMemory()) {
        oprot.writeBool(struct.is_in_memory);
      }
      if (struct.isSetStoragePolicyId()) {
        oprot.writeI64(struct.storage_policy_id);
      }
      if (struct.isSetReplicaId()) {
        oprot.writeI64(struct.replica_id);
      }
      if (struct.isSetBinlogConfig()) {
        struct.binlog_config.write(oprot);
      }
      if (struct.isSetCompactionPolicy()) {
        oprot.writeString(struct.compaction_policy);
      }
      if (struct.isSetTimeSeriesCompactionGoalSizeMbytes()) {
        oprot.writeI64(struct.time_series_compaction_goal_size_mbytes);
      }
      if (struct.isSetTimeSeriesCompactionFileCountThreshold()) {
        oprot.writeI64(struct.time_series_compaction_file_count_threshold);
      }
      if (struct.isSetTimeSeriesCompactionTimeThresholdSeconds()) {
        oprot.writeI64(struct.time_series_compaction_time_threshold_seconds);
      }
      if (struct.isSetEnableSingleReplicaCompaction()) {
        oprot.writeBool(struct.enable_single_replica_compaction);
      }
      if (struct.isSetSkipWriteIndexOnLoad()) {
        oprot.writeBool(struct.skip_write_index_on_load);
      }
      if (struct.isSetDisableAutoCompaction()) {
        oprot.writeBool(struct.disable_auto_compaction);
      }
      if (struct.isSetTimeSeriesCompactionEmptyRowsetsThreshold()) {
        oprot.writeI64(struct.time_series_compaction_empty_rowsets_threshold);
      }
      if (struct.isSetTimeSeriesCompactionLevelThreshold()) {
        oprot.writeI64(struct.time_series_compaction_level_threshold);
      }
      if (struct.isSetVerticalCompactionNumColumnsPerGroup()) {
        oprot.writeI32(struct.vertical_compaction_num_columns_per_group);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TTabletMetaInfo struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(17);
      if (incoming.get(0)) {
        struct.tablet_id = iprot.readI64();
        struct.setTabletIdIsSet(true);
      }
      if (incoming.get(1)) {
        struct.schema_hash = iprot.readI32();
        struct.setSchemaHashIsSet(true);
      }
      if (incoming.get(2)) {
        struct.partition_id = iprot.readI64();
        struct.setPartitionIdIsSet(true);
      }
      if (incoming.get(3)) {
        struct.is_in_memory = iprot.readBool();
        struct.setIsInMemoryIsSet(true);
      }
      if (incoming.get(4)) {
        struct.storage_policy_id = iprot.readI64();
        struct.setStoragePolicyIdIsSet(true);
      }
      if (incoming.get(5)) {
        struct.replica_id = iprot.readI64();
        struct.setReplicaIdIsSet(true);
      }
      if (incoming.get(6)) {
        struct.binlog_config = new TBinlogConfig();
        struct.binlog_config.read(iprot);
        struct.setBinlogConfigIsSet(true);
      }
      if (incoming.get(7)) {
        struct.compaction_policy = iprot.readString();
        struct.setCompactionPolicyIsSet(true);
      }
      if (incoming.get(8)) {
        struct.time_series_compaction_goal_size_mbytes = iprot.readI64();
        struct.setTimeSeriesCompactionGoalSizeMbytesIsSet(true);
      }
      if (incoming.get(9)) {
        struct.time_series_compaction_file_count_threshold = iprot.readI64();
        struct.setTimeSeriesCompactionFileCountThresholdIsSet(true);
      }
      if (incoming.get(10)) {
        struct.time_series_compaction_time_threshold_seconds = iprot.readI64();
        struct.setTimeSeriesCompactionTimeThresholdSecondsIsSet(true);
      }
      if (incoming.get(11)) {
        struct.enable_single_replica_compaction = iprot.readBool();
        struct.setEnableSingleReplicaCompactionIsSet(true);
      }
      if (incoming.get(12)) {
        struct.skip_write_index_on_load = iprot.readBool();
        struct.setSkipWriteIndexOnLoadIsSet(true);
      }
      if (incoming.get(13)) {
        struct.disable_auto_compaction = iprot.readBool();
        struct.setDisableAutoCompactionIsSet(true);
      }
      if (incoming.get(14)) {
        struct.time_series_compaction_empty_rowsets_threshold = iprot.readI64();
        struct.setTimeSeriesCompactionEmptyRowsetsThresholdIsSet(true);
      }
      if (incoming.get(15)) {
        struct.time_series_compaction_level_threshold = iprot.readI64();
        struct.setTimeSeriesCompactionLevelThresholdIsSet(true);
      }
      if (incoming.get(16)) {
        struct.vertical_compaction_num_columns_per_group = iprot.readI32();
        struct.setVerticalCompactionNumColumnsPerGroupIsSet(true);
      }
    }
  }

  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
  }
}