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

  private static final org.apache.thrift.protocol.TField BACKEND_FIELD_DESC = new org.apache.thrift.protocol.TField("backend", org.apache.thrift.protocol.TType.STRUCT, (short)1);
  private static final org.apache.thrift.protocol.TField REPORT_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("report_version", org.apache.thrift.protocol.TType.I64, (short)2);
  private static final org.apache.thrift.protocol.TField TASKS_FIELD_DESC = new org.apache.thrift.protocol.TField("tasks", org.apache.thrift.protocol.TType.MAP, (short)3);
  private static final org.apache.thrift.protocol.TField TABLETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tablets", org.apache.thrift.protocol.TType.MAP, (short)4);
  private static final org.apache.thrift.protocol.TField DISKS_FIELD_DESC = new org.apache.thrift.protocol.TField("disks", org.apache.thrift.protocol.TType.MAP, (short)5);
  private static final org.apache.thrift.protocol.TField FORCE_RECOVERY_FIELD_DESC = new org.apache.thrift.protocol.TField("force_recovery", org.apache.thrift.protocol.TType.BOOL, (short)6);
  private static final org.apache.thrift.protocol.TField TABLET_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("tablet_list", org.apache.thrift.protocol.TType.LIST, (short)7);
  private static final org.apache.thrift.protocol.TField TABLET_MAX_COMPACTION_SCORE_FIELD_DESC = new org.apache.thrift.protocol.TField("tablet_max_compaction_score", org.apache.thrift.protocol.TType.I64, (short)8);
  private static final org.apache.thrift.protocol.TField STORAGE_POLICY_FIELD_DESC = new org.apache.thrift.protocol.TField("storage_policy", org.apache.thrift.protocol.TType.LIST, (short)9);
  private static final org.apache.thrift.protocol.TField RESOURCE_FIELD_DESC = new org.apache.thrift.protocol.TField("resource", org.apache.thrift.protocol.TType.LIST, (short)10);
  private static final org.apache.thrift.protocol.TField NUM_CORES_FIELD_DESC = new org.apache.thrift.protocol.TField("num_cores", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField PIPELINE_EXECUTOR_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("pipeline_executor_size", org.apache.thrift.protocol.TType.I32, (short)12);
  private static final org.apache.thrift.protocol.TField PARTITIONS_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("partitions_version", org.apache.thrift.protocol.TType.MAP, (short)13);
  private static final org.apache.thrift.protocol.TField NUM_TABLETS_FIELD_DESC = new org.apache.thrift.protocol.TField("num_tablets", org.apache.thrift.protocol.TType.I64, (short)14);
  private static final org.apache.thrift.protocol.TField INDEX_POLICY_FIELD_DESC = new org.apache.thrift.protocol.TField("index_policy", org.apache.thrift.protocol.TType.LIST, (short)15);
  private static final org.apache.thrift.protocol.TField RUNNING_TASKS_FIELD_DESC = new org.apache.thrift.protocol.TField("running_tasks", org.apache.thrift.protocol.TType.I64, (short)16);

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

  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TBackend backend; // required
  public long report_version; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>> tasks; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,TTablet> tablets; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,TDisk> disks; // optional
  public boolean force_recovery; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<TTablet> tablet_list; // optional
  public long tablet_max_compaction_score; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TStoragePolicy> storage_policy; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TStorageResource> resource; // optional
  public int num_cores; // required
  public int pipeline_executor_size; // required
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> partitions_version; // optional
  public long num_tablets; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TIndexPolicy> index_policy; // optional
  public long running_tasks; // 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 {
    BACKEND((short)1, "backend"),
    REPORT_VERSION((short)2, "report_version"),
    TASKS((short)3, "tasks"),
    TABLETS((short)4, "tablets"),
    DISKS((short)5, "disks"),
    FORCE_RECOVERY((short)6, "force_recovery"),
    TABLET_LIST((short)7, "tablet_list"),
    TABLET_MAX_COMPACTION_SCORE((short)8, "tablet_max_compaction_score"),
    STORAGE_POLICY((short)9, "storage_policy"),
    RESOURCE((short)10, "resource"),
    NUM_CORES((short)11, "num_cores"),
    PIPELINE_EXECUTOR_SIZE((short)12, "pipeline_executor_size"),
    PARTITIONS_VERSION((short)13, "partitions_version"),
    NUM_TABLETS((short)14, "num_tablets"),
    INDEX_POLICY((short)15, "index_policy"),
    RUNNING_TASKS((short)16, "running_tasks");

    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: // BACKEND
          return BACKEND;
        case 2: // REPORT_VERSION
          return REPORT_VERSION;
        case 3: // TASKS
          return TASKS;
        case 4: // TABLETS
          return TABLETS;
        case 5: // DISKS
          return DISKS;
        case 6: // FORCE_RECOVERY
          return FORCE_RECOVERY;
        case 7: // TABLET_LIST
          return TABLET_LIST;
        case 8: // TABLET_MAX_COMPACTION_SCORE
          return TABLET_MAX_COMPACTION_SCORE;
        case 9: // STORAGE_POLICY
          return STORAGE_POLICY;
        case 10: // RESOURCE
          return RESOURCE;
        case 11: // NUM_CORES
          return NUM_CORES;
        case 12: // PIPELINE_EXECUTOR_SIZE
          return PIPELINE_EXECUTOR_SIZE;
        case 13: // PARTITIONS_VERSION
          return PARTITIONS_VERSION;
        case 14: // NUM_TABLETS
          return NUM_TABLETS;
        case 15: // INDEX_POLICY
          return INDEX_POLICY;
        case 16: // RUNNING_TASKS
          return RUNNING_TASKS;
        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 __REPORT_VERSION_ISSET_ID = 0;
  private static final int __FORCE_RECOVERY_ISSET_ID = 1;
  private static final int __TABLET_MAX_COMPACTION_SCORE_ISSET_ID = 2;
  private static final int __NUM_CORES_ISSET_ID = 3;
  private static final int __PIPELINE_EXECUTOR_SIZE_ISSET_ID = 4;
  private static final int __NUM_TABLETS_ISSET_ID = 5;
  private static final int __RUNNING_TASKS_ISSET_ID = 6;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.REPORT_VERSION,_Fields.TASKS,_Fields.TABLETS,_Fields.DISKS,_Fields.FORCE_RECOVERY,_Fields.TABLET_LIST,_Fields.TABLET_MAX_COMPACTION_SCORE,_Fields.STORAGE_POLICY,_Fields.RESOURCE,_Fields.PARTITIONS_VERSION,_Fields.NUM_TABLETS,_Fields.INDEX_POLICY,_Fields.RUNNING_TASKS};
  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.BACKEND, new org.apache.thrift.meta_data.FieldMetaData("backend", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TBackend.class)));
    tmpMap.put(_Fields.REPORT_VERSION, new org.apache.thrift.meta_data.FieldMetaData("report_version", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TASKS, new org.apache.thrift.meta_data.FieldMetaData("tasks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TTaskType.class), 
            new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)))));
    tmpMap.put(_Fields.TABLETS, new org.apache.thrift.meta_data.FieldMetaData("tablets", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TTabletId"), 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTablet.class))));
    tmpMap.put(_Fields.DISKS, new org.apache.thrift.meta_data.FieldMetaData("disks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TDisk.class))));
    tmpMap.put(_Fields.FORCE_RECOVERY, new org.apache.thrift.meta_data.FieldMetaData("force_recovery", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.TABLET_LIST, new org.apache.thrift.meta_data.FieldMetaData("tablet_list", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTablet.class))));
    tmpMap.put(_Fields.TABLET_MAX_COMPACTION_SCORE, new org.apache.thrift.meta_data.FieldMetaData("tablet_max_compaction_score", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.STORAGE_POLICY, new org.apache.thrift.meta_data.FieldMetaData("storage_policy", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TStoragePolicy.class))));
    tmpMap.put(_Fields.RESOURCE, new org.apache.thrift.meta_data.FieldMetaData("resource", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TStorageResource.class))));
    tmpMap.put(_Fields.NUM_CORES, new org.apache.thrift.meta_data.FieldMetaData("num_cores", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.PIPELINE_EXECUTOR_SIZE, new org.apache.thrift.meta_data.FieldMetaData("pipeline_executor_size", org.apache.thrift.TFieldRequirementType.DEFAULT, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.PARTITIONS_VERSION, new org.apache.thrift.meta_data.FieldMetaData("partitions_version", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TPartitionId"), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TVersion"))));
    tmpMap.put(_Fields.NUM_TABLETS, new org.apache.thrift.meta_data.FieldMetaData("num_tablets", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.INDEX_POLICY, new org.apache.thrift.meta_data.FieldMetaData("index_policy", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TIndexPolicy.class))));
    tmpMap.put(_Fields.RUNNING_TASKS, new org.apache.thrift.meta_data.FieldMetaData("running_tasks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TReportRequest.class, metaDataMap);
  }

  public TReportRequest() {
  }

  public TReportRequest(
    org.apache.doris.thrift.TBackend backend,
    int num_cores,
    int pipeline_executor_size)
  {
    this();
    this.backend = backend;
    this.num_cores = num_cores;
    setNumCoresIsSet(true);
    this.pipeline_executor_size = pipeline_executor_size;
    setPipelineExecutorSizeIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TReportRequest(TReportRequest other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetBackend()) {
      this.backend = new org.apache.doris.thrift.TBackend(other.backend);
    }
    this.report_version = other.report_version;
    if (other.isSetTasks()) {
      java.util.Map<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>> __this__tasks = new java.util.EnumMap<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>>(org.apache.doris.thrift.TTaskType.class);
      for (java.util.Map.Entry<org.apache.doris.thrift.TTaskType, java.util.Set<java.lang.Long>> other_element : other.tasks.entrySet()) {

        org.apache.doris.thrift.TTaskType other_element_key = other_element.getKey();
        java.util.Set<java.lang.Long> other_element_value = other_element.getValue();

        org.apache.doris.thrift.TTaskType __this__tasks_copy_key = other_element_key;

        java.util.Set<java.lang.Long> __this__tasks_copy_value = new java.util.HashSet<java.lang.Long>(other_element_value);

        __this__tasks.put(__this__tasks_copy_key, __this__tasks_copy_value);
      }
      this.tasks = __this__tasks;
    }
    if (other.isSetTablets()) {
      java.util.Map<java.lang.Long,TTablet> __this__tablets = new java.util.HashMap<java.lang.Long,TTablet>(other.tablets.size());
      for (java.util.Map.Entry<java.lang.Long, TTablet> other_element : other.tablets.entrySet()) {

        java.lang.Long other_element_key = other_element.getKey();
        TTablet other_element_value = other_element.getValue();

        java.lang.Long __this__tablets_copy_key = other_element_key;

        TTablet __this__tablets_copy_value = new TTablet(other_element_value);

        __this__tablets.put(__this__tablets_copy_key, __this__tablets_copy_value);
      }
      this.tablets = __this__tablets;
    }
    if (other.isSetDisks()) {
      java.util.Map<java.lang.String,TDisk> __this__disks = new java.util.HashMap<java.lang.String,TDisk>(other.disks.size());
      for (java.util.Map.Entry<java.lang.String, TDisk> other_element : other.disks.entrySet()) {

        java.lang.String other_element_key = other_element.getKey();
        TDisk other_element_value = other_element.getValue();

        java.lang.String __this__disks_copy_key = other_element_key;

        TDisk __this__disks_copy_value = new TDisk(other_element_value);

        __this__disks.put(__this__disks_copy_key, __this__disks_copy_value);
      }
      this.disks = __this__disks;
    }
    this.force_recovery = other.force_recovery;
    if (other.isSetTabletList()) {
      java.util.List<TTablet> __this__tablet_list = new java.util.ArrayList<TTablet>(other.tablet_list.size());
      for (TTablet other_element : other.tablet_list) {
        __this__tablet_list.add(new TTablet(other_element));
      }
      this.tablet_list = __this__tablet_list;
    }
    this.tablet_max_compaction_score = other.tablet_max_compaction_score;
    if (other.isSetStoragePolicy()) {
      java.util.List<org.apache.doris.thrift.TStoragePolicy> __this__storage_policy = new java.util.ArrayList<org.apache.doris.thrift.TStoragePolicy>(other.storage_policy.size());
      for (org.apache.doris.thrift.TStoragePolicy other_element : other.storage_policy) {
        __this__storage_policy.add(new org.apache.doris.thrift.TStoragePolicy(other_element));
      }
      this.storage_policy = __this__storage_policy;
    }
    if (other.isSetResource()) {
      java.util.List<org.apache.doris.thrift.TStorageResource> __this__resource = new java.util.ArrayList<org.apache.doris.thrift.TStorageResource>(other.resource.size());
      for (org.apache.doris.thrift.TStorageResource other_element : other.resource) {
        __this__resource.add(new org.apache.doris.thrift.TStorageResource(other_element));
      }
      this.resource = __this__resource;
    }
    this.num_cores = other.num_cores;
    this.pipeline_executor_size = other.pipeline_executor_size;
    if (other.isSetPartitionsVersion()) {
      java.util.Map<java.lang.Long,java.lang.Long> __this__partitions_version = new java.util.HashMap<java.lang.Long,java.lang.Long>(other.partitions_version.size());
      for (java.util.Map.Entry<java.lang.Long, java.lang.Long> other_element : other.partitions_version.entrySet()) {

        java.lang.Long other_element_key = other_element.getKey();
        java.lang.Long other_element_value = other_element.getValue();

        java.lang.Long __this__partitions_version_copy_key = other_element_key;

        java.lang.Long __this__partitions_version_copy_value = other_element_value;

        __this__partitions_version.put(__this__partitions_version_copy_key, __this__partitions_version_copy_value);
      }
      this.partitions_version = __this__partitions_version;
    }
    this.num_tablets = other.num_tablets;
    if (other.isSetIndexPolicy()) {
      java.util.List<org.apache.doris.thrift.TIndexPolicy> __this__index_policy = new java.util.ArrayList<org.apache.doris.thrift.TIndexPolicy>(other.index_policy.size());
      for (org.apache.doris.thrift.TIndexPolicy other_element : other.index_policy) {
        __this__index_policy.add(new org.apache.doris.thrift.TIndexPolicy(other_element));
      }
      this.index_policy = __this__index_policy;
    }
    this.running_tasks = other.running_tasks;
  }

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

  @Override
  public void clear() {
    this.backend = null;
    setReportVersionIsSet(false);
    this.report_version = 0;
    this.tasks = null;
    this.tablets = null;
    this.disks = null;
    setForceRecoveryIsSet(false);
    this.force_recovery = false;
    this.tablet_list = null;
    setTabletMaxCompactionScoreIsSet(false);
    this.tablet_max_compaction_score = 0;
    this.storage_policy = null;
    this.resource = null;
    setNumCoresIsSet(false);
    this.num_cores = 0;
    setPipelineExecutorSizeIsSet(false);
    this.pipeline_executor_size = 0;
    this.partitions_version = null;
    setNumTabletsIsSet(false);
    this.num_tablets = 0;
    this.index_policy = null;
    setRunningTasksIsSet(false);
    this.running_tasks = 0;
  }

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TBackend getBackend() {
    return this.backend;
  }

  public TReportRequest setBackend(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TBackend backend) {
    this.backend = backend;
    return this;
  }

  public void unsetBackend() {
    this.backend = null;
  }

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

  public void setBackendIsSet(boolean value) {
    if (!value) {
      this.backend = null;
    }
  }

  public long getReportVersion() {
    return this.report_version;
  }

  public TReportRequest setReportVersion(long report_version) {
    this.report_version = report_version;
    setReportVersionIsSet(true);
    return this;
  }

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

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

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

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

  public void putToTasks(org.apache.doris.thrift.TTaskType key, java.util.Set<java.lang.Long> val) {
    if (this.tasks == null) {
      this.tasks = new java.util.EnumMap<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>>(org.apache.doris.thrift.TTaskType.class);
    }
    this.tasks.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>> getTasks() {
    return this.tasks;
  }

  public TReportRequest setTasks(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>> tasks) {
    this.tasks = tasks;
    return this;
  }

  public void unsetTasks() {
    this.tasks = null;
  }

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

  public void setTasksIsSet(boolean value) {
    if (!value) {
      this.tasks = null;
    }
  }

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

  public void putToTablets(long key, TTablet val) {
    if (this.tablets == null) {
      this.tablets = new java.util.HashMap<java.lang.Long,TTablet>();
    }
    this.tablets.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.Long,TTablet> getTablets() {
    return this.tablets;
  }

  public TReportRequest setTablets(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,TTablet> tablets) {
    this.tablets = tablets;
    return this;
  }

  public void unsetTablets() {
    this.tablets = null;
  }

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

  public void setTabletsIsSet(boolean value) {
    if (!value) {
      this.tablets = null;
    }
  }

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

  public void putToDisks(java.lang.String key, TDisk val) {
    if (this.disks == null) {
      this.disks = new java.util.HashMap<java.lang.String,TDisk>();
    }
    this.disks.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.String,TDisk> getDisks() {
    return this.disks;
  }

  public TReportRequest setDisks(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,TDisk> disks) {
    this.disks = disks;
    return this;
  }

  public void unsetDisks() {
    this.disks = null;
  }

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

  public void setDisksIsSet(boolean value) {
    if (!value) {
      this.disks = null;
    }
  }

  public boolean isForceRecovery() {
    return this.force_recovery;
  }

  public TReportRequest setForceRecovery(boolean force_recovery) {
    this.force_recovery = force_recovery;
    setForceRecoveryIsSet(true);
    return this;
  }

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

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

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

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<TTablet> getTabletListIterator() {
    return (this.tablet_list == null) ? null : this.tablet_list.iterator();
  }

  public void addToTabletList(TTablet elem) {
    if (this.tablet_list == null) {
      this.tablet_list = new java.util.ArrayList<TTablet>();
    }
    this.tablet_list.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<TTablet> getTabletList() {
    return this.tablet_list;
  }

  public TReportRequest setTabletList(@org.apache.thrift.annotation.Nullable java.util.List<TTablet> tablet_list) {
    this.tablet_list = tablet_list;
    return this;
  }

  public void unsetTabletList() {
    this.tablet_list = null;
  }

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

  public void setTabletListIsSet(boolean value) {
    if (!value) {
      this.tablet_list = null;
    }
  }

  public long getTabletMaxCompactionScore() {
    return this.tablet_max_compaction_score;
  }

  public TReportRequest setTabletMaxCompactionScore(long tablet_max_compaction_score) {
    this.tablet_max_compaction_score = tablet_max_compaction_score;
    setTabletMaxCompactionScoreIsSet(true);
    return this;
  }

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

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

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

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<org.apache.doris.thrift.TStoragePolicy> getStoragePolicyIterator() {
    return (this.storage_policy == null) ? null : this.storage_policy.iterator();
  }

  public void addToStoragePolicy(org.apache.doris.thrift.TStoragePolicy elem) {
    if (this.storage_policy == null) {
      this.storage_policy = new java.util.ArrayList<org.apache.doris.thrift.TStoragePolicy>();
    }
    this.storage_policy.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<org.apache.doris.thrift.TStoragePolicy> getStoragePolicy() {
    return this.storage_policy;
  }

  public TReportRequest setStoragePolicy(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TStoragePolicy> storage_policy) {
    this.storage_policy = storage_policy;
    return this;
  }

  public void unsetStoragePolicy() {
    this.storage_policy = null;
  }

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

  public void setStoragePolicyIsSet(boolean value) {
    if (!value) {
      this.storage_policy = null;
    }
  }

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<org.apache.doris.thrift.TStorageResource> getResourceIterator() {
    return (this.resource == null) ? null : this.resource.iterator();
  }

  public void addToResource(org.apache.doris.thrift.TStorageResource elem) {
    if (this.resource == null) {
      this.resource = new java.util.ArrayList<org.apache.doris.thrift.TStorageResource>();
    }
    this.resource.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<org.apache.doris.thrift.TStorageResource> getResource() {
    return this.resource;
  }

  public TReportRequest setResource(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TStorageResource> resource) {
    this.resource = resource;
    return this;
  }

  public void unsetResource() {
    this.resource = null;
  }

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

  public void setResourceIsSet(boolean value) {
    if (!value) {
      this.resource = null;
    }
  }

  public int getNumCores() {
    return this.num_cores;
  }

  public TReportRequest setNumCores(int num_cores) {
    this.num_cores = num_cores;
    setNumCoresIsSet(true);
    return this;
  }

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

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

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

  public int getPipelineExecutorSize() {
    return this.pipeline_executor_size;
  }

  public TReportRequest setPipelineExecutorSize(int pipeline_executor_size) {
    this.pipeline_executor_size = pipeline_executor_size;
    setPipelineExecutorSizeIsSet(true);
    return this;
  }

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

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

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

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

  public void putToPartitionsVersion(long key, long val) {
    if (this.partitions_version == null) {
      this.partitions_version = new java.util.HashMap<java.lang.Long,java.lang.Long>();
    }
    this.partitions_version.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.Long,java.lang.Long> getPartitionsVersion() {
    return this.partitions_version;
  }

  public TReportRequest setPartitionsVersion(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> partitions_version) {
    this.partitions_version = partitions_version;
    return this;
  }

  public void unsetPartitionsVersion() {
    this.partitions_version = null;
  }

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

  public void setPartitionsVersionIsSet(boolean value) {
    if (!value) {
      this.partitions_version = null;
    }
  }

  public long getNumTablets() {
    return this.num_tablets;
  }

  public TReportRequest setNumTablets(long num_tablets) {
    this.num_tablets = num_tablets;
    setNumTabletsIsSet(true);
    return this;
  }

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

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

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

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<org.apache.doris.thrift.TIndexPolicy> getIndexPolicyIterator() {
    return (this.index_policy == null) ? null : this.index_policy.iterator();
  }

  public void addToIndexPolicy(org.apache.doris.thrift.TIndexPolicy elem) {
    if (this.index_policy == null) {
      this.index_policy = new java.util.ArrayList<org.apache.doris.thrift.TIndexPolicy>();
    }
    this.index_policy.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<org.apache.doris.thrift.TIndexPolicy> getIndexPolicy() {
    return this.index_policy;
  }

  public TReportRequest setIndexPolicy(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TIndexPolicy> index_policy) {
    this.index_policy = index_policy;
    return this;
  }

  public void unsetIndexPolicy() {
    this.index_policy = null;
  }

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

  public void setIndexPolicyIsSet(boolean value) {
    if (!value) {
      this.index_policy = null;
    }
  }

  public long getRunningTasks() {
    return this.running_tasks;
  }

  public TReportRequest setRunningTasks(long running_tasks) {
    this.running_tasks = running_tasks;
    setRunningTasksIsSet(true);
    return this;
  }

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

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

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

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case BACKEND:
      if (value == null) {
        unsetBackend();
      } else {
        setBackend((org.apache.doris.thrift.TBackend)value);
      }
      break;

    case REPORT_VERSION:
      if (value == null) {
        unsetReportVersion();
      } else {
        setReportVersion((java.lang.Long)value);
      }
      break;

    case TASKS:
      if (value == null) {
        unsetTasks();
      } else {
        setTasks((java.util.Map<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>>)value);
      }
      break;

    case TABLETS:
      if (value == null) {
        unsetTablets();
      } else {
        setTablets((java.util.Map<java.lang.Long,TTablet>)value);
      }
      break;

    case DISKS:
      if (value == null) {
        unsetDisks();
      } else {
        setDisks((java.util.Map<java.lang.String,TDisk>)value);
      }
      break;

    case FORCE_RECOVERY:
      if (value == null) {
        unsetForceRecovery();
      } else {
        setForceRecovery((java.lang.Boolean)value);
      }
      break;

    case TABLET_LIST:
      if (value == null) {
        unsetTabletList();
      } else {
        setTabletList((java.util.List<TTablet>)value);
      }
      break;

    case TABLET_MAX_COMPACTION_SCORE:
      if (value == null) {
        unsetTabletMaxCompactionScore();
      } else {
        setTabletMaxCompactionScore((java.lang.Long)value);
      }
      break;

    case STORAGE_POLICY:
      if (value == null) {
        unsetStoragePolicy();
      } else {
        setStoragePolicy((java.util.List<org.apache.doris.thrift.TStoragePolicy>)value);
      }
      break;

    case RESOURCE:
      if (value == null) {
        unsetResource();
      } else {
        setResource((java.util.List<org.apache.doris.thrift.TStorageResource>)value);
      }
      break;

    case NUM_CORES:
      if (value == null) {
        unsetNumCores();
      } else {
        setNumCores((java.lang.Integer)value);
      }
      break;

    case PIPELINE_EXECUTOR_SIZE:
      if (value == null) {
        unsetPipelineExecutorSize();
      } else {
        setPipelineExecutorSize((java.lang.Integer)value);
      }
      break;

    case PARTITIONS_VERSION:
      if (value == null) {
        unsetPartitionsVersion();
      } else {
        setPartitionsVersion((java.util.Map<java.lang.Long,java.lang.Long>)value);
      }
      break;

    case NUM_TABLETS:
      if (value == null) {
        unsetNumTablets();
      } else {
        setNumTablets((java.lang.Long)value);
      }
      break;

    case INDEX_POLICY:
      if (value == null) {
        unsetIndexPolicy();
      } else {
        setIndexPolicy((java.util.List<org.apache.doris.thrift.TIndexPolicy>)value);
      }
      break;

    case RUNNING_TASKS:
      if (value == null) {
        unsetRunningTasks();
      } else {
        setRunningTasks((java.lang.Long)value);
      }
      break;

    }
  }

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

    case REPORT_VERSION:
      return getReportVersion();

    case TASKS:
      return getTasks();

    case TABLETS:
      return getTablets();

    case DISKS:
      return getDisks();

    case FORCE_RECOVERY:
      return isForceRecovery();

    case TABLET_LIST:
      return getTabletList();

    case TABLET_MAX_COMPACTION_SCORE:
      return getTabletMaxCompactionScore();

    case STORAGE_POLICY:
      return getStoragePolicy();

    case RESOURCE:
      return getResource();

    case NUM_CORES:
      return getNumCores();

    case PIPELINE_EXECUTOR_SIZE:
      return getPipelineExecutorSize();

    case PARTITIONS_VERSION:
      return getPartitionsVersion();

    case NUM_TABLETS:
      return getNumTablets();

    case INDEX_POLICY:
      return getIndexPolicy();

    case RUNNING_TASKS:
      return getRunningTasks();

    }
    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 BACKEND:
      return isSetBackend();
    case REPORT_VERSION:
      return isSetReportVersion();
    case TASKS:
      return isSetTasks();
    case TABLETS:
      return isSetTablets();
    case DISKS:
      return isSetDisks();
    case FORCE_RECOVERY:
      return isSetForceRecovery();
    case TABLET_LIST:
      return isSetTabletList();
    case TABLET_MAX_COMPACTION_SCORE:
      return isSetTabletMaxCompactionScore();
    case STORAGE_POLICY:
      return isSetStoragePolicy();
    case RESOURCE:
      return isSetResource();
    case NUM_CORES:
      return isSetNumCores();
    case PIPELINE_EXECUTOR_SIZE:
      return isSetPipelineExecutorSize();
    case PARTITIONS_VERSION:
      return isSetPartitionsVersion();
    case NUM_TABLETS:
      return isSetNumTablets();
    case INDEX_POLICY:
      return isSetIndexPolicy();
    case RUNNING_TASKS:
      return isSetRunningTasks();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_backend = true && this.isSetBackend();
    boolean that_present_backend = true && that.isSetBackend();
    if (this_present_backend || that_present_backend) {
      if (!(this_present_backend && that_present_backend))
        return false;
      if (!this.backend.equals(that.backend))
        return false;
    }

    boolean this_present_report_version = true && this.isSetReportVersion();
    boolean that_present_report_version = true && that.isSetReportVersion();
    if (this_present_report_version || that_present_report_version) {
      if (!(this_present_report_version && that_present_report_version))
        return false;
      if (this.report_version != that.report_version)
        return false;
    }

    boolean this_present_tasks = true && this.isSetTasks();
    boolean that_present_tasks = true && that.isSetTasks();
    if (this_present_tasks || that_present_tasks) {
      if (!(this_present_tasks && that_present_tasks))
        return false;
      if (!this.tasks.equals(that.tasks))
        return false;
    }

    boolean this_present_tablets = true && this.isSetTablets();
    boolean that_present_tablets = true && that.isSetTablets();
    if (this_present_tablets || that_present_tablets) {
      if (!(this_present_tablets && that_present_tablets))
        return false;
      if (!this.tablets.equals(that.tablets))
        return false;
    }

    boolean this_present_disks = true && this.isSetDisks();
    boolean that_present_disks = true && that.isSetDisks();
    if (this_present_disks || that_present_disks) {
      if (!(this_present_disks && that_present_disks))
        return false;
      if (!this.disks.equals(that.disks))
        return false;
    }

    boolean this_present_force_recovery = true && this.isSetForceRecovery();
    boolean that_present_force_recovery = true && that.isSetForceRecovery();
    if (this_present_force_recovery || that_present_force_recovery) {
      if (!(this_present_force_recovery && that_present_force_recovery))
        return false;
      if (this.force_recovery != that.force_recovery)
        return false;
    }

    boolean this_present_tablet_list = true && this.isSetTabletList();
    boolean that_present_tablet_list = true && that.isSetTabletList();
    if (this_present_tablet_list || that_present_tablet_list) {
      if (!(this_present_tablet_list && that_present_tablet_list))
        return false;
      if (!this.tablet_list.equals(that.tablet_list))
        return false;
    }

    boolean this_present_tablet_max_compaction_score = true && this.isSetTabletMaxCompactionScore();
    boolean that_present_tablet_max_compaction_score = true && that.isSetTabletMaxCompactionScore();
    if (this_present_tablet_max_compaction_score || that_present_tablet_max_compaction_score) {
      if (!(this_present_tablet_max_compaction_score && that_present_tablet_max_compaction_score))
        return false;
      if (this.tablet_max_compaction_score != that.tablet_max_compaction_score)
        return false;
    }

    boolean this_present_storage_policy = true && this.isSetStoragePolicy();
    boolean that_present_storage_policy = true && that.isSetStoragePolicy();
    if (this_present_storage_policy || that_present_storage_policy) {
      if (!(this_present_storage_policy && that_present_storage_policy))
        return false;
      if (!this.storage_policy.equals(that.storage_policy))
        return false;
    }

    boolean this_present_resource = true && this.isSetResource();
    boolean that_present_resource = true && that.isSetResource();
    if (this_present_resource || that_present_resource) {
      if (!(this_present_resource && that_present_resource))
        return false;
      if (!this.resource.equals(that.resource))
        return false;
    }

    boolean this_present_num_cores = true;
    boolean that_present_num_cores = true;
    if (this_present_num_cores || that_present_num_cores) {
      if (!(this_present_num_cores && that_present_num_cores))
        return false;
      if (this.num_cores != that.num_cores)
        return false;
    }

    boolean this_present_pipeline_executor_size = true;
    boolean that_present_pipeline_executor_size = true;
    if (this_present_pipeline_executor_size || that_present_pipeline_executor_size) {
      if (!(this_present_pipeline_executor_size && that_present_pipeline_executor_size))
        return false;
      if (this.pipeline_executor_size != that.pipeline_executor_size)
        return false;
    }

    boolean this_present_partitions_version = true && this.isSetPartitionsVersion();
    boolean that_present_partitions_version = true && that.isSetPartitionsVersion();
    if (this_present_partitions_version || that_present_partitions_version) {
      if (!(this_present_partitions_version && that_present_partitions_version))
        return false;
      if (!this.partitions_version.equals(that.partitions_version))
        return false;
    }

    boolean this_present_num_tablets = true && this.isSetNumTablets();
    boolean that_present_num_tablets = true && that.isSetNumTablets();
    if (this_present_num_tablets || that_present_num_tablets) {
      if (!(this_present_num_tablets && that_present_num_tablets))
        return false;
      if (this.num_tablets != that.num_tablets)
        return false;
    }

    boolean this_present_index_policy = true && this.isSetIndexPolicy();
    boolean that_present_index_policy = true && that.isSetIndexPolicy();
    if (this_present_index_policy || that_present_index_policy) {
      if (!(this_present_index_policy && that_present_index_policy))
        return false;
      if (!this.index_policy.equals(that.index_policy))
        return false;
    }

    boolean this_present_running_tasks = true && this.isSetRunningTasks();
    boolean that_present_running_tasks = true && that.isSetRunningTasks();
    if (this_present_running_tasks || that_present_running_tasks) {
      if (!(this_present_running_tasks && that_present_running_tasks))
        return false;
      if (this.running_tasks != that.running_tasks)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + ((isSetBackend()) ? 131071 : 524287);
    if (isSetBackend())
      hashCode = hashCode * 8191 + backend.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetTasks()) ? 131071 : 524287);
    if (isSetTasks())
      hashCode = hashCode * 8191 + tasks.hashCode();

    hashCode = hashCode * 8191 + ((isSetTablets()) ? 131071 : 524287);
    if (isSetTablets())
      hashCode = hashCode * 8191 + tablets.hashCode();

    hashCode = hashCode * 8191 + ((isSetDisks()) ? 131071 : 524287);
    if (isSetDisks())
      hashCode = hashCode * 8191 + disks.hashCode();

    hashCode = hashCode * 8191 + ((isSetForceRecovery()) ? 131071 : 524287);
    if (isSetForceRecovery())
      hashCode = hashCode * 8191 + ((force_recovery) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetTabletList()) ? 131071 : 524287);
    if (isSetTabletList())
      hashCode = hashCode * 8191 + tablet_list.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetStoragePolicy()) ? 131071 : 524287);
    if (isSetStoragePolicy())
      hashCode = hashCode * 8191 + storage_policy.hashCode();

    hashCode = hashCode * 8191 + ((isSetResource()) ? 131071 : 524287);
    if (isSetResource())
      hashCode = hashCode * 8191 + resource.hashCode();

    hashCode = hashCode * 8191 + num_cores;

    hashCode = hashCode * 8191 + pipeline_executor_size;

    hashCode = hashCode * 8191 + ((isSetPartitionsVersion()) ? 131071 : 524287);
    if (isSetPartitionsVersion())
      hashCode = hashCode * 8191 + partitions_version.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetIndexPolicy()) ? 131071 : 524287);
    if (isSetIndexPolicy())
      hashCode = hashCode * 8191 + index_policy.hashCode();

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

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetBackend(), other.isSetBackend());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBackend()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.backend, other.backend);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetReportVersion(), other.isSetReportVersion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetReportVersion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.report_version, other.report_version);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTasks(), other.isSetTasks());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTasks()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tasks, other.tasks);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTablets(), other.isSetTablets());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTablets()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablets, other.tablets);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDisks(), other.isSetDisks());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDisks()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.disks, other.disks);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetForceRecovery(), other.isSetForceRecovery());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetForceRecovery()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.force_recovery, other.force_recovery);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTabletList(), other.isSetTabletList());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTabletList()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablet_list, other.tablet_list);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTabletMaxCompactionScore(), other.isSetTabletMaxCompactionScore());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTabletMaxCompactionScore()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablet_max_compaction_score, other.tablet_max_compaction_score);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetStoragePolicy(), other.isSetStoragePolicy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStoragePolicy()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storage_policy, other.storage_policy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetResource(), other.isSetResource());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetResource()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resource, other.resource);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetNumCores(), other.isSetNumCores());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNumCores()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_cores, other.num_cores);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPipelineExecutorSize(), other.isSetPipelineExecutorSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPipelineExecutorSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pipeline_executor_size, other.pipeline_executor_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionsVersion(), other.isSetPartitionsVersion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionsVersion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partitions_version, other.partitions_version);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetNumTablets(), other.isSetNumTablets());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNumTablets()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_tablets, other.num_tablets);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetIndexPolicy(), other.isSetIndexPolicy());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIndexPolicy()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.index_policy, other.index_policy);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRunningTasks(), other.isSetRunningTasks());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRunningTasks()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.running_tasks, other.running_tasks);
      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("TReportRequest(");
    boolean first = true;

    sb.append("backend:");
    if (this.backend == null) {
      sb.append("null");
    } else {
      sb.append(this.backend);
    }
    first = false;
    if (isSetReportVersion()) {
      if (!first) sb.append(", ");
      sb.append("report_version:");
      sb.append(this.report_version);
      first = false;
    }
    if (isSetTasks()) {
      if (!first) sb.append(", ");
      sb.append("tasks:");
      if (this.tasks == null) {
        sb.append("null");
      } else {
        sb.append(this.tasks);
      }
      first = false;
    }
    if (isSetTablets()) {
      if (!first) sb.append(", ");
      sb.append("tablets:");
      if (this.tablets == null) {
        sb.append("null");
      } else {
        sb.append(this.tablets);
      }
      first = false;
    }
    if (isSetDisks()) {
      if (!first) sb.append(", ");
      sb.append("disks:");
      if (this.disks == null) {
        sb.append("null");
      } else {
        sb.append(this.disks);
      }
      first = false;
    }
    if (isSetForceRecovery()) {
      if (!first) sb.append(", ");
      sb.append("force_recovery:");
      sb.append(this.force_recovery);
      first = false;
    }
    if (isSetTabletList()) {
      if (!first) sb.append(", ");
      sb.append("tablet_list:");
      if (this.tablet_list == null) {
        sb.append("null");
      } else {
        sb.append(this.tablet_list);
      }
      first = false;
    }
    if (isSetTabletMaxCompactionScore()) {
      if (!first) sb.append(", ");
      sb.append("tablet_max_compaction_score:");
      sb.append(this.tablet_max_compaction_score);
      first = false;
    }
    if (isSetStoragePolicy()) {
      if (!first) sb.append(", ");
      sb.append("storage_policy:");
      if (this.storage_policy == null) {
        sb.append("null");
      } else {
        sb.append(this.storage_policy);
      }
      first = false;
    }
    if (isSetResource()) {
      if (!first) sb.append(", ");
      sb.append("resource:");
      if (this.resource == null) {
        sb.append("null");
      } else {
        sb.append(this.resource);
      }
      first = false;
    }
    if (!first) sb.append(", ");
    sb.append("num_cores:");
    sb.append(this.num_cores);
    first = false;
    if (!first) sb.append(", ");
    sb.append("pipeline_executor_size:");
    sb.append(this.pipeline_executor_size);
    first = false;
    if (isSetPartitionsVersion()) {
      if (!first) sb.append(", ");
      sb.append("partitions_version:");
      if (this.partitions_version == null) {
        sb.append("null");
      } else {
        sb.append(this.partitions_version);
      }
      first = false;
    }
    if (isSetNumTablets()) {
      if (!first) sb.append(", ");
      sb.append("num_tablets:");
      sb.append(this.num_tablets);
      first = false;
    }
    if (isSetIndexPolicy()) {
      if (!first) sb.append(", ");
      sb.append("index_policy:");
      if (this.index_policy == null) {
        sb.append("null");
      } else {
        sb.append(this.index_policy);
      }
      first = false;
    }
    if (isSetRunningTasks()) {
      if (!first) sb.append(", ");
      sb.append("running_tasks:");
      sb.append(this.running_tasks);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    if (backend == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'backend' was not present! Struct: " + toString());
    }
    // check for sub-struct validity
    if (backend != null) {
      backend.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 TReportRequestStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TReportRequestStandardScheme getScheme() {
      return new TReportRequestStandardScheme();
    }
  }

  private static class TReportRequestStandardScheme extends org.apache.thrift.scheme.StandardScheme<TReportRequest> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TReportRequest 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: // BACKEND
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.backend = new org.apache.doris.thrift.TBackend();
              struct.backend.read(iprot);
              struct.setBackendIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // REPORT_VERSION
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.report_version = iprot.readI64();
              struct.setReportVersionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // TASKS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map114 = iprot.readMapBegin();
                struct.tasks = new java.util.EnumMap<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>>(org.apache.doris.thrift.TTaskType.class);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TTaskType _key115;
                @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.Long> _val116;
                for (int _i117 = 0; _i117 < _map114.size; ++_i117)
                {
                  _key115 = org.apache.doris.thrift.TTaskType.findByValue(iprot.readI32());
                  {
                    org.apache.thrift.protocol.TSet _set118 = iprot.readSetBegin();
                    _val116 = new java.util.HashSet<java.lang.Long>(2*_set118.size);
                    long _elem119;
                    for (int _i120 = 0; _i120 < _set118.size; ++_i120)
                    {
                      _elem119 = iprot.readI64();
                      _val116.add(_elem119);
                    }
                    iprot.readSetEnd();
                  }
                  if (_key115 != null)
                  {
                    struct.tasks.put(_key115, _val116);
                  }
                }
                iprot.readMapEnd();
              }
              struct.setTasksIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // TABLETS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map121 = iprot.readMapBegin();
                struct.tablets = new java.util.HashMap<java.lang.Long,TTablet>(2*_map121.size);
                long _key122;
                @org.apache.thrift.annotation.Nullable TTablet _val123;
                for (int _i124 = 0; _i124 < _map121.size; ++_i124)
                {
                  _key122 = iprot.readI64();
                  _val123 = new TTablet();
                  _val123.read(iprot);
                  struct.tablets.put(_key122, _val123);
                }
                iprot.readMapEnd();
              }
              struct.setTabletsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // DISKS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map125 = iprot.readMapBegin();
                struct.disks = new java.util.HashMap<java.lang.String,TDisk>(2*_map125.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key126;
                @org.apache.thrift.annotation.Nullable TDisk _val127;
                for (int _i128 = 0; _i128 < _map125.size; ++_i128)
                {
                  _key126 = iprot.readString();
                  _val127 = new TDisk();
                  _val127.read(iprot);
                  struct.disks.put(_key126, _val127);
                }
                iprot.readMapEnd();
              }
              struct.setDisksIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // FORCE_RECOVERY
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.force_recovery = iprot.readBool();
              struct.setForceRecoveryIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // TABLET_LIST
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list129 = iprot.readListBegin();
                struct.tablet_list = new java.util.ArrayList<TTablet>(_list129.size);
                @org.apache.thrift.annotation.Nullable TTablet _elem130;
                for (int _i131 = 0; _i131 < _list129.size; ++_i131)
                {
                  _elem130 = new TTablet();
                  _elem130.read(iprot);
                  struct.tablet_list.add(_elem130);
                }
                iprot.readListEnd();
              }
              struct.setTabletListIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // TABLET_MAX_COMPACTION_SCORE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.tablet_max_compaction_score = iprot.readI64();
              struct.setTabletMaxCompactionScoreIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // STORAGE_POLICY
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
                struct.storage_policy = new java.util.ArrayList<org.apache.doris.thrift.TStoragePolicy>(_list132.size);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStoragePolicy _elem133;
                for (int _i134 = 0; _i134 < _list132.size; ++_i134)
                {
                  _elem133 = new org.apache.doris.thrift.TStoragePolicy();
                  _elem133.read(iprot);
                  struct.storage_policy.add(_elem133);
                }
                iprot.readListEnd();
              }
              struct.setStoragePolicyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // RESOURCE
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list135 = iprot.readListBegin();
                struct.resource = new java.util.ArrayList<org.apache.doris.thrift.TStorageResource>(_list135.size);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStorageResource _elem136;
                for (int _i137 = 0; _i137 < _list135.size; ++_i137)
                {
                  _elem136 = new org.apache.doris.thrift.TStorageResource();
                  _elem136.read(iprot);
                  struct.resource.add(_elem136);
                }
                iprot.readListEnd();
              }
              struct.setResourceIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // NUM_CORES
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.num_cores = iprot.readI32();
              struct.setNumCoresIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // PIPELINE_EXECUTOR_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.pipeline_executor_size = iprot.readI32();
              struct.setPipelineExecutorSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // PARTITIONS_VERSION
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map138 = iprot.readMapBegin();
                struct.partitions_version = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map138.size);
                long _key139;
                long _val140;
                for (int _i141 = 0; _i141 < _map138.size; ++_i141)
                {
                  _key139 = iprot.readI64();
                  _val140 = iprot.readI64();
                  struct.partitions_version.put(_key139, _val140);
                }
                iprot.readMapEnd();
              }
              struct.setPartitionsVersionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // NUM_TABLETS
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.num_tablets = iprot.readI64();
              struct.setNumTabletsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // INDEX_POLICY
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
                struct.index_policy = new java.util.ArrayList<org.apache.doris.thrift.TIndexPolicy>(_list142.size);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TIndexPolicy _elem143;
                for (int _i144 = 0; _i144 < _list142.size; ++_i144)
                {
                  _elem143 = new org.apache.doris.thrift.TIndexPolicy();
                  _elem143.read(iprot);
                  struct.index_policy.add(_elem143);
                }
                iprot.readListEnd();
              }
              struct.setIndexPolicyIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // RUNNING_TASKS
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.running_tasks = iprot.readI64();
              struct.setRunningTasksIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();

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

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

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.backend != null) {
        oprot.writeFieldBegin(BACKEND_FIELD_DESC);
        struct.backend.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.isSetReportVersion()) {
        oprot.writeFieldBegin(REPORT_VERSION_FIELD_DESC);
        oprot.writeI64(struct.report_version);
        oprot.writeFieldEnd();
      }
      if (struct.tasks != null) {
        if (struct.isSetTasks()) {
          oprot.writeFieldBegin(TASKS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.SET, struct.tasks.size()));
            for (java.util.Map.Entry<org.apache.doris.thrift.TTaskType, java.util.Set<java.lang.Long>> _iter145 : struct.tasks.entrySet())
            {
              oprot.writeI32(_iter145.getKey().getValue());
              {
                oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I64, _iter145.getValue().size()));
                for (long _iter146 : _iter145.getValue())
                {
                  oprot.writeI64(_iter146);
                }
                oprot.writeSetEnd();
              }
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.tablets != null) {
        if (struct.isSetTablets()) {
          oprot.writeFieldBegin(TABLETS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, struct.tablets.size()));
            for (java.util.Map.Entry<java.lang.Long, TTablet> _iter147 : struct.tablets.entrySet())
            {
              oprot.writeI64(_iter147.getKey());
              _iter147.getValue().write(oprot);
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.disks != null) {
        if (struct.isSetDisks()) {
          oprot.writeFieldBegin(DISKS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.disks.size()));
            for (java.util.Map.Entry<java.lang.String, TDisk> _iter148 : struct.disks.entrySet())
            {
              oprot.writeString(_iter148.getKey());
              _iter148.getValue().write(oprot);
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetForceRecovery()) {
        oprot.writeFieldBegin(FORCE_RECOVERY_FIELD_DESC);
        oprot.writeBool(struct.force_recovery);
        oprot.writeFieldEnd();
      }
      if (struct.tablet_list != null) {
        if (struct.isSetTabletList()) {
          oprot.writeFieldBegin(TABLET_LIST_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tablet_list.size()));
            for (TTablet _iter149 : struct.tablet_list)
            {
              _iter149.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTabletMaxCompactionScore()) {
        oprot.writeFieldBegin(TABLET_MAX_COMPACTION_SCORE_FIELD_DESC);
        oprot.writeI64(struct.tablet_max_compaction_score);
        oprot.writeFieldEnd();
      }
      if (struct.storage_policy != null) {
        if (struct.isSetStoragePolicy()) {
          oprot.writeFieldBegin(STORAGE_POLICY_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.storage_policy.size()));
            for (org.apache.doris.thrift.TStoragePolicy _iter150 : struct.storage_policy)
            {
              _iter150.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.resource != null) {
        if (struct.isSetResource()) {
          oprot.writeFieldBegin(RESOURCE_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.resource.size()));
            for (org.apache.doris.thrift.TStorageResource _iter151 : struct.resource)
            {
              _iter151.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldBegin(NUM_CORES_FIELD_DESC);
      oprot.writeI32(struct.num_cores);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(PIPELINE_EXECUTOR_SIZE_FIELD_DESC);
      oprot.writeI32(struct.pipeline_executor_size);
      oprot.writeFieldEnd();
      if (struct.partitions_version != null) {
        if (struct.isSetPartitionsVersion()) {
          oprot.writeFieldBegin(PARTITIONS_VERSION_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, struct.partitions_version.size()));
            for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter152 : struct.partitions_version.entrySet())
            {
              oprot.writeI64(_iter152.getKey());
              oprot.writeI64(_iter152.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetNumTablets()) {
        oprot.writeFieldBegin(NUM_TABLETS_FIELD_DESC);
        oprot.writeI64(struct.num_tablets);
        oprot.writeFieldEnd();
      }
      if (struct.index_policy != null) {
        if (struct.isSetIndexPolicy()) {
          oprot.writeFieldBegin(INDEX_POLICY_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.index_policy.size()));
            for (org.apache.doris.thrift.TIndexPolicy _iter153 : struct.index_policy)
            {
              _iter153.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetRunningTasks()) {
        oprot.writeFieldBegin(RUNNING_TASKS_FIELD_DESC);
        oprot.writeI64(struct.running_tasks);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TReportRequestTupleScheme extends org.apache.thrift.scheme.TupleScheme<TReportRequest> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TReportRequest struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.backend.write(oprot);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetReportVersion()) {
        optionals.set(0);
      }
      if (struct.isSetTasks()) {
        optionals.set(1);
      }
      if (struct.isSetTablets()) {
        optionals.set(2);
      }
      if (struct.isSetDisks()) {
        optionals.set(3);
      }
      if (struct.isSetForceRecovery()) {
        optionals.set(4);
      }
      if (struct.isSetTabletList()) {
        optionals.set(5);
      }
      if (struct.isSetTabletMaxCompactionScore()) {
        optionals.set(6);
      }
      if (struct.isSetStoragePolicy()) {
        optionals.set(7);
      }
      if (struct.isSetResource()) {
        optionals.set(8);
      }
      if (struct.isSetNumCores()) {
        optionals.set(9);
      }
      if (struct.isSetPipelineExecutorSize()) {
        optionals.set(10);
      }
      if (struct.isSetPartitionsVersion()) {
        optionals.set(11);
      }
      if (struct.isSetNumTablets()) {
        optionals.set(12);
      }
      if (struct.isSetIndexPolicy()) {
        optionals.set(13);
      }
      if (struct.isSetRunningTasks()) {
        optionals.set(14);
      }
      oprot.writeBitSet(optionals, 15);
      if (struct.isSetReportVersion()) {
        oprot.writeI64(struct.report_version);
      }
      if (struct.isSetTasks()) {
        {
          oprot.writeI32(struct.tasks.size());
          for (java.util.Map.Entry<org.apache.doris.thrift.TTaskType, java.util.Set<java.lang.Long>> _iter154 : struct.tasks.entrySet())
          {
            oprot.writeI32(_iter154.getKey().getValue());
            {
              oprot.writeI32(_iter154.getValue().size());
              for (long _iter155 : _iter154.getValue())
              {
                oprot.writeI64(_iter155);
              }
            }
          }
        }
      }
      if (struct.isSetTablets()) {
        {
          oprot.writeI32(struct.tablets.size());
          for (java.util.Map.Entry<java.lang.Long, TTablet> _iter156 : struct.tablets.entrySet())
          {
            oprot.writeI64(_iter156.getKey());
            _iter156.getValue().write(oprot);
          }
        }
      }
      if (struct.isSetDisks()) {
        {
          oprot.writeI32(struct.disks.size());
          for (java.util.Map.Entry<java.lang.String, TDisk> _iter157 : struct.disks.entrySet())
          {
            oprot.writeString(_iter157.getKey());
            _iter157.getValue().write(oprot);
          }
        }
      }
      if (struct.isSetForceRecovery()) {
        oprot.writeBool(struct.force_recovery);
      }
      if (struct.isSetTabletList()) {
        {
          oprot.writeI32(struct.tablet_list.size());
          for (TTablet _iter158 : struct.tablet_list)
          {
            _iter158.write(oprot);
          }
        }
      }
      if (struct.isSetTabletMaxCompactionScore()) {
        oprot.writeI64(struct.tablet_max_compaction_score);
      }
      if (struct.isSetStoragePolicy()) {
        {
          oprot.writeI32(struct.storage_policy.size());
          for (org.apache.doris.thrift.TStoragePolicy _iter159 : struct.storage_policy)
          {
            _iter159.write(oprot);
          }
        }
      }
      if (struct.isSetResource()) {
        {
          oprot.writeI32(struct.resource.size());
          for (org.apache.doris.thrift.TStorageResource _iter160 : struct.resource)
          {
            _iter160.write(oprot);
          }
        }
      }
      if (struct.isSetNumCores()) {
        oprot.writeI32(struct.num_cores);
      }
      if (struct.isSetPipelineExecutorSize()) {
        oprot.writeI32(struct.pipeline_executor_size);
      }
      if (struct.isSetPartitionsVersion()) {
        {
          oprot.writeI32(struct.partitions_version.size());
          for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter161 : struct.partitions_version.entrySet())
          {
            oprot.writeI64(_iter161.getKey());
            oprot.writeI64(_iter161.getValue());
          }
        }
      }
      if (struct.isSetNumTablets()) {
        oprot.writeI64(struct.num_tablets);
      }
      if (struct.isSetIndexPolicy()) {
        {
          oprot.writeI32(struct.index_policy.size());
          for (org.apache.doris.thrift.TIndexPolicy _iter162 : struct.index_policy)
          {
            _iter162.write(oprot);
          }
        }
      }
      if (struct.isSetRunningTasks()) {
        oprot.writeI64(struct.running_tasks);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TReportRequest struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.backend = new org.apache.doris.thrift.TBackend();
      struct.backend.read(iprot);
      struct.setBackendIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(15);
      if (incoming.get(0)) {
        struct.report_version = iprot.readI64();
        struct.setReportVersionIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.thrift.protocol.TMap _map163 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.SET); 
          struct.tasks = new java.util.EnumMap<org.apache.doris.thrift.TTaskType,java.util.Set<java.lang.Long>>(org.apache.doris.thrift.TTaskType.class);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TTaskType _key164;
          @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.Long> _val165;
          for (int _i166 = 0; _i166 < _map163.size; ++_i166)
          {
            _key164 = org.apache.doris.thrift.TTaskType.findByValue(iprot.readI32());
            {
              org.apache.thrift.protocol.TSet _set167 = iprot.readSetBegin(org.apache.thrift.protocol.TType.I64);
              _val165 = new java.util.HashSet<java.lang.Long>(2*_set167.size);
              long _elem168;
              for (int _i169 = 0; _i169 < _set167.size; ++_i169)
              {
                _elem168 = iprot.readI64();
                _val165.add(_elem168);
              }
            }
            if (_key164 != null)
            {
              struct.tasks.put(_key164, _val165);
            }
          }
        }
        struct.setTasksIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TMap _map170 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT); 
          struct.tablets = new java.util.HashMap<java.lang.Long,TTablet>(2*_map170.size);
          long _key171;
          @org.apache.thrift.annotation.Nullable TTablet _val172;
          for (int _i173 = 0; _i173 < _map170.size; ++_i173)
          {
            _key171 = iprot.readI64();
            _val172 = new TTablet();
            _val172.read(iprot);
            struct.tablets.put(_key171, _val172);
          }
        }
        struct.setTabletsIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TMap _map174 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT); 
          struct.disks = new java.util.HashMap<java.lang.String,TDisk>(2*_map174.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key175;
          @org.apache.thrift.annotation.Nullable TDisk _val176;
          for (int _i177 = 0; _i177 < _map174.size; ++_i177)
          {
            _key175 = iprot.readString();
            _val176 = new TDisk();
            _val176.read(iprot);
            struct.disks.put(_key175, _val176);
          }
        }
        struct.setDisksIsSet(true);
      }
      if (incoming.get(4)) {
        struct.force_recovery = iprot.readBool();
        struct.setForceRecoveryIsSet(true);
      }
      if (incoming.get(5)) {
        {
          org.apache.thrift.protocol.TList _list178 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.tablet_list = new java.util.ArrayList<TTablet>(_list178.size);
          @org.apache.thrift.annotation.Nullable TTablet _elem179;
          for (int _i180 = 0; _i180 < _list178.size; ++_i180)
          {
            _elem179 = new TTablet();
            _elem179.read(iprot);
            struct.tablet_list.add(_elem179);
          }
        }
        struct.setTabletListIsSet(true);
      }
      if (incoming.get(6)) {
        struct.tablet_max_compaction_score = iprot.readI64();
        struct.setTabletMaxCompactionScoreIsSet(true);
      }
      if (incoming.get(7)) {
        {
          org.apache.thrift.protocol.TList _list181 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.storage_policy = new java.util.ArrayList<org.apache.doris.thrift.TStoragePolicy>(_list181.size);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStoragePolicy _elem182;
          for (int _i183 = 0; _i183 < _list181.size; ++_i183)
          {
            _elem182 = new org.apache.doris.thrift.TStoragePolicy();
            _elem182.read(iprot);
            struct.storage_policy.add(_elem182);
          }
        }
        struct.setStoragePolicyIsSet(true);
      }
      if (incoming.get(8)) {
        {
          org.apache.thrift.protocol.TList _list184 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.resource = new java.util.ArrayList<org.apache.doris.thrift.TStorageResource>(_list184.size);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStorageResource _elem185;
          for (int _i186 = 0; _i186 < _list184.size; ++_i186)
          {
            _elem185 = new org.apache.doris.thrift.TStorageResource();
            _elem185.read(iprot);
            struct.resource.add(_elem185);
          }
        }
        struct.setResourceIsSet(true);
      }
      if (incoming.get(9)) {
        struct.num_cores = iprot.readI32();
        struct.setNumCoresIsSet(true);
      }
      if (incoming.get(10)) {
        struct.pipeline_executor_size = iprot.readI32();
        struct.setPipelineExecutorSizeIsSet(true);
      }
      if (incoming.get(11)) {
        {
          org.apache.thrift.protocol.TMap _map187 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64); 
          struct.partitions_version = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map187.size);
          long _key188;
          long _val189;
          for (int _i190 = 0; _i190 < _map187.size; ++_i190)
          {
            _key188 = iprot.readI64();
            _val189 = iprot.readI64();
            struct.partitions_version.put(_key188, _val189);
          }
        }
        struct.setPartitionsVersionIsSet(true);
      }
      if (incoming.get(12)) {
        struct.num_tablets = iprot.readI64();
        struct.setNumTabletsIsSet(true);
      }
      if (incoming.get(13)) {
        {
          org.apache.thrift.protocol.TList _list191 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.index_policy = new java.util.ArrayList<org.apache.doris.thrift.TIndexPolicy>(_list191.size);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TIndexPolicy _elem192;
          for (int _i193 = 0; _i193 < _list191.size; ++_i193)
          {
            _elem192 = new org.apache.doris.thrift.TIndexPolicy();
            _elem192.read(iprot);
            struct.index_policy.add(_elem192);
          }
        }
        struct.setIndexPolicyIsSet(true);
      }
      if (incoming.get(14)) {
        struct.running_tasks = iprot.readI64();
        struct.setRunningTasksIsSet(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();
  }
}