TTabletInfo.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 TTabletInfo implements org.apache.thrift.TBase<TTabletInfo, TTabletInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TTabletInfo> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTabletInfo");

  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 VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("version", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField VERSION_HASH_FIELD_DESC = new org.apache.thrift.protocol.TField("version_hash", org.apache.thrift.protocol.TType.I64, (short)4);
  private static final org.apache.thrift.protocol.TField ROW_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("row_count", org.apache.thrift.protocol.TType.I64, (short)5);
  private static final org.apache.thrift.protocol.TField DATA_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("data_size", org.apache.thrift.protocol.TType.I64, (short)6);
  private static final org.apache.thrift.protocol.TField STORAGE_MEDIUM_FIELD_DESC = new org.apache.thrift.protocol.TField("storage_medium", org.apache.thrift.protocol.TType.I32, (short)7);
  private static final org.apache.thrift.protocol.TField TRANSACTION_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("transaction_ids", org.apache.thrift.protocol.TType.LIST, (short)8);
  private static final org.apache.thrift.protocol.TField TOTAL_VERSION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("total_version_count", org.apache.thrift.protocol.TType.I64, (short)9);
  private static final org.apache.thrift.protocol.TField PATH_HASH_FIELD_DESC = new org.apache.thrift.protocol.TField("path_hash", org.apache.thrift.protocol.TType.I64, (short)10);
  private static final org.apache.thrift.protocol.TField VERSION_MISS_FIELD_DESC = new org.apache.thrift.protocol.TField("version_miss", org.apache.thrift.protocol.TType.BOOL, (short)11);
  private static final org.apache.thrift.protocol.TField USED_FIELD_DESC = new org.apache.thrift.protocol.TField("used", org.apache.thrift.protocol.TType.BOOL, (short)12);
  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)13);
  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)14);
  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)15);
  private static final org.apache.thrift.protocol.TField REMOTE_DATA_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("remote_data_size", org.apache.thrift.protocol.TType.I64, (short)16);
  private static final org.apache.thrift.protocol.TField COOLDOWN_TERM_FIELD_DESC = new org.apache.thrift.protocol.TField("cooldown_term", org.apache.thrift.protocol.TType.I64, (short)19);
  private static final org.apache.thrift.protocol.TField COOLDOWN_META_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("cooldown_meta_id", org.apache.thrift.protocol.TType.STRUCT, (short)20);
  private static final org.apache.thrift.protocol.TField VISIBLE_VERSION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("visible_version_count", org.apache.thrift.protocol.TType.I64, (short)21);
  private static final org.apache.thrift.protocol.TField LOCAL_INDEX_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("local_index_size", org.apache.thrift.protocol.TType.I64, (short)22);
  private static final org.apache.thrift.protocol.TField LOCAL_SEGMENT_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("local_segment_size", org.apache.thrift.protocol.TType.I64, (short)23);
  private static final org.apache.thrift.protocol.TField REMOTE_INDEX_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("remote_index_size", org.apache.thrift.protocol.TType.I64, (short)24);
  private static final org.apache.thrift.protocol.TField REMOTE_SEGMENT_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("remote_segment_size", org.apache.thrift.protocol.TType.I64, (short)25);
  private static final org.apache.thrift.protocol.TField IS_PERSISTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("is_persistent", org.apache.thrift.protocol.TType.BOOL, (short)1000);

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

  public long tablet_id; // required
  public int schema_hash; // required
  public long version; // required
  public long version_hash; // required
  public long row_count; // required
  public long data_size; // required
  /**
   * 
   * @see org.apache.doris.thrift.TStorageMedium
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStorageMedium storage_medium; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> transaction_ids; // optional
  public long total_version_count; // optional
  public long path_hash; // optional
  public boolean version_miss; // optional
  public boolean used; // optional
  public long partition_id; // optional
  public boolean is_in_memory; // optional
  public long replica_id; // optional
  public long remote_data_size; // optional
  public long cooldown_term; // optional
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId cooldown_meta_id; // optional
  public long visible_version_count; // optional
  public long local_index_size; // optional
  public long local_segment_size; // optional
  public long remote_index_size; // optional
  public long remote_segment_size; // optional
  public boolean is_persistent; // 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"),
    VERSION((short)3, "version"),
    VERSION_HASH((short)4, "version_hash"),
    ROW_COUNT((short)5, "row_count"),
    DATA_SIZE((short)6, "data_size"),
    /**
     * 
     * @see org.apache.doris.thrift.TStorageMedium
     */
    STORAGE_MEDIUM((short)7, "storage_medium"),
    TRANSACTION_IDS((short)8, "transaction_ids"),
    TOTAL_VERSION_COUNT((short)9, "total_version_count"),
    PATH_HASH((short)10, "path_hash"),
    VERSION_MISS((short)11, "version_miss"),
    USED((short)12, "used"),
    PARTITION_ID((short)13, "partition_id"),
    IS_IN_MEMORY((short)14, "is_in_memory"),
    REPLICA_ID((short)15, "replica_id"),
    REMOTE_DATA_SIZE((short)16, "remote_data_size"),
    COOLDOWN_TERM((short)19, "cooldown_term"),
    COOLDOWN_META_ID((short)20, "cooldown_meta_id"),
    VISIBLE_VERSION_COUNT((short)21, "visible_version_count"),
    LOCAL_INDEX_SIZE((short)22, "local_index_size"),
    LOCAL_SEGMENT_SIZE((short)23, "local_segment_size"),
    REMOTE_INDEX_SIZE((short)24, "remote_index_size"),
    REMOTE_SEGMENT_SIZE((short)25, "remote_segment_size"),
    IS_PERSISTENT((short)1000, "is_persistent");

    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: // VERSION
          return VERSION;
        case 4: // VERSION_HASH
          return VERSION_HASH;
        case 5: // ROW_COUNT
          return ROW_COUNT;
        case 6: // DATA_SIZE
          return DATA_SIZE;
        case 7: // STORAGE_MEDIUM
          return STORAGE_MEDIUM;
        case 8: // TRANSACTION_IDS
          return TRANSACTION_IDS;
        case 9: // TOTAL_VERSION_COUNT
          return TOTAL_VERSION_COUNT;
        case 10: // PATH_HASH
          return PATH_HASH;
        case 11: // VERSION_MISS
          return VERSION_MISS;
        case 12: // USED
          return USED;
        case 13: // PARTITION_ID
          return PARTITION_ID;
        case 14: // IS_IN_MEMORY
          return IS_IN_MEMORY;
        case 15: // REPLICA_ID
          return REPLICA_ID;
        case 16: // REMOTE_DATA_SIZE
          return REMOTE_DATA_SIZE;
        case 19: // COOLDOWN_TERM
          return COOLDOWN_TERM;
        case 20: // COOLDOWN_META_ID
          return COOLDOWN_META_ID;
        case 21: // VISIBLE_VERSION_COUNT
          return VISIBLE_VERSION_COUNT;
        case 22: // LOCAL_INDEX_SIZE
          return LOCAL_INDEX_SIZE;
        case 23: // LOCAL_SEGMENT_SIZE
          return LOCAL_SEGMENT_SIZE;
        case 24: // REMOTE_INDEX_SIZE
          return REMOTE_INDEX_SIZE;
        case 25: // REMOTE_SEGMENT_SIZE
          return REMOTE_SEGMENT_SIZE;
        case 1000: // IS_PERSISTENT
          return IS_PERSISTENT;
        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 __VERSION_ISSET_ID = 2;
  private static final int __VERSION_HASH_ISSET_ID = 3;
  private static final int __ROW_COUNT_ISSET_ID = 4;
  private static final int __DATA_SIZE_ISSET_ID = 5;
  private static final int __TOTAL_VERSION_COUNT_ISSET_ID = 6;
  private static final int __PATH_HASH_ISSET_ID = 7;
  private static final int __VERSION_MISS_ISSET_ID = 8;
  private static final int __USED_ISSET_ID = 9;
  private static final int __PARTITION_ID_ISSET_ID = 10;
  private static final int __IS_IN_MEMORY_ISSET_ID = 11;
  private static final int __REPLICA_ID_ISSET_ID = 12;
  private static final int __REMOTE_DATA_SIZE_ISSET_ID = 13;
  private static final int __COOLDOWN_TERM_ISSET_ID = 14;
  private static final int __VISIBLE_VERSION_COUNT_ISSET_ID = 15;
  private static final int __LOCAL_INDEX_SIZE_ISSET_ID = 16;
  private static final int __LOCAL_SEGMENT_SIZE_ISSET_ID = 17;
  private static final int __REMOTE_INDEX_SIZE_ISSET_ID = 18;
  private static final int __REMOTE_SEGMENT_SIZE_ISSET_ID = 19;
  private static final int __IS_PERSISTENT_ISSET_ID = 20;
  private int __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.STORAGE_MEDIUM,_Fields.TRANSACTION_IDS,_Fields.TOTAL_VERSION_COUNT,_Fields.PATH_HASH,_Fields.VERSION_MISS,_Fields.USED,_Fields.PARTITION_ID,_Fields.IS_IN_MEMORY,_Fields.REPLICA_ID,_Fields.REMOTE_DATA_SIZE,_Fields.COOLDOWN_TERM,_Fields.COOLDOWN_META_ID,_Fields.VISIBLE_VERSION_COUNT,_Fields.LOCAL_INDEX_SIZE,_Fields.LOCAL_SEGMENT_SIZE,_Fields.REMOTE_INDEX_SIZE,_Fields.REMOTE_SEGMENT_SIZE,_Fields.IS_PERSISTENT};
  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.REQUIRED, 
        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.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32        , "TSchemaHash")));
    tmpMap.put(_Fields.VERSION, new org.apache.thrift.meta_data.FieldMetaData("version", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TVersion")));
    tmpMap.put(_Fields.VERSION_HASH, new org.apache.thrift.meta_data.FieldMetaData("version_hash", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TVersionHash")));
    tmpMap.put(_Fields.ROW_COUNT, new org.apache.thrift.meta_data.FieldMetaData("row_count", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TCount")));
    tmpMap.put(_Fields.DATA_SIZE, new org.apache.thrift.meta_data.FieldMetaData("data_size", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TSize")));
    tmpMap.put(_Fields.STORAGE_MEDIUM, new org.apache.thrift.meta_data.FieldMetaData("storage_medium", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TStorageMedium.class)));
    tmpMap.put(_Fields.TRANSACTION_IDS, new org.apache.thrift.meta_data.FieldMetaData("transaction_ids", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TTransactionId"))));
    tmpMap.put(_Fields.TOTAL_VERSION_COUNT, new org.apache.thrift.meta_data.FieldMetaData("total_version_count", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.PATH_HASH, new org.apache.thrift.meta_data.FieldMetaData("path_hash", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.VERSION_MISS, new org.apache.thrift.meta_data.FieldMetaData("version_miss", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.USED, new org.apache.thrift.meta_data.FieldMetaData("used", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    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.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.REMOTE_DATA_SIZE, new org.apache.thrift.meta_data.FieldMetaData("remote_data_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64        , "TSize")));
    tmpMap.put(_Fields.COOLDOWN_TERM, new org.apache.thrift.meta_data.FieldMetaData("cooldown_term", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.COOLDOWN_META_ID, new org.apache.thrift.meta_data.FieldMetaData("cooldown_meta_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TUniqueId.class)));
    tmpMap.put(_Fields.VISIBLE_VERSION_COUNT, new org.apache.thrift.meta_data.FieldMetaData("visible_version_count", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.LOCAL_INDEX_SIZE, new org.apache.thrift.meta_data.FieldMetaData("local_index_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.LOCAL_SEGMENT_SIZE, new org.apache.thrift.meta_data.FieldMetaData("local_segment_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.REMOTE_INDEX_SIZE, new org.apache.thrift.meta_data.FieldMetaData("remote_index_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.REMOTE_SEGMENT_SIZE, new org.apache.thrift.meta_data.FieldMetaData("remote_segment_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.IS_PERSISTENT, new org.apache.thrift.meta_data.FieldMetaData("is_persistent", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TTabletInfo.class, metaDataMap);
  }

  public TTabletInfo() {
    this.local_index_size = 0L;

    this.local_segment_size = 0L;

    this.remote_index_size = 0L;

    this.remote_segment_size = 0L;

  }

  public TTabletInfo(
    long tablet_id,
    int schema_hash,
    long version,
    long version_hash,
    long row_count,
    long data_size)
  {
    this();
    this.tablet_id = tablet_id;
    setTabletIdIsSet(true);
    this.schema_hash = schema_hash;
    setSchemaHashIsSet(true);
    this.version = version;
    setVersionIsSet(true);
    this.version_hash = version_hash;
    setVersionHashIsSet(true);
    this.row_count = row_count;
    setRowCountIsSet(true);
    this.data_size = data_size;
    setDataSizeIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TTabletInfo(TTabletInfo other) {
    __isset_bitfield = other.__isset_bitfield;
    this.tablet_id = other.tablet_id;
    this.schema_hash = other.schema_hash;
    this.version = other.version;
    this.version_hash = other.version_hash;
    this.row_count = other.row_count;
    this.data_size = other.data_size;
    if (other.isSetStorageMedium()) {
      this.storage_medium = other.storage_medium;
    }
    if (other.isSetTransactionIds()) {
      java.util.List<java.lang.Long> __this__transaction_ids = new java.util.ArrayList<java.lang.Long>(other.transaction_ids.size());
      for (java.lang.Long other_element : other.transaction_ids) {
        __this__transaction_ids.add(other_element);
      }
      this.transaction_ids = __this__transaction_ids;
    }
    this.total_version_count = other.total_version_count;
    this.path_hash = other.path_hash;
    this.version_miss = other.version_miss;
    this.used = other.used;
    this.partition_id = other.partition_id;
    this.is_in_memory = other.is_in_memory;
    this.replica_id = other.replica_id;
    this.remote_data_size = other.remote_data_size;
    this.cooldown_term = other.cooldown_term;
    if (other.isSetCooldownMetaId()) {
      this.cooldown_meta_id = new org.apache.doris.thrift.TUniqueId(other.cooldown_meta_id);
    }
    this.visible_version_count = other.visible_version_count;
    this.local_index_size = other.local_index_size;
    this.local_segment_size = other.local_segment_size;
    this.remote_index_size = other.remote_index_size;
    this.remote_segment_size = other.remote_segment_size;
    this.is_persistent = other.is_persistent;
  }

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

  @Override
  public void clear() {
    setTabletIdIsSet(false);
    this.tablet_id = 0;
    setSchemaHashIsSet(false);
    this.schema_hash = 0;
    setVersionIsSet(false);
    this.version = 0;
    setVersionHashIsSet(false);
    this.version_hash = 0;
    setRowCountIsSet(false);
    this.row_count = 0;
    setDataSizeIsSet(false);
    this.data_size = 0;
    this.storage_medium = null;
    this.transaction_ids = null;
    setTotalVersionCountIsSet(false);
    this.total_version_count = 0;
    setPathHashIsSet(false);
    this.path_hash = 0;
    setVersionMissIsSet(false);
    this.version_miss = false;
    setUsedIsSet(false);
    this.used = false;
    setPartitionIdIsSet(false);
    this.partition_id = 0;
    setIsInMemoryIsSet(false);
    this.is_in_memory = false;
    setReplicaIdIsSet(false);
    this.replica_id = 0;
    setRemoteDataSizeIsSet(false);
    this.remote_data_size = 0;
    setCooldownTermIsSet(false);
    this.cooldown_term = 0;
    this.cooldown_meta_id = null;
    setVisibleVersionCountIsSet(false);
    this.visible_version_count = 0;
    this.local_index_size = 0L;

    this.local_segment_size = 0L;

    this.remote_index_size = 0L;

    this.remote_segment_size = 0L;

    setIsPersistentIsSet(false);
    this.is_persistent = false;
  }

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

  public TTabletInfo 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 TTabletInfo 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 getVersion() {
    return this.version;
  }

  public TTabletInfo setVersion(long version) {
    this.version = version;
    setVersionIsSet(true);
    return this;
  }

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

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

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

  public long getVersionHash() {
    return this.version_hash;
  }

  public TTabletInfo setVersionHash(long version_hash) {
    this.version_hash = version_hash;
    setVersionHashIsSet(true);
    return this;
  }

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

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

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

  public long getRowCount() {
    return this.row_count;
  }

  public TTabletInfo setRowCount(long row_count) {
    this.row_count = row_count;
    setRowCountIsSet(true);
    return this;
  }

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

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

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

  public long getDataSize() {
    return this.data_size;
  }

  public TTabletInfo setDataSize(long data_size) {
    this.data_size = data_size;
    setDataSizeIsSet(true);
    return this;
  }

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

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

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

  /**
   * 
   * @see org.apache.doris.thrift.TStorageMedium
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TStorageMedium getStorageMedium() {
    return this.storage_medium;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TStorageMedium
   */
  public TTabletInfo setStorageMedium(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStorageMedium storage_medium) {
    this.storage_medium = storage_medium;
    return this;
  }

  public void unsetStorageMedium() {
    this.storage_medium = null;
  }

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

  public void setStorageMediumIsSet(boolean value) {
    if (!value) {
      this.storage_medium = null;
    }
  }

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<java.lang.Long> getTransactionIdsIterator() {
    return (this.transaction_ids == null) ? null : this.transaction_ids.iterator();
  }

  public void addToTransactionIds(long elem) {
    if (this.transaction_ids == null) {
      this.transaction_ids = new java.util.ArrayList<java.lang.Long>();
    }
    this.transaction_ids.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.Long> getTransactionIds() {
    return this.transaction_ids;
  }

  public TTabletInfo setTransactionIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> transaction_ids) {
    this.transaction_ids = transaction_ids;
    return this;
  }

  public void unsetTransactionIds() {
    this.transaction_ids = null;
  }

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

  public void setTransactionIdsIsSet(boolean value) {
    if (!value) {
      this.transaction_ids = null;
    }
  }

  public long getTotalVersionCount() {
    return this.total_version_count;
  }

  public TTabletInfo setTotalVersionCount(long total_version_count) {
    this.total_version_count = total_version_count;
    setTotalVersionCountIsSet(true);
    return this;
  }

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

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

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

  public long getPathHash() {
    return this.path_hash;
  }

  public TTabletInfo setPathHash(long path_hash) {
    this.path_hash = path_hash;
    setPathHashIsSet(true);
    return this;
  }

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

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

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

  public boolean isVersionMiss() {
    return this.version_miss;
  }

  public TTabletInfo setVersionMiss(boolean version_miss) {
    this.version_miss = version_miss;
    setVersionMissIsSet(true);
    return this;
  }

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

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

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

  public boolean isUsed() {
    return this.used;
  }

  public TTabletInfo setUsed(boolean used) {
    this.used = used;
    setUsedIsSet(true);
    return this;
  }

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

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

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

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

  public TTabletInfo 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 TTabletInfo 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 getReplicaId() {
    return this.replica_id;
  }

  public TTabletInfo 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);
  }

  public long getRemoteDataSize() {
    return this.remote_data_size;
  }

  public TTabletInfo setRemoteDataSize(long remote_data_size) {
    this.remote_data_size = remote_data_size;
    setRemoteDataSizeIsSet(true);
    return this;
  }

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

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

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

  public long getCooldownTerm() {
    return this.cooldown_term;
  }

  public TTabletInfo setCooldownTerm(long cooldown_term) {
    this.cooldown_term = cooldown_term;
    setCooldownTermIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TUniqueId getCooldownMetaId() {
    return this.cooldown_meta_id;
  }

  public TTabletInfo setCooldownMetaId(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId cooldown_meta_id) {
    this.cooldown_meta_id = cooldown_meta_id;
    return this;
  }

  public void unsetCooldownMetaId() {
    this.cooldown_meta_id = null;
  }

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

  public void setCooldownMetaIdIsSet(boolean value) {
    if (!value) {
      this.cooldown_meta_id = null;
    }
  }

  public long getVisibleVersionCount() {
    return this.visible_version_count;
  }

  public TTabletInfo setVisibleVersionCount(long visible_version_count) {
    this.visible_version_count = visible_version_count;
    setVisibleVersionCountIsSet(true);
    return this;
  }

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

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

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

  public long getLocalIndexSize() {
    return this.local_index_size;
  }

  public TTabletInfo setLocalIndexSize(long local_index_size) {
    this.local_index_size = local_index_size;
    setLocalIndexSizeIsSet(true);
    return this;
  }

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

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

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

  public long getLocalSegmentSize() {
    return this.local_segment_size;
  }

  public TTabletInfo setLocalSegmentSize(long local_segment_size) {
    this.local_segment_size = local_segment_size;
    setLocalSegmentSizeIsSet(true);
    return this;
  }

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

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

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

  public long getRemoteIndexSize() {
    return this.remote_index_size;
  }

  public TTabletInfo setRemoteIndexSize(long remote_index_size) {
    this.remote_index_size = remote_index_size;
    setRemoteIndexSizeIsSet(true);
    return this;
  }

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

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

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

  public long getRemoteSegmentSize() {
    return this.remote_segment_size;
  }

  public TTabletInfo setRemoteSegmentSize(long remote_segment_size) {
    this.remote_segment_size = remote_segment_size;
    setRemoteSegmentSizeIsSet(true);
    return this;
  }

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

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

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

  public boolean isIsPersistent() {
    return this.is_persistent;
  }

  public TTabletInfo setIsPersistent(boolean is_persistent) {
    this.is_persistent = is_persistent;
    setIsPersistentIsSet(true);
    return this;
  }

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

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

  public void setIsPersistentIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __IS_PERSISTENT_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 VERSION:
      if (value == null) {
        unsetVersion();
      } else {
        setVersion((java.lang.Long)value);
      }
      break;

    case VERSION_HASH:
      if (value == null) {
        unsetVersionHash();
      } else {
        setVersionHash((java.lang.Long)value);
      }
      break;

    case ROW_COUNT:
      if (value == null) {
        unsetRowCount();
      } else {
        setRowCount((java.lang.Long)value);
      }
      break;

    case DATA_SIZE:
      if (value == null) {
        unsetDataSize();
      } else {
        setDataSize((java.lang.Long)value);
      }
      break;

    case STORAGE_MEDIUM:
      if (value == null) {
        unsetStorageMedium();
      } else {
        setStorageMedium((org.apache.doris.thrift.TStorageMedium)value);
      }
      break;

    case TRANSACTION_IDS:
      if (value == null) {
        unsetTransactionIds();
      } else {
        setTransactionIds((java.util.List<java.lang.Long>)value);
      }
      break;

    case TOTAL_VERSION_COUNT:
      if (value == null) {
        unsetTotalVersionCount();
      } else {
        setTotalVersionCount((java.lang.Long)value);
      }
      break;

    case PATH_HASH:
      if (value == null) {
        unsetPathHash();
      } else {
        setPathHash((java.lang.Long)value);
      }
      break;

    case VERSION_MISS:
      if (value == null) {
        unsetVersionMiss();
      } else {
        setVersionMiss((java.lang.Boolean)value);
      }
      break;

    case USED:
      if (value == null) {
        unsetUsed();
      } else {
        setUsed((java.lang.Boolean)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 REPLICA_ID:
      if (value == null) {
        unsetReplicaId();
      } else {
        setReplicaId((java.lang.Long)value);
      }
      break;

    case REMOTE_DATA_SIZE:
      if (value == null) {
        unsetRemoteDataSize();
      } else {
        setRemoteDataSize((java.lang.Long)value);
      }
      break;

    case COOLDOWN_TERM:
      if (value == null) {
        unsetCooldownTerm();
      } else {
        setCooldownTerm((java.lang.Long)value);
      }
      break;

    case COOLDOWN_META_ID:
      if (value == null) {
        unsetCooldownMetaId();
      } else {
        setCooldownMetaId((org.apache.doris.thrift.TUniqueId)value);
      }
      break;

    case VISIBLE_VERSION_COUNT:
      if (value == null) {
        unsetVisibleVersionCount();
      } else {
        setVisibleVersionCount((java.lang.Long)value);
      }
      break;

    case LOCAL_INDEX_SIZE:
      if (value == null) {
        unsetLocalIndexSize();
      } else {
        setLocalIndexSize((java.lang.Long)value);
      }
      break;

    case LOCAL_SEGMENT_SIZE:
      if (value == null) {
        unsetLocalSegmentSize();
      } else {
        setLocalSegmentSize((java.lang.Long)value);
      }
      break;

    case REMOTE_INDEX_SIZE:
      if (value == null) {
        unsetRemoteIndexSize();
      } else {
        setRemoteIndexSize((java.lang.Long)value);
      }
      break;

    case REMOTE_SEGMENT_SIZE:
      if (value == null) {
        unsetRemoteSegmentSize();
      } else {
        setRemoteSegmentSize((java.lang.Long)value);
      }
      break;

    case IS_PERSISTENT:
      if (value == null) {
        unsetIsPersistent();
      } else {
        setIsPersistent((java.lang.Boolean)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 VERSION:
      return getVersion();

    case VERSION_HASH:
      return getVersionHash();

    case ROW_COUNT:
      return getRowCount();

    case DATA_SIZE:
      return getDataSize();

    case STORAGE_MEDIUM:
      return getStorageMedium();

    case TRANSACTION_IDS:
      return getTransactionIds();

    case TOTAL_VERSION_COUNT:
      return getTotalVersionCount();

    case PATH_HASH:
      return getPathHash();

    case VERSION_MISS:
      return isVersionMiss();

    case USED:
      return isUsed();

    case PARTITION_ID:
      return getPartitionId();

    case IS_IN_MEMORY:
      return isIsInMemory();

    case REPLICA_ID:
      return getReplicaId();

    case REMOTE_DATA_SIZE:
      return getRemoteDataSize();

    case COOLDOWN_TERM:
      return getCooldownTerm();

    case COOLDOWN_META_ID:
      return getCooldownMetaId();

    case VISIBLE_VERSION_COUNT:
      return getVisibleVersionCount();

    case LOCAL_INDEX_SIZE:
      return getLocalIndexSize();

    case LOCAL_SEGMENT_SIZE:
      return getLocalSegmentSize();

    case REMOTE_INDEX_SIZE:
      return getRemoteIndexSize();

    case REMOTE_SEGMENT_SIZE:
      return getRemoteSegmentSize();

    case IS_PERSISTENT:
      return isIsPersistent();

    }
    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 VERSION:
      return isSetVersion();
    case VERSION_HASH:
      return isSetVersionHash();
    case ROW_COUNT:
      return isSetRowCount();
    case DATA_SIZE:
      return isSetDataSize();
    case STORAGE_MEDIUM:
      return isSetStorageMedium();
    case TRANSACTION_IDS:
      return isSetTransactionIds();
    case TOTAL_VERSION_COUNT:
      return isSetTotalVersionCount();
    case PATH_HASH:
      return isSetPathHash();
    case VERSION_MISS:
      return isSetVersionMiss();
    case USED:
      return isSetUsed();
    case PARTITION_ID:
      return isSetPartitionId();
    case IS_IN_MEMORY:
      return isSetIsInMemory();
    case REPLICA_ID:
      return isSetReplicaId();
    case REMOTE_DATA_SIZE:
      return isSetRemoteDataSize();
    case COOLDOWN_TERM:
      return isSetCooldownTerm();
    case COOLDOWN_META_ID:
      return isSetCooldownMetaId();
    case VISIBLE_VERSION_COUNT:
      return isSetVisibleVersionCount();
    case LOCAL_INDEX_SIZE:
      return isSetLocalIndexSize();
    case LOCAL_SEGMENT_SIZE:
      return isSetLocalSegmentSize();
    case REMOTE_INDEX_SIZE:
      return isSetRemoteIndexSize();
    case REMOTE_SEGMENT_SIZE:
      return isSetRemoteSegmentSize();
    case IS_PERSISTENT:
      return isSetIsPersistent();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_tablet_id = true;
    boolean that_present_tablet_id = true;
    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;
    boolean that_present_schema_hash = true;
    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_version = true;
    boolean that_present_version = true;
    if (this_present_version || that_present_version) {
      if (!(this_present_version && that_present_version))
        return false;
      if (this.version != that.version)
        return false;
    }

    boolean this_present_version_hash = true;
    boolean that_present_version_hash = true;
    if (this_present_version_hash || that_present_version_hash) {
      if (!(this_present_version_hash && that_present_version_hash))
        return false;
      if (this.version_hash != that.version_hash)
        return false;
    }

    boolean this_present_row_count = true;
    boolean that_present_row_count = true;
    if (this_present_row_count || that_present_row_count) {
      if (!(this_present_row_count && that_present_row_count))
        return false;
      if (this.row_count != that.row_count)
        return false;
    }

    boolean this_present_data_size = true;
    boolean that_present_data_size = true;
    if (this_present_data_size || that_present_data_size) {
      if (!(this_present_data_size && that_present_data_size))
        return false;
      if (this.data_size != that.data_size)
        return false;
    }

    boolean this_present_storage_medium = true && this.isSetStorageMedium();
    boolean that_present_storage_medium = true && that.isSetStorageMedium();
    if (this_present_storage_medium || that_present_storage_medium) {
      if (!(this_present_storage_medium && that_present_storage_medium))
        return false;
      if (!this.storage_medium.equals(that.storage_medium))
        return false;
    }

    boolean this_present_transaction_ids = true && this.isSetTransactionIds();
    boolean that_present_transaction_ids = true && that.isSetTransactionIds();
    if (this_present_transaction_ids || that_present_transaction_ids) {
      if (!(this_present_transaction_ids && that_present_transaction_ids))
        return false;
      if (!this.transaction_ids.equals(that.transaction_ids))
        return false;
    }

    boolean this_present_total_version_count = true && this.isSetTotalVersionCount();
    boolean that_present_total_version_count = true && that.isSetTotalVersionCount();
    if (this_present_total_version_count || that_present_total_version_count) {
      if (!(this_present_total_version_count && that_present_total_version_count))
        return false;
      if (this.total_version_count != that.total_version_count)
        return false;
    }

    boolean this_present_path_hash = true && this.isSetPathHash();
    boolean that_present_path_hash = true && that.isSetPathHash();
    if (this_present_path_hash || that_present_path_hash) {
      if (!(this_present_path_hash && that_present_path_hash))
        return false;
      if (this.path_hash != that.path_hash)
        return false;
    }

    boolean this_present_version_miss = true && this.isSetVersionMiss();
    boolean that_present_version_miss = true && that.isSetVersionMiss();
    if (this_present_version_miss || that_present_version_miss) {
      if (!(this_present_version_miss && that_present_version_miss))
        return false;
      if (this.version_miss != that.version_miss)
        return false;
    }

    boolean this_present_used = true && this.isSetUsed();
    boolean that_present_used = true && that.isSetUsed();
    if (this_present_used || that_present_used) {
      if (!(this_present_used && that_present_used))
        return false;
      if (this.used != that.used)
        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_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_remote_data_size = true && this.isSetRemoteDataSize();
    boolean that_present_remote_data_size = true && that.isSetRemoteDataSize();
    if (this_present_remote_data_size || that_present_remote_data_size) {
      if (!(this_present_remote_data_size && that_present_remote_data_size))
        return false;
      if (this.remote_data_size != that.remote_data_size)
        return false;
    }

    boolean this_present_cooldown_term = true && this.isSetCooldownTerm();
    boolean that_present_cooldown_term = true && that.isSetCooldownTerm();
    if (this_present_cooldown_term || that_present_cooldown_term) {
      if (!(this_present_cooldown_term && that_present_cooldown_term))
        return false;
      if (this.cooldown_term != that.cooldown_term)
        return false;
    }

    boolean this_present_cooldown_meta_id = true && this.isSetCooldownMetaId();
    boolean that_present_cooldown_meta_id = true && that.isSetCooldownMetaId();
    if (this_present_cooldown_meta_id || that_present_cooldown_meta_id) {
      if (!(this_present_cooldown_meta_id && that_present_cooldown_meta_id))
        return false;
      if (!this.cooldown_meta_id.equals(that.cooldown_meta_id))
        return false;
    }

    boolean this_present_visible_version_count = true && this.isSetVisibleVersionCount();
    boolean that_present_visible_version_count = true && that.isSetVisibleVersionCount();
    if (this_present_visible_version_count || that_present_visible_version_count) {
      if (!(this_present_visible_version_count && that_present_visible_version_count))
        return false;
      if (this.visible_version_count != that.visible_version_count)
        return false;
    }

    boolean this_present_local_index_size = true && this.isSetLocalIndexSize();
    boolean that_present_local_index_size = true && that.isSetLocalIndexSize();
    if (this_present_local_index_size || that_present_local_index_size) {
      if (!(this_present_local_index_size && that_present_local_index_size))
        return false;
      if (this.local_index_size != that.local_index_size)
        return false;
    }

    boolean this_present_local_segment_size = true && this.isSetLocalSegmentSize();
    boolean that_present_local_segment_size = true && that.isSetLocalSegmentSize();
    if (this_present_local_segment_size || that_present_local_segment_size) {
      if (!(this_present_local_segment_size && that_present_local_segment_size))
        return false;
      if (this.local_segment_size != that.local_segment_size)
        return false;
    }

    boolean this_present_remote_index_size = true && this.isSetRemoteIndexSize();
    boolean that_present_remote_index_size = true && that.isSetRemoteIndexSize();
    if (this_present_remote_index_size || that_present_remote_index_size) {
      if (!(this_present_remote_index_size && that_present_remote_index_size))
        return false;
      if (this.remote_index_size != that.remote_index_size)
        return false;
    }

    boolean this_present_remote_segment_size = true && this.isSetRemoteSegmentSize();
    boolean that_present_remote_segment_size = true && that.isSetRemoteSegmentSize();
    if (this_present_remote_segment_size || that_present_remote_segment_size) {
      if (!(this_present_remote_segment_size && that_present_remote_segment_size))
        return false;
      if (this.remote_segment_size != that.remote_segment_size)
        return false;
    }

    boolean this_present_is_persistent = true && this.isSetIsPersistent();
    boolean that_present_is_persistent = true && that.isSetIsPersistent();
    if (this_present_is_persistent || that_present_is_persistent) {
      if (!(this_present_is_persistent && that_present_is_persistent))
        return false;
      if (this.is_persistent != that.is_persistent)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(tablet_id);

    hashCode = hashCode * 8191 + schema_hash;

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(version);

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(version_hash);

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(row_count);

    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(data_size);

    hashCode = hashCode * 8191 + ((isSetStorageMedium()) ? 131071 : 524287);
    if (isSetStorageMedium())
      hashCode = hashCode * 8191 + storage_medium.getValue();

    hashCode = hashCode * 8191 + ((isSetTransactionIds()) ? 131071 : 524287);
    if (isSetTransactionIds())
      hashCode = hashCode * 8191 + transaction_ids.hashCode();

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

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

    hashCode = hashCode * 8191 + ((isSetVersionMiss()) ? 131071 : 524287);
    if (isSetVersionMiss())
      hashCode = hashCode * 8191 + ((version_miss) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetUsed()) ? 131071 : 524287);
    if (isSetUsed())
      hashCode = hashCode * 8191 + ((used) ? 131071 : 524287);

    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 + ((isSetReplicaId()) ? 131071 : 524287);
    if (isSetReplicaId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(replica_id);

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

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

    hashCode = hashCode * 8191 + ((isSetCooldownMetaId()) ? 131071 : 524287);
    if (isSetCooldownMetaId())
      hashCode = hashCode * 8191 + cooldown_meta_id.hashCode();

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

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

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

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

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

    hashCode = hashCode * 8191 + ((isSetIsPersistent()) ? 131071 : 524287);
    if (isSetIsPersistent())
      hashCode = hashCode * 8191 + ((is_persistent) ? 131071 : 524287);

    return hashCode;
  }

  @Override
  public int compareTo(TTabletInfo 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(isSetVersion(), other.isSetVersion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVersion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.version, other.version);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetVersionHash(), other.isSetVersionHash());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVersionHash()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.version_hash, other.version_hash);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRowCount(), other.isSetRowCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRowCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.row_count, other.row_count);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDataSize(), other.isSetDataSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDataSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.data_size, other.data_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetStorageMedium(), other.isSetStorageMedium());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStorageMedium()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storage_medium, other.storage_medium);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTransactionIds(), other.isSetTransactionIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTransactionIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transaction_ids, other.transaction_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTotalVersionCount(), other.isSetTotalVersionCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTotalVersionCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.total_version_count, other.total_version_count);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPathHash(), other.isSetPathHash());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPathHash()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path_hash, other.path_hash);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetVersionMiss(), other.isSetVersionMiss());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVersionMiss()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.version_miss, other.version_miss);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetUsed(), other.isSetUsed());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUsed()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.used, other.used);
      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(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(isSetRemoteDataSize(), other.isSetRemoteDataSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRemoteDataSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.remote_data_size, other.remote_data_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCooldownTerm(), other.isSetCooldownTerm());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCooldownTerm()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cooldown_term, other.cooldown_term);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCooldownMetaId(), other.isSetCooldownMetaId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCooldownMetaId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cooldown_meta_id, other.cooldown_meta_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetVisibleVersionCount(), other.isSetVisibleVersionCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetVisibleVersionCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.visible_version_count, other.visible_version_count);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLocalIndexSize(), other.isSetLocalIndexSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLocalIndexSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.local_index_size, other.local_index_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLocalSegmentSize(), other.isSetLocalSegmentSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLocalSegmentSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.local_segment_size, other.local_segment_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRemoteIndexSize(), other.isSetRemoteIndexSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRemoteIndexSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.remote_index_size, other.remote_index_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRemoteSegmentSize(), other.isSetRemoteSegmentSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRemoteSegmentSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.remote_segment_size, other.remote_segment_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetIsPersistent(), other.isSetIsPersistent());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIsPersistent()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.is_persistent, other.is_persistent);
      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("TTabletInfo(");
    boolean first = true;

    sb.append("tablet_id:");
    sb.append(this.tablet_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("schema_hash:");
    sb.append(this.schema_hash);
    first = false;
    if (!first) sb.append(", ");
    sb.append("version:");
    sb.append(this.version);
    first = false;
    if (!first) sb.append(", ");
    sb.append("version_hash:");
    sb.append(this.version_hash);
    first = false;
    if (!first) sb.append(", ");
    sb.append("row_count:");
    sb.append(this.row_count);
    first = false;
    if (!first) sb.append(", ");
    sb.append("data_size:");
    sb.append(this.data_size);
    first = false;
    if (isSetStorageMedium()) {
      if (!first) sb.append(", ");
      sb.append("storage_medium:");
      if (this.storage_medium == null) {
        sb.append("null");
      } else {
        sb.append(this.storage_medium);
      }
      first = false;
    }
    if (isSetTransactionIds()) {
      if (!first) sb.append(", ");
      sb.append("transaction_ids:");
      if (this.transaction_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.transaction_ids);
      }
      first = false;
    }
    if (isSetTotalVersionCount()) {
      if (!first) sb.append(", ");
      sb.append("total_version_count:");
      sb.append(this.total_version_count);
      first = false;
    }
    if (isSetPathHash()) {
      if (!first) sb.append(", ");
      sb.append("path_hash:");
      sb.append(this.path_hash);
      first = false;
    }
    if (isSetVersionMiss()) {
      if (!first) sb.append(", ");
      sb.append("version_miss:");
      sb.append(this.version_miss);
      first = false;
    }
    if (isSetUsed()) {
      if (!first) sb.append(", ");
      sb.append("used:");
      sb.append(this.used);
      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 (isSetReplicaId()) {
      if (!first) sb.append(", ");
      sb.append("replica_id:");
      sb.append(this.replica_id);
      first = false;
    }
    if (isSetRemoteDataSize()) {
      if (!first) sb.append(", ");
      sb.append("remote_data_size:");
      sb.append(this.remote_data_size);
      first = false;
    }
    if (isSetCooldownTerm()) {
      if (!first) sb.append(", ");
      sb.append("cooldown_term:");
      sb.append(this.cooldown_term);
      first = false;
    }
    if (isSetCooldownMetaId()) {
      if (!first) sb.append(", ");
      sb.append("cooldown_meta_id:");
      if (this.cooldown_meta_id == null) {
        sb.append("null");
      } else {
        sb.append(this.cooldown_meta_id);
      }
      first = false;
    }
    if (isSetVisibleVersionCount()) {
      if (!first) sb.append(", ");
      sb.append("visible_version_count:");
      sb.append(this.visible_version_count);
      first = false;
    }
    if (isSetLocalIndexSize()) {
      if (!first) sb.append(", ");
      sb.append("local_index_size:");
      sb.append(this.local_index_size);
      first = false;
    }
    if (isSetLocalSegmentSize()) {
      if (!first) sb.append(", ");
      sb.append("local_segment_size:");
      sb.append(this.local_segment_size);
      first = false;
    }
    if (isSetRemoteIndexSize()) {
      if (!first) sb.append(", ");
      sb.append("remote_index_size:");
      sb.append(this.remote_index_size);
      first = false;
    }
    if (isSetRemoteSegmentSize()) {
      if (!first) sb.append(", ");
      sb.append("remote_segment_size:");
      sb.append(this.remote_segment_size);
      first = false;
    }
    if (isSetIsPersistent()) {
      if (!first) sb.append(", ");
      sb.append("is_persistent:");
      sb.append(this.is_persistent);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // alas, we cannot check 'tablet_id' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'schema_hash' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'version' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'version_hash' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'row_count' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'data_size' because it's a primitive and you chose the non-beans generator.
    // check for sub-struct validity
    if (cooldown_meta_id != null) {
      cooldown_meta_id.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 TTabletInfoStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TTabletInfoStandardScheme getScheme() {
      return new TTabletInfoStandardScheme();
    }
  }

  private static class TTabletInfoStandardScheme extends org.apache.thrift.scheme.StandardScheme<TTabletInfo> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TTabletInfo 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: // VERSION
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.version = iprot.readI64();
              struct.setVersionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // VERSION_HASH
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.version_hash = iprot.readI64();
              struct.setVersionHashIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // ROW_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.row_count = iprot.readI64();
              struct.setRowCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // DATA_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.data_size = iprot.readI64();
              struct.setDataSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // STORAGE_MEDIUM
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.storage_medium = org.apache.doris.thrift.TStorageMedium.findByValue(iprot.readI32());
              struct.setStorageMediumIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // TRANSACTION_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                struct.transaction_ids = new java.util.ArrayList<java.lang.Long>(_list0.size);
                long _elem1;
                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                {
                  _elem1 = iprot.readI64();
                  struct.transaction_ids.add(_elem1);
                }
                iprot.readListEnd();
              }
              struct.setTransactionIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // TOTAL_VERSION_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.total_version_count = iprot.readI64();
              struct.setTotalVersionCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // PATH_HASH
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.path_hash = iprot.readI64();
              struct.setPathHashIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // VERSION_MISS
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.version_miss = iprot.readBool();
              struct.setVersionMissIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // USED
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.used = iprot.readBool();
              struct.setUsedIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // 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 14: // 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 15: // 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 16: // REMOTE_DATA_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.remote_data_size = iprot.readI64();
              struct.setRemoteDataSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 19: // COOLDOWN_TERM
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.cooldown_term = iprot.readI64();
              struct.setCooldownTermIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 20: // COOLDOWN_META_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.cooldown_meta_id = new org.apache.doris.thrift.TUniqueId();
              struct.cooldown_meta_id.read(iprot);
              struct.setCooldownMetaIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 21: // VISIBLE_VERSION_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.visible_version_count = iprot.readI64();
              struct.setVisibleVersionCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 22: // LOCAL_INDEX_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.local_index_size = iprot.readI64();
              struct.setLocalIndexSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 23: // LOCAL_SEGMENT_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.local_segment_size = iprot.readI64();
              struct.setLocalSegmentSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 24: // REMOTE_INDEX_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.remote_index_size = iprot.readI64();
              struct.setRemoteIndexSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 25: // REMOTE_SEGMENT_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.remote_segment_size = iprot.readI64();
              struct.setRemoteSegmentSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 1000: // IS_PERSISTENT
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.is_persistent = iprot.readBool();
              struct.setIsPersistentIsSet(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
      if (!struct.isSetTabletId()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'tablet_id' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetSchemaHash()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'schema_hash' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetVersion()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'version' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetVersionHash()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'version_hash' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetRowCount()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'row_count' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetDataSize()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'data_size' was not found in serialized data! Struct: " + toString());
      }
      struct.validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot, TTabletInfo struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(TABLET_ID_FIELD_DESC);
      oprot.writeI64(struct.tablet_id);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SCHEMA_HASH_FIELD_DESC);
      oprot.writeI32(struct.schema_hash);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(VERSION_FIELD_DESC);
      oprot.writeI64(struct.version);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(VERSION_HASH_FIELD_DESC);
      oprot.writeI64(struct.version_hash);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(ROW_COUNT_FIELD_DESC);
      oprot.writeI64(struct.row_count);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(DATA_SIZE_FIELD_DESC);
      oprot.writeI64(struct.data_size);
      oprot.writeFieldEnd();
      if (struct.storage_medium != null) {
        if (struct.isSetStorageMedium()) {
          oprot.writeFieldBegin(STORAGE_MEDIUM_FIELD_DESC);
          oprot.writeI32(struct.storage_medium.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.transaction_ids != null) {
        if (struct.isSetTransactionIds()) {
          oprot.writeFieldBegin(TRANSACTION_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.transaction_ids.size()));
            for (long _iter3 : struct.transaction_ids)
            {
              oprot.writeI64(_iter3);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTotalVersionCount()) {
        oprot.writeFieldBegin(TOTAL_VERSION_COUNT_FIELD_DESC);
        oprot.writeI64(struct.total_version_count);
        oprot.writeFieldEnd();
      }
      if (struct.isSetPathHash()) {
        oprot.writeFieldBegin(PATH_HASH_FIELD_DESC);
        oprot.writeI64(struct.path_hash);
        oprot.writeFieldEnd();
      }
      if (struct.isSetVersionMiss()) {
        oprot.writeFieldBegin(VERSION_MISS_FIELD_DESC);
        oprot.writeBool(struct.version_miss);
        oprot.writeFieldEnd();
      }
      if (struct.isSetUsed()) {
        oprot.writeFieldBegin(USED_FIELD_DESC);
        oprot.writeBool(struct.used);
        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.isSetReplicaId()) {
        oprot.writeFieldBegin(REPLICA_ID_FIELD_DESC);
        oprot.writeI64(struct.replica_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetRemoteDataSize()) {
        oprot.writeFieldBegin(REMOTE_DATA_SIZE_FIELD_DESC);
        oprot.writeI64(struct.remote_data_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetCooldownTerm()) {
        oprot.writeFieldBegin(COOLDOWN_TERM_FIELD_DESC);
        oprot.writeI64(struct.cooldown_term);
        oprot.writeFieldEnd();
      }
      if (struct.cooldown_meta_id != null) {
        if (struct.isSetCooldownMetaId()) {
          oprot.writeFieldBegin(COOLDOWN_META_ID_FIELD_DESC);
          struct.cooldown_meta_id.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetVisibleVersionCount()) {
        oprot.writeFieldBegin(VISIBLE_VERSION_COUNT_FIELD_DESC);
        oprot.writeI64(struct.visible_version_count);
        oprot.writeFieldEnd();
      }
      if (struct.isSetLocalIndexSize()) {
        oprot.writeFieldBegin(LOCAL_INDEX_SIZE_FIELD_DESC);
        oprot.writeI64(struct.local_index_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetLocalSegmentSize()) {
        oprot.writeFieldBegin(LOCAL_SEGMENT_SIZE_FIELD_DESC);
        oprot.writeI64(struct.local_segment_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetRemoteIndexSize()) {
        oprot.writeFieldBegin(REMOTE_INDEX_SIZE_FIELD_DESC);
        oprot.writeI64(struct.remote_index_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetRemoteSegmentSize()) {
        oprot.writeFieldBegin(REMOTE_SEGMENT_SIZE_FIELD_DESC);
        oprot.writeI64(struct.remote_segment_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetIsPersistent()) {
        oprot.writeFieldBegin(IS_PERSISTENT_FIELD_DESC);
        oprot.writeBool(struct.is_persistent);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TTabletInfoTupleScheme extends org.apache.thrift.scheme.TupleScheme<TTabletInfo> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TTabletInfo struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      oprot.writeI64(struct.tablet_id);
      oprot.writeI32(struct.schema_hash);
      oprot.writeI64(struct.version);
      oprot.writeI64(struct.version_hash);
      oprot.writeI64(struct.row_count);
      oprot.writeI64(struct.data_size);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetStorageMedium()) {
        optionals.set(0);
      }
      if (struct.isSetTransactionIds()) {
        optionals.set(1);
      }
      if (struct.isSetTotalVersionCount()) {
        optionals.set(2);
      }
      if (struct.isSetPathHash()) {
        optionals.set(3);
      }
      if (struct.isSetVersionMiss()) {
        optionals.set(4);
      }
      if (struct.isSetUsed()) {
        optionals.set(5);
      }
      if (struct.isSetPartitionId()) {
        optionals.set(6);
      }
      if (struct.isSetIsInMemory()) {
        optionals.set(7);
      }
      if (struct.isSetReplicaId()) {
        optionals.set(8);
      }
      if (struct.isSetRemoteDataSize()) {
        optionals.set(9);
      }
      if (struct.isSetCooldownTerm()) {
        optionals.set(10);
      }
      if (struct.isSetCooldownMetaId()) {
        optionals.set(11);
      }
      if (struct.isSetVisibleVersionCount()) {
        optionals.set(12);
      }
      if (struct.isSetLocalIndexSize()) {
        optionals.set(13);
      }
      if (struct.isSetLocalSegmentSize()) {
        optionals.set(14);
      }
      if (struct.isSetRemoteIndexSize()) {
        optionals.set(15);
      }
      if (struct.isSetRemoteSegmentSize()) {
        optionals.set(16);
      }
      if (struct.isSetIsPersistent()) {
        optionals.set(17);
      }
      oprot.writeBitSet(optionals, 18);
      if (struct.isSetStorageMedium()) {
        oprot.writeI32(struct.storage_medium.getValue());
      }
      if (struct.isSetTransactionIds()) {
        {
          oprot.writeI32(struct.transaction_ids.size());
          for (long _iter4 : struct.transaction_ids)
          {
            oprot.writeI64(_iter4);
          }
        }
      }
      if (struct.isSetTotalVersionCount()) {
        oprot.writeI64(struct.total_version_count);
      }
      if (struct.isSetPathHash()) {
        oprot.writeI64(struct.path_hash);
      }
      if (struct.isSetVersionMiss()) {
        oprot.writeBool(struct.version_miss);
      }
      if (struct.isSetUsed()) {
        oprot.writeBool(struct.used);
      }
      if (struct.isSetPartitionId()) {
        oprot.writeI64(struct.partition_id);
      }
      if (struct.isSetIsInMemory()) {
        oprot.writeBool(struct.is_in_memory);
      }
      if (struct.isSetReplicaId()) {
        oprot.writeI64(struct.replica_id);
      }
      if (struct.isSetRemoteDataSize()) {
        oprot.writeI64(struct.remote_data_size);
      }
      if (struct.isSetCooldownTerm()) {
        oprot.writeI64(struct.cooldown_term);
      }
      if (struct.isSetCooldownMetaId()) {
        struct.cooldown_meta_id.write(oprot);
      }
      if (struct.isSetVisibleVersionCount()) {
        oprot.writeI64(struct.visible_version_count);
      }
      if (struct.isSetLocalIndexSize()) {
        oprot.writeI64(struct.local_index_size);
      }
      if (struct.isSetLocalSegmentSize()) {
        oprot.writeI64(struct.local_segment_size);
      }
      if (struct.isSetRemoteIndexSize()) {
        oprot.writeI64(struct.remote_index_size);
      }
      if (struct.isSetRemoteSegmentSize()) {
        oprot.writeI64(struct.remote_segment_size);
      }
      if (struct.isSetIsPersistent()) {
        oprot.writeBool(struct.is_persistent);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TTabletInfo struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.tablet_id = iprot.readI64();
      struct.setTabletIdIsSet(true);
      struct.schema_hash = iprot.readI32();
      struct.setSchemaHashIsSet(true);
      struct.version = iprot.readI64();
      struct.setVersionIsSet(true);
      struct.version_hash = iprot.readI64();
      struct.setVersionHashIsSet(true);
      struct.row_count = iprot.readI64();
      struct.setRowCountIsSet(true);
      struct.data_size = iprot.readI64();
      struct.setDataSizeIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(18);
      if (incoming.get(0)) {
        struct.storage_medium = org.apache.doris.thrift.TStorageMedium.findByValue(iprot.readI32());
        struct.setStorageMediumIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.I64);
          struct.transaction_ids = new java.util.ArrayList<java.lang.Long>(_list5.size);
          long _elem6;
          for (int _i7 = 0; _i7 < _list5.size; ++_i7)
          {
            _elem6 = iprot.readI64();
            struct.transaction_ids.add(_elem6);
          }
        }
        struct.setTransactionIdsIsSet(true);
      }
      if (incoming.get(2)) {
        struct.total_version_count = iprot.readI64();
        struct.setTotalVersionCountIsSet(true);
      }
      if (incoming.get(3)) {
        struct.path_hash = iprot.readI64();
        struct.setPathHashIsSet(true);
      }
      if (incoming.get(4)) {
        struct.version_miss = iprot.readBool();
        struct.setVersionMissIsSet(true);
      }
      if (incoming.get(5)) {
        struct.used = iprot.readBool();
        struct.setUsedIsSet(true);
      }
      if (incoming.get(6)) {
        struct.partition_id = iprot.readI64();
        struct.setPartitionIdIsSet(true);
      }
      if (incoming.get(7)) {
        struct.is_in_memory = iprot.readBool();
        struct.setIsInMemoryIsSet(true);
      }
      if (incoming.get(8)) {
        struct.replica_id = iprot.readI64();
        struct.setReplicaIdIsSet(true);
      }
      if (incoming.get(9)) {
        struct.remote_data_size = iprot.readI64();
        struct.setRemoteDataSizeIsSet(true);
      }
      if (incoming.get(10)) {
        struct.cooldown_term = iprot.readI64();
        struct.setCooldownTermIsSet(true);
      }
      if (incoming.get(11)) {
        struct.cooldown_meta_id = new org.apache.doris.thrift.TUniqueId();
        struct.cooldown_meta_id.read(iprot);
        struct.setCooldownMetaIdIsSet(true);
      }
      if (incoming.get(12)) {
        struct.visible_version_count = iprot.readI64();
        struct.setVisibleVersionCountIsSet(true);
      }
      if (incoming.get(13)) {
        struct.local_index_size = iprot.readI64();
        struct.setLocalIndexSizeIsSet(true);
      }
      if (incoming.get(14)) {
        struct.local_segment_size = iprot.readI64();
        struct.setLocalSegmentSizeIsSet(true);
      }
      if (incoming.get(15)) {
        struct.remote_index_size = iprot.readI64();
        struct.setRemoteIndexSizeIsSet(true);
      }
      if (incoming.get(16)) {
        struct.remote_segment_size = iprot.readI64();
        struct.setRemoteSegmentSizeIsSet(true);
      }
      if (incoming.get(17)) {
        struct.is_persistent = iprot.readBool();
        struct.setIsPersistentIsSet(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();
  }
}