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

  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 TASK_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("task_type", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField SIGNATURE_FIELD_DESC = new org.apache.thrift.protocol.TField("signature", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("task_status", org.apache.thrift.protocol.TType.STRUCT, (short)4);
  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)5);
  private static final org.apache.thrift.protocol.TField FINISH_TABLET_INFOS_FIELD_DESC = new org.apache.thrift.protocol.TField("finish_tablet_infos", org.apache.thrift.protocol.TType.LIST, (short)6);
  private static final org.apache.thrift.protocol.TField TABLET_CHECKSUM_FIELD_DESC = new org.apache.thrift.protocol.TField("tablet_checksum", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField REQUEST_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("request_version", org.apache.thrift.protocol.TType.I64, (short)8);
  private static final org.apache.thrift.protocol.TField REQUEST_VERSION_HASH_FIELD_DESC = new org.apache.thrift.protocol.TField("request_version_hash", org.apache.thrift.protocol.TType.I64, (short)9);
  private static final org.apache.thrift.protocol.TField SNAPSHOT_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("snapshot_path", org.apache.thrift.protocol.TType.STRING, (short)10);
  private static final org.apache.thrift.protocol.TField ERROR_TABLET_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("error_tablet_ids", org.apache.thrift.protocol.TType.LIST, (short)11);
  private static final org.apache.thrift.protocol.TField SNAPSHOT_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField("snapshot_files", org.apache.thrift.protocol.TType.LIST, (short)12);
  private static final org.apache.thrift.protocol.TField TABLET_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField("tablet_files", org.apache.thrift.protocol.TType.MAP, (short)13);
  private static final org.apache.thrift.protocol.TField DOWNLOADED_TABLET_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("downloaded_tablet_ids", org.apache.thrift.protocol.TType.LIST, (short)14);
  private static final org.apache.thrift.protocol.TField COPY_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("copy_size", org.apache.thrift.protocol.TType.I64, (short)15);
  private static final org.apache.thrift.protocol.TField COPY_TIME_MS_FIELD_DESC = new org.apache.thrift.protocol.TField("copy_time_ms", org.apache.thrift.protocol.TType.I64, (short)16);
  private static final org.apache.thrift.protocol.TField SUCC_TABLETS_FIELD_DESC = new org.apache.thrift.protocol.TField("succ_tablets", org.apache.thrift.protocol.TType.MAP, (short)17);
  private static final org.apache.thrift.protocol.TField TABLE_ID_TO_DELTA_NUM_ROWS_FIELD_DESC = new org.apache.thrift.protocol.TField("table_id_to_delta_num_rows", org.apache.thrift.protocol.TType.MAP, (short)18);
  private static final org.apache.thrift.protocol.TField TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS_FIELD_DESC = new org.apache.thrift.protocol.TField("table_id_to_tablet_id_to_delta_num_rows", org.apache.thrift.protocol.TType.MAP, (short)19);
  private static final org.apache.thrift.protocol.TField RESP_PARTITIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("resp_partitions", org.apache.thrift.protocol.TType.LIST, (short)20);

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

  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TBackend backend; // required
  /**
   * 
   * @see org.apache.doris.thrift.TTaskType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TTaskType task_type; // required
  public long signature; // required
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStatus task_status; // required
  public long report_version; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<TTabletInfo> finish_tablet_infos; // optional
  public long tablet_checksum; // optional
  public long request_version; // optional
  public long request_version_hash; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String snapshot_path; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> error_tablet_ids; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> snapshot_files; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.util.List<java.lang.String>> tablet_files; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> downloaded_tablet_ids; // optional
  public long copy_size; // optional
  public long copy_time_ms; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> succ_tablets; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> table_id_to_delta_num_rows; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>> table_id_to_tablet_id_to_delta_num_rows; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo> resp_partitions; // 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"),
    /**
     * 
     * @see org.apache.doris.thrift.TTaskType
     */
    TASK_TYPE((short)2, "task_type"),
    SIGNATURE((short)3, "signature"),
    TASK_STATUS((short)4, "task_status"),
    REPORT_VERSION((short)5, "report_version"),
    FINISH_TABLET_INFOS((short)6, "finish_tablet_infos"),
    TABLET_CHECKSUM((short)7, "tablet_checksum"),
    REQUEST_VERSION((short)8, "request_version"),
    REQUEST_VERSION_HASH((short)9, "request_version_hash"),
    SNAPSHOT_PATH((short)10, "snapshot_path"),
    ERROR_TABLET_IDS((short)11, "error_tablet_ids"),
    SNAPSHOT_FILES((short)12, "snapshot_files"),
    TABLET_FILES((short)13, "tablet_files"),
    DOWNLOADED_TABLET_IDS((short)14, "downloaded_tablet_ids"),
    COPY_SIZE((short)15, "copy_size"),
    COPY_TIME_MS((short)16, "copy_time_ms"),
    SUCC_TABLETS((short)17, "succ_tablets"),
    TABLE_ID_TO_DELTA_NUM_ROWS((short)18, "table_id_to_delta_num_rows"),
    TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS((short)19, "table_id_to_tablet_id_to_delta_num_rows"),
    RESP_PARTITIONS((short)20, "resp_partitions");

    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: // TASK_TYPE
          return TASK_TYPE;
        case 3: // SIGNATURE
          return SIGNATURE;
        case 4: // TASK_STATUS
          return TASK_STATUS;
        case 5: // REPORT_VERSION
          return REPORT_VERSION;
        case 6: // FINISH_TABLET_INFOS
          return FINISH_TABLET_INFOS;
        case 7: // TABLET_CHECKSUM
          return TABLET_CHECKSUM;
        case 8: // REQUEST_VERSION
          return REQUEST_VERSION;
        case 9: // REQUEST_VERSION_HASH
          return REQUEST_VERSION_HASH;
        case 10: // SNAPSHOT_PATH
          return SNAPSHOT_PATH;
        case 11: // ERROR_TABLET_IDS
          return ERROR_TABLET_IDS;
        case 12: // SNAPSHOT_FILES
          return SNAPSHOT_FILES;
        case 13: // TABLET_FILES
          return TABLET_FILES;
        case 14: // DOWNLOADED_TABLET_IDS
          return DOWNLOADED_TABLET_IDS;
        case 15: // COPY_SIZE
          return COPY_SIZE;
        case 16: // COPY_TIME_MS
          return COPY_TIME_MS;
        case 17: // SUCC_TABLETS
          return SUCC_TABLETS;
        case 18: // TABLE_ID_TO_DELTA_NUM_ROWS
          return TABLE_ID_TO_DELTA_NUM_ROWS;
        case 19: // TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS
          return TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS;
        case 20: // RESP_PARTITIONS
          return RESP_PARTITIONS;
        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 __SIGNATURE_ISSET_ID = 0;
  private static final int __REPORT_VERSION_ISSET_ID = 1;
  private static final int __TABLET_CHECKSUM_ISSET_ID = 2;
  private static final int __REQUEST_VERSION_ISSET_ID = 3;
  private static final int __REQUEST_VERSION_HASH_ISSET_ID = 4;
  private static final int __COPY_SIZE_ISSET_ID = 5;
  private static final int __COPY_TIME_MS_ISSET_ID = 6;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.REPORT_VERSION,_Fields.FINISH_TABLET_INFOS,_Fields.TABLET_CHECKSUM,_Fields.REQUEST_VERSION,_Fields.REQUEST_VERSION_HASH,_Fields.SNAPSHOT_PATH,_Fields.ERROR_TABLET_IDS,_Fields.SNAPSHOT_FILES,_Fields.TABLET_FILES,_Fields.DOWNLOADED_TABLET_IDS,_Fields.COPY_SIZE,_Fields.COPY_TIME_MS,_Fields.SUCC_TABLETS,_Fields.TABLE_ID_TO_DELTA_NUM_ROWS,_Fields.TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS,_Fields.RESP_PARTITIONS};
  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.TASK_TYPE, new org.apache.thrift.meta_data.FieldMetaData("task_type", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TTaskType.class)));
    tmpMap.put(_Fields.SIGNATURE, new org.apache.thrift.meta_data.FieldMetaData("signature", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.TASK_STATUS, new org.apache.thrift.meta_data.FieldMetaData("task_status", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TStatus.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.FINISH_TABLET_INFOS, new org.apache.thrift.meta_data.FieldMetaData("finish_tablet_infos", 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, TTabletInfo.class))));
    tmpMap.put(_Fields.TABLET_CHECKSUM, new org.apache.thrift.meta_data.FieldMetaData("tablet_checksum", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.REQUEST_VERSION, new org.apache.thrift.meta_data.FieldMetaData("request_version", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.REQUEST_VERSION_HASH, new org.apache.thrift.meta_data.FieldMetaData("request_version_hash", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.SNAPSHOT_PATH, new org.apache.thrift.meta_data.FieldMetaData("snapshot_path", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ERROR_TABLET_IDS, new org.apache.thrift.meta_data.FieldMetaData("error_tablet_ids", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TTabletId"))));
    tmpMap.put(_Fields.SNAPSHOT_FILES, new org.apache.thrift.meta_data.FieldMetaData("snapshot_files", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    tmpMap.put(_Fields.TABLET_FILES, new org.apache.thrift.meta_data.FieldMetaData("tablet_files", 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.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))));
    tmpMap.put(_Fields.DOWNLOADED_TABLET_IDS, new org.apache.thrift.meta_data.FieldMetaData("downloaded_tablet_ids", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TTabletId"))));
    tmpMap.put(_Fields.COPY_SIZE, new org.apache.thrift.meta_data.FieldMetaData("copy_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.COPY_TIME_MS, new org.apache.thrift.meta_data.FieldMetaData("copy_time_ms", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.SUCC_TABLETS, new org.apache.thrift.meta_data.FieldMetaData("succ_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.FieldValueMetaData(org.apache.thrift.protocol.TType.I64            , "TVersion"))));
    tmpMap.put(_Fields.TABLE_ID_TO_DELTA_NUM_ROWS, new org.apache.thrift.meta_data.FieldMetaData("table_id_to_delta_num_rows", 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), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
    tmpMap.put(_Fields.TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS, new org.apache.thrift.meta_data.FieldMetaData("table_id_to_tablet_id_to_delta_num_rows", 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), 
            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), 
                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)))));
    tmpMap.put(_Fields.RESP_PARTITIONS, new org.apache.thrift.meta_data.FieldMetaData("resp_partitions", 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.TCalcDeleteBitmapPartitionInfo.class))));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TFinishTaskRequest.class, metaDataMap);
  }

  public TFinishTaskRequest() {
  }

  public TFinishTaskRequest(
    org.apache.doris.thrift.TBackend backend,
    org.apache.doris.thrift.TTaskType task_type,
    long signature,
    org.apache.doris.thrift.TStatus task_status)
  {
    this();
    this.backend = backend;
    this.task_type = task_type;
    this.signature = signature;
    setSignatureIsSet(true);
    this.task_status = task_status;
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TFinishTaskRequest(TFinishTaskRequest other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetBackend()) {
      this.backend = new org.apache.doris.thrift.TBackend(other.backend);
    }
    if (other.isSetTaskType()) {
      this.task_type = other.task_type;
    }
    this.signature = other.signature;
    if (other.isSetTaskStatus()) {
      this.task_status = new org.apache.doris.thrift.TStatus(other.task_status);
    }
    this.report_version = other.report_version;
    if (other.isSetFinishTabletInfos()) {
      java.util.List<TTabletInfo> __this__finish_tablet_infos = new java.util.ArrayList<TTabletInfo>(other.finish_tablet_infos.size());
      for (TTabletInfo other_element : other.finish_tablet_infos) {
        __this__finish_tablet_infos.add(new TTabletInfo(other_element));
      }
      this.finish_tablet_infos = __this__finish_tablet_infos;
    }
    this.tablet_checksum = other.tablet_checksum;
    this.request_version = other.request_version;
    this.request_version_hash = other.request_version_hash;
    if (other.isSetSnapshotPath()) {
      this.snapshot_path = other.snapshot_path;
    }
    if (other.isSetErrorTabletIds()) {
      java.util.List<java.lang.Long> __this__error_tablet_ids = new java.util.ArrayList<java.lang.Long>(other.error_tablet_ids.size());
      for (java.lang.Long other_element : other.error_tablet_ids) {
        __this__error_tablet_ids.add(other_element);
      }
      this.error_tablet_ids = __this__error_tablet_ids;
    }
    if (other.isSetSnapshotFiles()) {
      java.util.List<java.lang.String> __this__snapshot_files = new java.util.ArrayList<java.lang.String>(other.snapshot_files);
      this.snapshot_files = __this__snapshot_files;
    }
    if (other.isSetTabletFiles()) {
      java.util.Map<java.lang.Long,java.util.List<java.lang.String>> __this__tablet_files = new java.util.HashMap<java.lang.Long,java.util.List<java.lang.String>>(other.tablet_files.size());
      for (java.util.Map.Entry<java.lang.Long, java.util.List<java.lang.String>> other_element : other.tablet_files.entrySet()) {

        java.lang.Long other_element_key = other_element.getKey();
        java.util.List<java.lang.String> other_element_value = other_element.getValue();

        java.lang.Long __this__tablet_files_copy_key = other_element_key;

        java.util.List<java.lang.String> __this__tablet_files_copy_value = new java.util.ArrayList<java.lang.String>(other_element_value);

        __this__tablet_files.put(__this__tablet_files_copy_key, __this__tablet_files_copy_value);
      }
      this.tablet_files = __this__tablet_files;
    }
    if (other.isSetDownloadedTabletIds()) {
      java.util.List<java.lang.Long> __this__downloaded_tablet_ids = new java.util.ArrayList<java.lang.Long>(other.downloaded_tablet_ids.size());
      for (java.lang.Long other_element : other.downloaded_tablet_ids) {
        __this__downloaded_tablet_ids.add(other_element);
      }
      this.downloaded_tablet_ids = __this__downloaded_tablet_ids;
    }
    this.copy_size = other.copy_size;
    this.copy_time_ms = other.copy_time_ms;
    if (other.isSetSuccTablets()) {
      java.util.Map<java.lang.Long,java.lang.Long> __this__succ_tablets = new java.util.HashMap<java.lang.Long,java.lang.Long>(other.succ_tablets.size());
      for (java.util.Map.Entry<java.lang.Long, java.lang.Long> other_element : other.succ_tablets.entrySet()) {

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

        java.lang.Long __this__succ_tablets_copy_key = other_element_key;

        java.lang.Long __this__succ_tablets_copy_value = other_element_value;

        __this__succ_tablets.put(__this__succ_tablets_copy_key, __this__succ_tablets_copy_value);
      }
      this.succ_tablets = __this__succ_tablets;
    }
    if (other.isSetTableIdToDeltaNumRows()) {
      java.util.Map<java.lang.Long,java.lang.Long> __this__table_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.lang.Long>(other.table_id_to_delta_num_rows);
      this.table_id_to_delta_num_rows = __this__table_id_to_delta_num_rows;
    }
    if (other.isSetTableIdToTabletIdToDeltaNumRows()) {
      java.util.Map<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>> __this__table_id_to_tablet_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>>(other.table_id_to_tablet_id_to_delta_num_rows.size());
      for (java.util.Map.Entry<java.lang.Long, java.util.Map<java.lang.Long,java.lang.Long>> other_element : other.table_id_to_tablet_id_to_delta_num_rows.entrySet()) {

        java.lang.Long other_element_key = other_element.getKey();
        java.util.Map<java.lang.Long,java.lang.Long> other_element_value = other_element.getValue();

        java.lang.Long __this__table_id_to_tablet_id_to_delta_num_rows_copy_key = other_element_key;

        java.util.Map<java.lang.Long,java.lang.Long> __this__table_id_to_tablet_id_to_delta_num_rows_copy_value = new java.util.HashMap<java.lang.Long,java.lang.Long>(other_element_value);

        __this__table_id_to_tablet_id_to_delta_num_rows.put(__this__table_id_to_tablet_id_to_delta_num_rows_copy_key, __this__table_id_to_tablet_id_to_delta_num_rows_copy_value);
      }
      this.table_id_to_tablet_id_to_delta_num_rows = __this__table_id_to_tablet_id_to_delta_num_rows;
    }
    if (other.isSetRespPartitions()) {
      java.util.List<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo> __this__resp_partitions = new java.util.ArrayList<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo>(other.resp_partitions.size());
      for (org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo other_element : other.resp_partitions) {
        __this__resp_partitions.add(new org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo(other_element));
      }
      this.resp_partitions = __this__resp_partitions;
    }
  }

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

  @Override
  public void clear() {
    this.backend = null;
    this.task_type = null;
    setSignatureIsSet(false);
    this.signature = 0;
    this.task_status = null;
    setReportVersionIsSet(false);
    this.report_version = 0;
    this.finish_tablet_infos = null;
    setTabletChecksumIsSet(false);
    this.tablet_checksum = 0;
    setRequestVersionIsSet(false);
    this.request_version = 0;
    setRequestVersionHashIsSet(false);
    this.request_version_hash = 0;
    this.snapshot_path = null;
    this.error_tablet_ids = null;
    this.snapshot_files = null;
    this.tablet_files = null;
    this.downloaded_tablet_ids = null;
    setCopySizeIsSet(false);
    this.copy_size = 0;
    setCopyTimeMsIsSet(false);
    this.copy_time_ms = 0;
    this.succ_tablets = null;
    this.table_id_to_delta_num_rows = null;
    this.table_id_to_tablet_id_to_delta_num_rows = null;
    this.resp_partitions = null;
  }

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

  public TFinishTaskRequest 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;
    }
  }

  /**
   * 
   * @see org.apache.doris.thrift.TTaskType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TTaskType getTaskType() {
    return this.task_type;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TTaskType
   */
  public TFinishTaskRequest setTaskType(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TTaskType task_type) {
    this.task_type = task_type;
    return this;
  }

  public void unsetTaskType() {
    this.task_type = null;
  }

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

  public void setTaskTypeIsSet(boolean value) {
    if (!value) {
      this.task_type = null;
    }
  }

  public long getSignature() {
    return this.signature;
  }

  public TFinishTaskRequest setSignature(long signature) {
    this.signature = signature;
    setSignatureIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TStatus getTaskStatus() {
    return this.task_status;
  }

  public TFinishTaskRequest setTaskStatus(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TStatus task_status) {
    this.task_status = task_status;
    return this;
  }

  public void unsetTaskStatus() {
    this.task_status = null;
  }

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

  public void setTaskStatusIsSet(boolean value) {
    if (!value) {
      this.task_status = null;
    }
  }

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

  public TFinishTaskRequest 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 getFinishTabletInfosSize() {
    return (this.finish_tablet_infos == null) ? 0 : this.finish_tablet_infos.size();
  }

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

  public void addToFinishTabletInfos(TTabletInfo elem) {
    if (this.finish_tablet_infos == null) {
      this.finish_tablet_infos = new java.util.ArrayList<TTabletInfo>();
    }
    this.finish_tablet_infos.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<TTabletInfo> getFinishTabletInfos() {
    return this.finish_tablet_infos;
  }

  public TFinishTaskRequest setFinishTabletInfos(@org.apache.thrift.annotation.Nullable java.util.List<TTabletInfo> finish_tablet_infos) {
    this.finish_tablet_infos = finish_tablet_infos;
    return this;
  }

  public void unsetFinishTabletInfos() {
    this.finish_tablet_infos = null;
  }

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

  public void setFinishTabletInfosIsSet(boolean value) {
    if (!value) {
      this.finish_tablet_infos = null;
    }
  }

  public long getTabletChecksum() {
    return this.tablet_checksum;
  }

  public TFinishTaskRequest setTabletChecksum(long tablet_checksum) {
    this.tablet_checksum = tablet_checksum;
    setTabletChecksumIsSet(true);
    return this;
  }

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

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

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

  public long getRequestVersion() {
    return this.request_version;
  }

  public TFinishTaskRequest setRequestVersion(long request_version) {
    this.request_version = request_version;
    setRequestVersionIsSet(true);
    return this;
  }

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

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

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

  public long getRequestVersionHash() {
    return this.request_version_hash;
  }

  public TFinishTaskRequest setRequestVersionHash(long request_version_hash) {
    this.request_version_hash = request_version_hash;
    setRequestVersionHashIsSet(true);
    return this;
  }

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

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

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

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

  public TFinishTaskRequest setSnapshotPath(@org.apache.thrift.annotation.Nullable java.lang.String snapshot_path) {
    this.snapshot_path = snapshot_path;
    return this;
  }

  public void unsetSnapshotPath() {
    this.snapshot_path = null;
  }

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

  public void setSnapshotPathIsSet(boolean value) {
    if (!value) {
      this.snapshot_path = null;
    }
  }

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

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

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

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

  public TFinishTaskRequest setErrorTabletIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> error_tablet_ids) {
    this.error_tablet_ids = error_tablet_ids;
    return this;
  }

  public void unsetErrorTabletIds() {
    this.error_tablet_ids = null;
  }

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

  public void setErrorTabletIdsIsSet(boolean value) {
    if (!value) {
      this.error_tablet_ids = null;
    }
  }

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

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

  public void addToSnapshotFiles(java.lang.String elem) {
    if (this.snapshot_files == null) {
      this.snapshot_files = new java.util.ArrayList<java.lang.String>();
    }
    this.snapshot_files.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.String> getSnapshotFiles() {
    return this.snapshot_files;
  }

  public TFinishTaskRequest setSnapshotFiles(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> snapshot_files) {
    this.snapshot_files = snapshot_files;
    return this;
  }

  public void unsetSnapshotFiles() {
    this.snapshot_files = null;
  }

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

  public void setSnapshotFilesIsSet(boolean value) {
    if (!value) {
      this.snapshot_files = null;
    }
  }

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

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

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.Long,java.util.List<java.lang.String>> getTabletFiles() {
    return this.tablet_files;
  }

  public TFinishTaskRequest setTabletFiles(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.util.List<java.lang.String>> tablet_files) {
    this.tablet_files = tablet_files;
    return this;
  }

  public void unsetTabletFiles() {
    this.tablet_files = null;
  }

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

  public void setTabletFilesIsSet(boolean value) {
    if (!value) {
      this.tablet_files = null;
    }
  }

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

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

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

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

  public TFinishTaskRequest setDownloadedTabletIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> downloaded_tablet_ids) {
    this.downloaded_tablet_ids = downloaded_tablet_ids;
    return this;
  }

  public void unsetDownloadedTabletIds() {
    this.downloaded_tablet_ids = null;
  }

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

  public void setDownloadedTabletIdsIsSet(boolean value) {
    if (!value) {
      this.downloaded_tablet_ids = null;
    }
  }

  public long getCopySize() {
    return this.copy_size;
  }

  public TFinishTaskRequest setCopySize(long copy_size) {
    this.copy_size = copy_size;
    setCopySizeIsSet(true);
    return this;
  }

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

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

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

  public long getCopyTimeMs() {
    return this.copy_time_ms;
  }

  public TFinishTaskRequest setCopyTimeMs(long copy_time_ms) {
    this.copy_time_ms = copy_time_ms;
    setCopyTimeMsIsSet(true);
    return this;
  }

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

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

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

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

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

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

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

  public void unsetSuccTablets() {
    this.succ_tablets = null;
  }

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

  public void setSuccTabletsIsSet(boolean value) {
    if (!value) {
      this.succ_tablets = null;
    }
  }

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

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

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

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

  public void unsetTableIdToDeltaNumRows() {
    this.table_id_to_delta_num_rows = null;
  }

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

  public void setTableIdToDeltaNumRowsIsSet(boolean value) {
    if (!value) {
      this.table_id_to_delta_num_rows = null;
    }
  }

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

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

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

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

  public void unsetTableIdToTabletIdToDeltaNumRows() {
    this.table_id_to_tablet_id_to_delta_num_rows = null;
  }

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

  public void setTableIdToTabletIdToDeltaNumRowsIsSet(boolean value) {
    if (!value) {
      this.table_id_to_tablet_id_to_delta_num_rows = null;
    }
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public java.util.List<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo> getRespPartitions() {
    return this.resp_partitions;
  }

  public TFinishTaskRequest setRespPartitions(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo> resp_partitions) {
    this.resp_partitions = resp_partitions;
    return this;
  }

  public void unsetRespPartitions() {
    this.resp_partitions = null;
  }

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

  public void setRespPartitionsIsSet(boolean value) {
    if (!value) {
      this.resp_partitions = null;
    }
  }

  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 TASK_TYPE:
      if (value == null) {
        unsetTaskType();
      } else {
        setTaskType((org.apache.doris.thrift.TTaskType)value);
      }
      break;

    case SIGNATURE:
      if (value == null) {
        unsetSignature();
      } else {
        setSignature((java.lang.Long)value);
      }
      break;

    case TASK_STATUS:
      if (value == null) {
        unsetTaskStatus();
      } else {
        setTaskStatus((org.apache.doris.thrift.TStatus)value);
      }
      break;

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

    case FINISH_TABLET_INFOS:
      if (value == null) {
        unsetFinishTabletInfos();
      } else {
        setFinishTabletInfos((java.util.List<TTabletInfo>)value);
      }
      break;

    case TABLET_CHECKSUM:
      if (value == null) {
        unsetTabletChecksum();
      } else {
        setTabletChecksum((java.lang.Long)value);
      }
      break;

    case REQUEST_VERSION:
      if (value == null) {
        unsetRequestVersion();
      } else {
        setRequestVersion((java.lang.Long)value);
      }
      break;

    case REQUEST_VERSION_HASH:
      if (value == null) {
        unsetRequestVersionHash();
      } else {
        setRequestVersionHash((java.lang.Long)value);
      }
      break;

    case SNAPSHOT_PATH:
      if (value == null) {
        unsetSnapshotPath();
      } else {
        setSnapshotPath((java.lang.String)value);
      }
      break;

    case ERROR_TABLET_IDS:
      if (value == null) {
        unsetErrorTabletIds();
      } else {
        setErrorTabletIds((java.util.List<java.lang.Long>)value);
      }
      break;

    case SNAPSHOT_FILES:
      if (value == null) {
        unsetSnapshotFiles();
      } else {
        setSnapshotFiles((java.util.List<java.lang.String>)value);
      }
      break;

    case TABLET_FILES:
      if (value == null) {
        unsetTabletFiles();
      } else {
        setTabletFiles((java.util.Map<java.lang.Long,java.util.List<java.lang.String>>)value);
      }
      break;

    case DOWNLOADED_TABLET_IDS:
      if (value == null) {
        unsetDownloadedTabletIds();
      } else {
        setDownloadedTabletIds((java.util.List<java.lang.Long>)value);
      }
      break;

    case COPY_SIZE:
      if (value == null) {
        unsetCopySize();
      } else {
        setCopySize((java.lang.Long)value);
      }
      break;

    case COPY_TIME_MS:
      if (value == null) {
        unsetCopyTimeMs();
      } else {
        setCopyTimeMs((java.lang.Long)value);
      }
      break;

    case SUCC_TABLETS:
      if (value == null) {
        unsetSuccTablets();
      } else {
        setSuccTablets((java.util.Map<java.lang.Long,java.lang.Long>)value);
      }
      break;

    case TABLE_ID_TO_DELTA_NUM_ROWS:
      if (value == null) {
        unsetTableIdToDeltaNumRows();
      } else {
        setTableIdToDeltaNumRows((java.util.Map<java.lang.Long,java.lang.Long>)value);
      }
      break;

    case TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS:
      if (value == null) {
        unsetTableIdToTabletIdToDeltaNumRows();
      } else {
        setTableIdToTabletIdToDeltaNumRows((java.util.Map<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>>)value);
      }
      break;

    case RESP_PARTITIONS:
      if (value == null) {
        unsetRespPartitions();
      } else {
        setRespPartitions((java.util.List<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo>)value);
      }
      break;

    }
  }

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

    case TASK_TYPE:
      return getTaskType();

    case SIGNATURE:
      return getSignature();

    case TASK_STATUS:
      return getTaskStatus();

    case REPORT_VERSION:
      return getReportVersion();

    case FINISH_TABLET_INFOS:
      return getFinishTabletInfos();

    case TABLET_CHECKSUM:
      return getTabletChecksum();

    case REQUEST_VERSION:
      return getRequestVersion();

    case REQUEST_VERSION_HASH:
      return getRequestVersionHash();

    case SNAPSHOT_PATH:
      return getSnapshotPath();

    case ERROR_TABLET_IDS:
      return getErrorTabletIds();

    case SNAPSHOT_FILES:
      return getSnapshotFiles();

    case TABLET_FILES:
      return getTabletFiles();

    case DOWNLOADED_TABLET_IDS:
      return getDownloadedTabletIds();

    case COPY_SIZE:
      return getCopySize();

    case COPY_TIME_MS:
      return getCopyTimeMs();

    case SUCC_TABLETS:
      return getSuccTablets();

    case TABLE_ID_TO_DELTA_NUM_ROWS:
      return getTableIdToDeltaNumRows();

    case TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS:
      return getTableIdToTabletIdToDeltaNumRows();

    case RESP_PARTITIONS:
      return getRespPartitions();

    }
    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 TASK_TYPE:
      return isSetTaskType();
    case SIGNATURE:
      return isSetSignature();
    case TASK_STATUS:
      return isSetTaskStatus();
    case REPORT_VERSION:
      return isSetReportVersion();
    case FINISH_TABLET_INFOS:
      return isSetFinishTabletInfos();
    case TABLET_CHECKSUM:
      return isSetTabletChecksum();
    case REQUEST_VERSION:
      return isSetRequestVersion();
    case REQUEST_VERSION_HASH:
      return isSetRequestVersionHash();
    case SNAPSHOT_PATH:
      return isSetSnapshotPath();
    case ERROR_TABLET_IDS:
      return isSetErrorTabletIds();
    case SNAPSHOT_FILES:
      return isSetSnapshotFiles();
    case TABLET_FILES:
      return isSetTabletFiles();
    case DOWNLOADED_TABLET_IDS:
      return isSetDownloadedTabletIds();
    case COPY_SIZE:
      return isSetCopySize();
    case COPY_TIME_MS:
      return isSetCopyTimeMs();
    case SUCC_TABLETS:
      return isSetSuccTablets();
    case TABLE_ID_TO_DELTA_NUM_ROWS:
      return isSetTableIdToDeltaNumRows();
    case TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS:
      return isSetTableIdToTabletIdToDeltaNumRows();
    case RESP_PARTITIONS:
      return isSetRespPartitions();
    }
    throw new java.lang.IllegalStateException();
  }

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

  public boolean equals(TFinishTaskRequest 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_task_type = true && this.isSetTaskType();
    boolean that_present_task_type = true && that.isSetTaskType();
    if (this_present_task_type || that_present_task_type) {
      if (!(this_present_task_type && that_present_task_type))
        return false;
      if (!this.task_type.equals(that.task_type))
        return false;
    }

    boolean this_present_signature = true;
    boolean that_present_signature = true;
    if (this_present_signature || that_present_signature) {
      if (!(this_present_signature && that_present_signature))
        return false;
      if (this.signature != that.signature)
        return false;
    }

    boolean this_present_task_status = true && this.isSetTaskStatus();
    boolean that_present_task_status = true && that.isSetTaskStatus();
    if (this_present_task_status || that_present_task_status) {
      if (!(this_present_task_status && that_present_task_status))
        return false;
      if (!this.task_status.equals(that.task_status))
        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_finish_tablet_infos = true && this.isSetFinishTabletInfos();
    boolean that_present_finish_tablet_infos = true && that.isSetFinishTabletInfos();
    if (this_present_finish_tablet_infos || that_present_finish_tablet_infos) {
      if (!(this_present_finish_tablet_infos && that_present_finish_tablet_infos))
        return false;
      if (!this.finish_tablet_infos.equals(that.finish_tablet_infos))
        return false;
    }

    boolean this_present_tablet_checksum = true && this.isSetTabletChecksum();
    boolean that_present_tablet_checksum = true && that.isSetTabletChecksum();
    if (this_present_tablet_checksum || that_present_tablet_checksum) {
      if (!(this_present_tablet_checksum && that_present_tablet_checksum))
        return false;
      if (this.tablet_checksum != that.tablet_checksum)
        return false;
    }

    boolean this_present_request_version = true && this.isSetRequestVersion();
    boolean that_present_request_version = true && that.isSetRequestVersion();
    if (this_present_request_version || that_present_request_version) {
      if (!(this_present_request_version && that_present_request_version))
        return false;
      if (this.request_version != that.request_version)
        return false;
    }

    boolean this_present_request_version_hash = true && this.isSetRequestVersionHash();
    boolean that_present_request_version_hash = true && that.isSetRequestVersionHash();
    if (this_present_request_version_hash || that_present_request_version_hash) {
      if (!(this_present_request_version_hash && that_present_request_version_hash))
        return false;
      if (this.request_version_hash != that.request_version_hash)
        return false;
    }

    boolean this_present_snapshot_path = true && this.isSetSnapshotPath();
    boolean that_present_snapshot_path = true && that.isSetSnapshotPath();
    if (this_present_snapshot_path || that_present_snapshot_path) {
      if (!(this_present_snapshot_path && that_present_snapshot_path))
        return false;
      if (!this.snapshot_path.equals(that.snapshot_path))
        return false;
    }

    boolean this_present_error_tablet_ids = true && this.isSetErrorTabletIds();
    boolean that_present_error_tablet_ids = true && that.isSetErrorTabletIds();
    if (this_present_error_tablet_ids || that_present_error_tablet_ids) {
      if (!(this_present_error_tablet_ids && that_present_error_tablet_ids))
        return false;
      if (!this.error_tablet_ids.equals(that.error_tablet_ids))
        return false;
    }

    boolean this_present_snapshot_files = true && this.isSetSnapshotFiles();
    boolean that_present_snapshot_files = true && that.isSetSnapshotFiles();
    if (this_present_snapshot_files || that_present_snapshot_files) {
      if (!(this_present_snapshot_files && that_present_snapshot_files))
        return false;
      if (!this.snapshot_files.equals(that.snapshot_files))
        return false;
    }

    boolean this_present_tablet_files = true && this.isSetTabletFiles();
    boolean that_present_tablet_files = true && that.isSetTabletFiles();
    if (this_present_tablet_files || that_present_tablet_files) {
      if (!(this_present_tablet_files && that_present_tablet_files))
        return false;
      if (!this.tablet_files.equals(that.tablet_files))
        return false;
    }

    boolean this_present_downloaded_tablet_ids = true && this.isSetDownloadedTabletIds();
    boolean that_present_downloaded_tablet_ids = true && that.isSetDownloadedTabletIds();
    if (this_present_downloaded_tablet_ids || that_present_downloaded_tablet_ids) {
      if (!(this_present_downloaded_tablet_ids && that_present_downloaded_tablet_ids))
        return false;
      if (!this.downloaded_tablet_ids.equals(that.downloaded_tablet_ids))
        return false;
    }

    boolean this_present_copy_size = true && this.isSetCopySize();
    boolean that_present_copy_size = true && that.isSetCopySize();
    if (this_present_copy_size || that_present_copy_size) {
      if (!(this_present_copy_size && that_present_copy_size))
        return false;
      if (this.copy_size != that.copy_size)
        return false;
    }

    boolean this_present_copy_time_ms = true && this.isSetCopyTimeMs();
    boolean that_present_copy_time_ms = true && that.isSetCopyTimeMs();
    if (this_present_copy_time_ms || that_present_copy_time_ms) {
      if (!(this_present_copy_time_ms && that_present_copy_time_ms))
        return false;
      if (this.copy_time_ms != that.copy_time_ms)
        return false;
    }

    boolean this_present_succ_tablets = true && this.isSetSuccTablets();
    boolean that_present_succ_tablets = true && that.isSetSuccTablets();
    if (this_present_succ_tablets || that_present_succ_tablets) {
      if (!(this_present_succ_tablets && that_present_succ_tablets))
        return false;
      if (!this.succ_tablets.equals(that.succ_tablets))
        return false;
    }

    boolean this_present_table_id_to_delta_num_rows = true && this.isSetTableIdToDeltaNumRows();
    boolean that_present_table_id_to_delta_num_rows = true && that.isSetTableIdToDeltaNumRows();
    if (this_present_table_id_to_delta_num_rows || that_present_table_id_to_delta_num_rows) {
      if (!(this_present_table_id_to_delta_num_rows && that_present_table_id_to_delta_num_rows))
        return false;
      if (!this.table_id_to_delta_num_rows.equals(that.table_id_to_delta_num_rows))
        return false;
    }

    boolean this_present_table_id_to_tablet_id_to_delta_num_rows = true && this.isSetTableIdToTabletIdToDeltaNumRows();
    boolean that_present_table_id_to_tablet_id_to_delta_num_rows = true && that.isSetTableIdToTabletIdToDeltaNumRows();
    if (this_present_table_id_to_tablet_id_to_delta_num_rows || that_present_table_id_to_tablet_id_to_delta_num_rows) {
      if (!(this_present_table_id_to_tablet_id_to_delta_num_rows && that_present_table_id_to_tablet_id_to_delta_num_rows))
        return false;
      if (!this.table_id_to_tablet_id_to_delta_num_rows.equals(that.table_id_to_tablet_id_to_delta_num_rows))
        return false;
    }

    boolean this_present_resp_partitions = true && this.isSetRespPartitions();
    boolean that_present_resp_partitions = true && that.isSetRespPartitions();
    if (this_present_resp_partitions || that_present_resp_partitions) {
      if (!(this_present_resp_partitions && that_present_resp_partitions))
        return false;
      if (!this.resp_partitions.equals(that.resp_partitions))
        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 + ((isSetTaskType()) ? 131071 : 524287);
    if (isSetTaskType())
      hashCode = hashCode * 8191 + task_type.getValue();

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

    hashCode = hashCode * 8191 + ((isSetTaskStatus()) ? 131071 : 524287);
    if (isSetTaskStatus())
      hashCode = hashCode * 8191 + task_status.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetFinishTabletInfos()) ? 131071 : 524287);
    if (isSetFinishTabletInfos())
      hashCode = hashCode * 8191 + finish_tablet_infos.hashCode();

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

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

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

    hashCode = hashCode * 8191 + ((isSetSnapshotPath()) ? 131071 : 524287);
    if (isSetSnapshotPath())
      hashCode = hashCode * 8191 + snapshot_path.hashCode();

    hashCode = hashCode * 8191 + ((isSetErrorTabletIds()) ? 131071 : 524287);
    if (isSetErrorTabletIds())
      hashCode = hashCode * 8191 + error_tablet_ids.hashCode();

    hashCode = hashCode * 8191 + ((isSetSnapshotFiles()) ? 131071 : 524287);
    if (isSetSnapshotFiles())
      hashCode = hashCode * 8191 + snapshot_files.hashCode();

    hashCode = hashCode * 8191 + ((isSetTabletFiles()) ? 131071 : 524287);
    if (isSetTabletFiles())
      hashCode = hashCode * 8191 + tablet_files.hashCode();

    hashCode = hashCode * 8191 + ((isSetDownloadedTabletIds()) ? 131071 : 524287);
    if (isSetDownloadedTabletIds())
      hashCode = hashCode * 8191 + downloaded_tablet_ids.hashCode();

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

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

    hashCode = hashCode * 8191 + ((isSetSuccTablets()) ? 131071 : 524287);
    if (isSetSuccTablets())
      hashCode = hashCode * 8191 + succ_tablets.hashCode();

    hashCode = hashCode * 8191 + ((isSetTableIdToDeltaNumRows()) ? 131071 : 524287);
    if (isSetTableIdToDeltaNumRows())
      hashCode = hashCode * 8191 + table_id_to_delta_num_rows.hashCode();

    hashCode = hashCode * 8191 + ((isSetTableIdToTabletIdToDeltaNumRows()) ? 131071 : 524287);
    if (isSetTableIdToTabletIdToDeltaNumRows())
      hashCode = hashCode * 8191 + table_id_to_tablet_id_to_delta_num_rows.hashCode();

    hashCode = hashCode * 8191 + ((isSetRespPartitions()) ? 131071 : 524287);
    if (isSetRespPartitions())
      hashCode = hashCode * 8191 + resp_partitions.hashCode();

    return hashCode;
  }

  @Override
  public int compareTo(TFinishTaskRequest 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(isSetTaskType(), other.isSetTaskType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTaskType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.task_type, other.task_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSignature(), other.isSetSignature());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSignature()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.signature, other.signature);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTaskStatus(), other.isSetTaskStatus());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTaskStatus()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.task_status, other.task_status);
      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(isSetFinishTabletInfos(), other.isSetFinishTabletInfos());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFinishTabletInfos()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.finish_tablet_infos, other.finish_tablet_infos);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTabletChecksum(), other.isSetTabletChecksum());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTabletChecksum()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablet_checksum, other.tablet_checksum);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRequestVersion(), other.isSetRequestVersion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRequestVersion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.request_version, other.request_version);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRequestVersionHash(), other.isSetRequestVersionHash());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRequestVersionHash()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.request_version_hash, other.request_version_hash);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSnapshotPath(), other.isSetSnapshotPath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSnapshotPath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.snapshot_path, other.snapshot_path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetErrorTabletIds(), other.isSetErrorTabletIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetErrorTabletIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error_tablet_ids, other.error_tablet_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSnapshotFiles(), other.isSetSnapshotFiles());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSnapshotFiles()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.snapshot_files, other.snapshot_files);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTabletFiles(), other.isSetTabletFiles());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTabletFiles()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tablet_files, other.tablet_files);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDownloadedTabletIds(), other.isSetDownloadedTabletIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDownloadedTabletIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.downloaded_tablet_ids, other.downloaded_tablet_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCopySize(), other.isSetCopySize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCopySize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.copy_size, other.copy_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCopyTimeMs(), other.isSetCopyTimeMs());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCopyTimeMs()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.copy_time_ms, other.copy_time_ms);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSuccTablets(), other.isSetSuccTablets());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSuccTablets()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.succ_tablets, other.succ_tablets);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTableIdToDeltaNumRows(), other.isSetTableIdToDeltaNumRows());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTableIdToDeltaNumRows()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table_id_to_delta_num_rows, other.table_id_to_delta_num_rows);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTableIdToTabletIdToDeltaNumRows(), other.isSetTableIdToTabletIdToDeltaNumRows());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTableIdToTabletIdToDeltaNumRows()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table_id_to_tablet_id_to_delta_num_rows, other.table_id_to_tablet_id_to_delta_num_rows);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRespPartitions(), other.isSetRespPartitions());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRespPartitions()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resp_partitions, other.resp_partitions);
      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("TFinishTaskRequest(");
    boolean first = true;

    sb.append("backend:");
    if (this.backend == null) {
      sb.append("null");
    } else {
      sb.append(this.backend);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("task_type:");
    if (this.task_type == null) {
      sb.append("null");
    } else {
      sb.append(this.task_type);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("signature:");
    sb.append(this.signature);
    first = false;
    if (!first) sb.append(", ");
    sb.append("task_status:");
    if (this.task_status == null) {
      sb.append("null");
    } else {
      sb.append(this.task_status);
    }
    first = false;
    if (isSetReportVersion()) {
      if (!first) sb.append(", ");
      sb.append("report_version:");
      sb.append(this.report_version);
      first = false;
    }
    if (isSetFinishTabletInfos()) {
      if (!first) sb.append(", ");
      sb.append("finish_tablet_infos:");
      if (this.finish_tablet_infos == null) {
        sb.append("null");
      } else {
        sb.append(this.finish_tablet_infos);
      }
      first = false;
    }
    if (isSetTabletChecksum()) {
      if (!first) sb.append(", ");
      sb.append("tablet_checksum:");
      sb.append(this.tablet_checksum);
      first = false;
    }
    if (isSetRequestVersion()) {
      if (!first) sb.append(", ");
      sb.append("request_version:");
      sb.append(this.request_version);
      first = false;
    }
    if (isSetRequestVersionHash()) {
      if (!first) sb.append(", ");
      sb.append("request_version_hash:");
      sb.append(this.request_version_hash);
      first = false;
    }
    if (isSetSnapshotPath()) {
      if (!first) sb.append(", ");
      sb.append("snapshot_path:");
      if (this.snapshot_path == null) {
        sb.append("null");
      } else {
        sb.append(this.snapshot_path);
      }
      first = false;
    }
    if (isSetErrorTabletIds()) {
      if (!first) sb.append(", ");
      sb.append("error_tablet_ids:");
      if (this.error_tablet_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.error_tablet_ids);
      }
      first = false;
    }
    if (isSetSnapshotFiles()) {
      if (!first) sb.append(", ");
      sb.append("snapshot_files:");
      if (this.snapshot_files == null) {
        sb.append("null");
      } else {
        sb.append(this.snapshot_files);
      }
      first = false;
    }
    if (isSetTabletFiles()) {
      if (!first) sb.append(", ");
      sb.append("tablet_files:");
      if (this.tablet_files == null) {
        sb.append("null");
      } else {
        sb.append(this.tablet_files);
      }
      first = false;
    }
    if (isSetDownloadedTabletIds()) {
      if (!first) sb.append(", ");
      sb.append("downloaded_tablet_ids:");
      if (this.downloaded_tablet_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.downloaded_tablet_ids);
      }
      first = false;
    }
    if (isSetCopySize()) {
      if (!first) sb.append(", ");
      sb.append("copy_size:");
      sb.append(this.copy_size);
      first = false;
    }
    if (isSetCopyTimeMs()) {
      if (!first) sb.append(", ");
      sb.append("copy_time_ms:");
      sb.append(this.copy_time_ms);
      first = false;
    }
    if (isSetSuccTablets()) {
      if (!first) sb.append(", ");
      sb.append("succ_tablets:");
      if (this.succ_tablets == null) {
        sb.append("null");
      } else {
        sb.append(this.succ_tablets);
      }
      first = false;
    }
    if (isSetTableIdToDeltaNumRows()) {
      if (!first) sb.append(", ");
      sb.append("table_id_to_delta_num_rows:");
      if (this.table_id_to_delta_num_rows == null) {
        sb.append("null");
      } else {
        sb.append(this.table_id_to_delta_num_rows);
      }
      first = false;
    }
    if (isSetTableIdToTabletIdToDeltaNumRows()) {
      if (!first) sb.append(", ");
      sb.append("table_id_to_tablet_id_to_delta_num_rows:");
      if (this.table_id_to_tablet_id_to_delta_num_rows == null) {
        sb.append("null");
      } else {
        sb.append(this.table_id_to_tablet_id_to_delta_num_rows);
      }
      first = false;
    }
    if (isSetRespPartitions()) {
      if (!first) sb.append(", ");
      sb.append("resp_partitions:");
      if (this.resp_partitions == null) {
        sb.append("null");
      } else {
        sb.append(this.resp_partitions);
      }
      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());
    }
    if (task_type == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'task_type' was not present! Struct: " + toString());
    }
    // alas, we cannot check 'signature' because it's a primitive and you chose the non-beans generator.
    if (task_status == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'task_status' was not present! Struct: " + toString());
    }
    // check for sub-struct validity
    if (backend != null) {
      backend.validate();
    }
    if (task_status != null) {
      task_status.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 TFinishTaskRequestStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TFinishTaskRequestStandardScheme getScheme() {
      return new TFinishTaskRequestStandardScheme();
    }
  }

  private static class TFinishTaskRequestStandardScheme extends org.apache.thrift.scheme.StandardScheme<TFinishTaskRequest> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TFinishTaskRequest 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: // TASK_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.task_type = org.apache.doris.thrift.TTaskType.findByValue(iprot.readI32());
              struct.setTaskTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // SIGNATURE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.signature = iprot.readI64();
              struct.setSignatureIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // TASK_STATUS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.task_status = new org.apache.doris.thrift.TStatus();
              struct.task_status.read(iprot);
              struct.setTaskStatusIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // 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 6: // FINISH_TABLET_INFOS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                struct.finish_tablet_infos = new java.util.ArrayList<TTabletInfo>(_list8.size);
                @org.apache.thrift.annotation.Nullable TTabletInfo _elem9;
                for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                {
                  _elem9 = new TTabletInfo();
                  _elem9.read(iprot);
                  struct.finish_tablet_infos.add(_elem9);
                }
                iprot.readListEnd();
              }
              struct.setFinishTabletInfosIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // TABLET_CHECKSUM
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.tablet_checksum = iprot.readI64();
              struct.setTabletChecksumIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // REQUEST_VERSION
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.request_version = iprot.readI64();
              struct.setRequestVersionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // REQUEST_VERSION_HASH
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.request_version_hash = iprot.readI64();
              struct.setRequestVersionHashIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // SNAPSHOT_PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.snapshot_path = iprot.readString();
              struct.setSnapshotPathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // ERROR_TABLET_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list11 = iprot.readListBegin();
                struct.error_tablet_ids = new java.util.ArrayList<java.lang.Long>(_list11.size);
                long _elem12;
                for (int _i13 = 0; _i13 < _list11.size; ++_i13)
                {
                  _elem12 = iprot.readI64();
                  struct.error_tablet_ids.add(_elem12);
                }
                iprot.readListEnd();
              }
              struct.setErrorTabletIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // SNAPSHOT_FILES
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list14 = iprot.readListBegin();
                struct.snapshot_files = new java.util.ArrayList<java.lang.String>(_list14.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _elem15;
                for (int _i16 = 0; _i16 < _list14.size; ++_i16)
                {
                  _elem15 = iprot.readString();
                  struct.snapshot_files.add(_elem15);
                }
                iprot.readListEnd();
              }
              struct.setSnapshotFilesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // TABLET_FILES
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map17 = iprot.readMapBegin();
                struct.tablet_files = new java.util.HashMap<java.lang.Long,java.util.List<java.lang.String>>(2*_map17.size);
                long _key18;
                @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> _val19;
                for (int _i20 = 0; _i20 < _map17.size; ++_i20)
                {
                  _key18 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TList _list21 = iprot.readListBegin();
                    _val19 = new java.util.ArrayList<java.lang.String>(_list21.size);
                    @org.apache.thrift.annotation.Nullable java.lang.String _elem22;
                    for (int _i23 = 0; _i23 < _list21.size; ++_i23)
                    {
                      _elem22 = iprot.readString();
                      _val19.add(_elem22);
                    }
                    iprot.readListEnd();
                  }
                  struct.tablet_files.put(_key18, _val19);
                }
                iprot.readMapEnd();
              }
              struct.setTabletFilesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // DOWNLOADED_TABLET_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                struct.downloaded_tablet_ids = new java.util.ArrayList<java.lang.Long>(_list24.size);
                long _elem25;
                for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                {
                  _elem25 = iprot.readI64();
                  struct.downloaded_tablet_ids.add(_elem25);
                }
                iprot.readListEnd();
              }
              struct.setDownloadedTabletIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // COPY_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.copy_size = iprot.readI64();
              struct.setCopySizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // COPY_TIME_MS
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.copy_time_ms = iprot.readI64();
              struct.setCopyTimeMsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 17: // SUCC_TABLETS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map27 = iprot.readMapBegin();
                struct.succ_tablets = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map27.size);
                long _key28;
                long _val29;
                for (int _i30 = 0; _i30 < _map27.size; ++_i30)
                {
                  _key28 = iprot.readI64();
                  _val29 = iprot.readI64();
                  struct.succ_tablets.put(_key28, _val29);
                }
                iprot.readMapEnd();
              }
              struct.setSuccTabletsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 18: // TABLE_ID_TO_DELTA_NUM_ROWS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map31 = iprot.readMapBegin();
                struct.table_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map31.size);
                long _key32;
                long _val33;
                for (int _i34 = 0; _i34 < _map31.size; ++_i34)
                {
                  _key32 = iprot.readI64();
                  _val33 = iprot.readI64();
                  struct.table_id_to_delta_num_rows.put(_key32, _val33);
                }
                iprot.readMapEnd();
              }
              struct.setTableIdToDeltaNumRowsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 19: // TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map35 = iprot.readMapBegin();
                struct.table_id_to_tablet_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>>(2*_map35.size);
                long _key36;
                @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> _val37;
                for (int _i38 = 0; _i38 < _map35.size; ++_i38)
                {
                  _key36 = iprot.readI64();
                  {
                    org.apache.thrift.protocol.TMap _map39 = iprot.readMapBegin();
                    _val37 = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map39.size);
                    long _key40;
                    long _val41;
                    for (int _i42 = 0; _i42 < _map39.size; ++_i42)
                    {
                      _key40 = iprot.readI64();
                      _val41 = iprot.readI64();
                      _val37.put(_key40, _val41);
                    }
                    iprot.readMapEnd();
                  }
                  struct.table_id_to_tablet_id_to_delta_num_rows.put(_key36, _val37);
                }
                iprot.readMapEnd();
              }
              struct.setTableIdToTabletIdToDeltaNumRowsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 20: // RESP_PARTITIONS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list43 = iprot.readListBegin();
                struct.resp_partitions = new java.util.ArrayList<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo>(_list43.size);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo _elem44;
                for (int _i45 = 0; _i45 < _list43.size; ++_i45)
                {
                  _elem44 = new org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo();
                  _elem44.read(iprot);
                  struct.resp_partitions.add(_elem44);
                }
                iprot.readListEnd();
              }
              struct.setRespPartitionsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();

      // check for required fields of primitive type, which can't be checked in the validate method
      if (!struct.isSetSignature()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'signature' was not found in serialized data! Struct: " + toString());
      }
      struct.validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot, TFinishTaskRequest 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.task_type != null) {
        oprot.writeFieldBegin(TASK_TYPE_FIELD_DESC);
        oprot.writeI32(struct.task_type.getValue());
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(SIGNATURE_FIELD_DESC);
      oprot.writeI64(struct.signature);
      oprot.writeFieldEnd();
      if (struct.task_status != null) {
        oprot.writeFieldBegin(TASK_STATUS_FIELD_DESC);
        struct.task_status.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.isSetReportVersion()) {
        oprot.writeFieldBegin(REPORT_VERSION_FIELD_DESC);
        oprot.writeI64(struct.report_version);
        oprot.writeFieldEnd();
      }
      if (struct.finish_tablet_infos != null) {
        if (struct.isSetFinishTabletInfos()) {
          oprot.writeFieldBegin(FINISH_TABLET_INFOS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.finish_tablet_infos.size()));
            for (TTabletInfo _iter46 : struct.finish_tablet_infos)
            {
              _iter46.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTabletChecksum()) {
        oprot.writeFieldBegin(TABLET_CHECKSUM_FIELD_DESC);
        oprot.writeI64(struct.tablet_checksum);
        oprot.writeFieldEnd();
      }
      if (struct.isSetRequestVersion()) {
        oprot.writeFieldBegin(REQUEST_VERSION_FIELD_DESC);
        oprot.writeI64(struct.request_version);
        oprot.writeFieldEnd();
      }
      if (struct.isSetRequestVersionHash()) {
        oprot.writeFieldBegin(REQUEST_VERSION_HASH_FIELD_DESC);
        oprot.writeI64(struct.request_version_hash);
        oprot.writeFieldEnd();
      }
      if (struct.snapshot_path != null) {
        if (struct.isSetSnapshotPath()) {
          oprot.writeFieldBegin(SNAPSHOT_PATH_FIELD_DESC);
          oprot.writeString(struct.snapshot_path);
          oprot.writeFieldEnd();
        }
      }
      if (struct.error_tablet_ids != null) {
        if (struct.isSetErrorTabletIds()) {
          oprot.writeFieldBegin(ERROR_TABLET_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.error_tablet_ids.size()));
            for (long _iter47 : struct.error_tablet_ids)
            {
              oprot.writeI64(_iter47);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.snapshot_files != null) {
        if (struct.isSetSnapshotFiles()) {
          oprot.writeFieldBegin(SNAPSHOT_FILES_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.snapshot_files.size()));
            for (java.lang.String _iter48 : struct.snapshot_files)
            {
              oprot.writeString(_iter48);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.tablet_files != null) {
        if (struct.isSetTabletFiles()) {
          oprot.writeFieldBegin(TABLET_FILES_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST, struct.tablet_files.size()));
            for (java.util.Map.Entry<java.lang.Long, java.util.List<java.lang.String>> _iter49 : struct.tablet_files.entrySet())
            {
              oprot.writeI64(_iter49.getKey());
              {
                oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter49.getValue().size()));
                for (java.lang.String _iter50 : _iter49.getValue())
                {
                  oprot.writeString(_iter50);
                }
                oprot.writeListEnd();
              }
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.downloaded_tablet_ids != null) {
        if (struct.isSetDownloadedTabletIds()) {
          oprot.writeFieldBegin(DOWNLOADED_TABLET_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.downloaded_tablet_ids.size()));
            for (long _iter51 : struct.downloaded_tablet_ids)
            {
              oprot.writeI64(_iter51);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetCopySize()) {
        oprot.writeFieldBegin(COPY_SIZE_FIELD_DESC);
        oprot.writeI64(struct.copy_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetCopyTimeMs()) {
        oprot.writeFieldBegin(COPY_TIME_MS_FIELD_DESC);
        oprot.writeI64(struct.copy_time_ms);
        oprot.writeFieldEnd();
      }
      if (struct.succ_tablets != null) {
        if (struct.isSetSuccTablets()) {
          oprot.writeFieldBegin(SUCC_TABLETS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, struct.succ_tablets.size()));
            for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter52 : struct.succ_tablets.entrySet())
            {
              oprot.writeI64(_iter52.getKey());
              oprot.writeI64(_iter52.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.table_id_to_delta_num_rows != null) {
        if (struct.isSetTableIdToDeltaNumRows()) {
          oprot.writeFieldBegin(TABLE_ID_TO_DELTA_NUM_ROWS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, struct.table_id_to_delta_num_rows.size()));
            for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter53 : struct.table_id_to_delta_num_rows.entrySet())
            {
              oprot.writeI64(_iter53.getKey());
              oprot.writeI64(_iter53.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.table_id_to_tablet_id_to_delta_num_rows != null) {
        if (struct.isSetTableIdToTabletIdToDeltaNumRows()) {
          oprot.writeFieldBegin(TABLE_ID_TO_TABLET_ID_TO_DELTA_NUM_ROWS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP, struct.table_id_to_tablet_id_to_delta_num_rows.size()));
            for (java.util.Map.Entry<java.lang.Long, java.util.Map<java.lang.Long,java.lang.Long>> _iter54 : struct.table_id_to_tablet_id_to_delta_num_rows.entrySet())
            {
              oprot.writeI64(_iter54.getKey());
              {
                oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64, _iter54.getValue().size()));
                for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter55 : _iter54.getValue().entrySet())
                {
                  oprot.writeI64(_iter55.getKey());
                  oprot.writeI64(_iter55.getValue());
                }
                oprot.writeMapEnd();
              }
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.resp_partitions != null) {
        if (struct.isSetRespPartitions()) {
          oprot.writeFieldBegin(RESP_PARTITIONS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.resp_partitions.size()));
            for (org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo _iter56 : struct.resp_partitions)
            {
              _iter56.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TFinishTaskRequestTupleScheme extends org.apache.thrift.scheme.TupleScheme<TFinishTaskRequest> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TFinishTaskRequest struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.backend.write(oprot);
      oprot.writeI32(struct.task_type.getValue());
      oprot.writeI64(struct.signature);
      struct.task_status.write(oprot);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetReportVersion()) {
        optionals.set(0);
      }
      if (struct.isSetFinishTabletInfos()) {
        optionals.set(1);
      }
      if (struct.isSetTabletChecksum()) {
        optionals.set(2);
      }
      if (struct.isSetRequestVersion()) {
        optionals.set(3);
      }
      if (struct.isSetRequestVersionHash()) {
        optionals.set(4);
      }
      if (struct.isSetSnapshotPath()) {
        optionals.set(5);
      }
      if (struct.isSetErrorTabletIds()) {
        optionals.set(6);
      }
      if (struct.isSetSnapshotFiles()) {
        optionals.set(7);
      }
      if (struct.isSetTabletFiles()) {
        optionals.set(8);
      }
      if (struct.isSetDownloadedTabletIds()) {
        optionals.set(9);
      }
      if (struct.isSetCopySize()) {
        optionals.set(10);
      }
      if (struct.isSetCopyTimeMs()) {
        optionals.set(11);
      }
      if (struct.isSetSuccTablets()) {
        optionals.set(12);
      }
      if (struct.isSetTableIdToDeltaNumRows()) {
        optionals.set(13);
      }
      if (struct.isSetTableIdToTabletIdToDeltaNumRows()) {
        optionals.set(14);
      }
      if (struct.isSetRespPartitions()) {
        optionals.set(15);
      }
      oprot.writeBitSet(optionals, 16);
      if (struct.isSetReportVersion()) {
        oprot.writeI64(struct.report_version);
      }
      if (struct.isSetFinishTabletInfos()) {
        {
          oprot.writeI32(struct.finish_tablet_infos.size());
          for (TTabletInfo _iter57 : struct.finish_tablet_infos)
          {
            _iter57.write(oprot);
          }
        }
      }
      if (struct.isSetTabletChecksum()) {
        oprot.writeI64(struct.tablet_checksum);
      }
      if (struct.isSetRequestVersion()) {
        oprot.writeI64(struct.request_version);
      }
      if (struct.isSetRequestVersionHash()) {
        oprot.writeI64(struct.request_version_hash);
      }
      if (struct.isSetSnapshotPath()) {
        oprot.writeString(struct.snapshot_path);
      }
      if (struct.isSetErrorTabletIds()) {
        {
          oprot.writeI32(struct.error_tablet_ids.size());
          for (long _iter58 : struct.error_tablet_ids)
          {
            oprot.writeI64(_iter58);
          }
        }
      }
      if (struct.isSetSnapshotFiles()) {
        {
          oprot.writeI32(struct.snapshot_files.size());
          for (java.lang.String _iter59 : struct.snapshot_files)
          {
            oprot.writeString(_iter59);
          }
        }
      }
      if (struct.isSetTabletFiles()) {
        {
          oprot.writeI32(struct.tablet_files.size());
          for (java.util.Map.Entry<java.lang.Long, java.util.List<java.lang.String>> _iter60 : struct.tablet_files.entrySet())
          {
            oprot.writeI64(_iter60.getKey());
            {
              oprot.writeI32(_iter60.getValue().size());
              for (java.lang.String _iter61 : _iter60.getValue())
              {
                oprot.writeString(_iter61);
              }
            }
          }
        }
      }
      if (struct.isSetDownloadedTabletIds()) {
        {
          oprot.writeI32(struct.downloaded_tablet_ids.size());
          for (long _iter62 : struct.downloaded_tablet_ids)
          {
            oprot.writeI64(_iter62);
          }
        }
      }
      if (struct.isSetCopySize()) {
        oprot.writeI64(struct.copy_size);
      }
      if (struct.isSetCopyTimeMs()) {
        oprot.writeI64(struct.copy_time_ms);
      }
      if (struct.isSetSuccTablets()) {
        {
          oprot.writeI32(struct.succ_tablets.size());
          for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter63 : struct.succ_tablets.entrySet())
          {
            oprot.writeI64(_iter63.getKey());
            oprot.writeI64(_iter63.getValue());
          }
        }
      }
      if (struct.isSetTableIdToDeltaNumRows()) {
        {
          oprot.writeI32(struct.table_id_to_delta_num_rows.size());
          for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter64 : struct.table_id_to_delta_num_rows.entrySet())
          {
            oprot.writeI64(_iter64.getKey());
            oprot.writeI64(_iter64.getValue());
          }
        }
      }
      if (struct.isSetTableIdToTabletIdToDeltaNumRows()) {
        {
          oprot.writeI32(struct.table_id_to_tablet_id_to_delta_num_rows.size());
          for (java.util.Map.Entry<java.lang.Long, java.util.Map<java.lang.Long,java.lang.Long>> _iter65 : struct.table_id_to_tablet_id_to_delta_num_rows.entrySet())
          {
            oprot.writeI64(_iter65.getKey());
            {
              oprot.writeI32(_iter65.getValue().size());
              for (java.util.Map.Entry<java.lang.Long, java.lang.Long> _iter66 : _iter65.getValue().entrySet())
              {
                oprot.writeI64(_iter66.getKey());
                oprot.writeI64(_iter66.getValue());
              }
            }
          }
        }
      }
      if (struct.isSetRespPartitions()) {
        {
          oprot.writeI32(struct.resp_partitions.size());
          for (org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo _iter67 : struct.resp_partitions)
          {
            _iter67.write(oprot);
          }
        }
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TFinishTaskRequest 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);
      struct.task_type = org.apache.doris.thrift.TTaskType.findByValue(iprot.readI32());
      struct.setTaskTypeIsSet(true);
      struct.signature = iprot.readI64();
      struct.setSignatureIsSet(true);
      struct.task_status = new org.apache.doris.thrift.TStatus();
      struct.task_status.read(iprot);
      struct.setTaskStatusIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(16);
      if (incoming.get(0)) {
        struct.report_version = iprot.readI64();
        struct.setReportVersionIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.thrift.protocol.TList _list68 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.finish_tablet_infos = new java.util.ArrayList<TTabletInfo>(_list68.size);
          @org.apache.thrift.annotation.Nullable TTabletInfo _elem69;
          for (int _i70 = 0; _i70 < _list68.size; ++_i70)
          {
            _elem69 = new TTabletInfo();
            _elem69.read(iprot);
            struct.finish_tablet_infos.add(_elem69);
          }
        }
        struct.setFinishTabletInfosIsSet(true);
      }
      if (incoming.get(2)) {
        struct.tablet_checksum = iprot.readI64();
        struct.setTabletChecksumIsSet(true);
      }
      if (incoming.get(3)) {
        struct.request_version = iprot.readI64();
        struct.setRequestVersionIsSet(true);
      }
      if (incoming.get(4)) {
        struct.request_version_hash = iprot.readI64();
        struct.setRequestVersionHashIsSet(true);
      }
      if (incoming.get(5)) {
        struct.snapshot_path = iprot.readString();
        struct.setSnapshotPathIsSet(true);
      }
      if (incoming.get(6)) {
        {
          org.apache.thrift.protocol.TList _list71 = iprot.readListBegin(org.apache.thrift.protocol.TType.I64);
          struct.error_tablet_ids = new java.util.ArrayList<java.lang.Long>(_list71.size);
          long _elem72;
          for (int _i73 = 0; _i73 < _list71.size; ++_i73)
          {
            _elem72 = iprot.readI64();
            struct.error_tablet_ids.add(_elem72);
          }
        }
        struct.setErrorTabletIdsIsSet(true);
      }
      if (incoming.get(7)) {
        {
          org.apache.thrift.protocol.TList _list74 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
          struct.snapshot_files = new java.util.ArrayList<java.lang.String>(_list74.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _elem75;
          for (int _i76 = 0; _i76 < _list74.size; ++_i76)
          {
            _elem75 = iprot.readString();
            struct.snapshot_files.add(_elem75);
          }
        }
        struct.setSnapshotFilesIsSet(true);
      }
      if (incoming.get(8)) {
        {
          org.apache.thrift.protocol.TMap _map77 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.LIST); 
          struct.tablet_files = new java.util.HashMap<java.lang.Long,java.util.List<java.lang.String>>(2*_map77.size);
          long _key78;
          @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> _val79;
          for (int _i80 = 0; _i80 < _map77.size; ++_i80)
          {
            _key78 = iprot.readI64();
            {
              org.apache.thrift.protocol.TList _list81 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
              _val79 = new java.util.ArrayList<java.lang.String>(_list81.size);
              @org.apache.thrift.annotation.Nullable java.lang.String _elem82;
              for (int _i83 = 0; _i83 < _list81.size; ++_i83)
              {
                _elem82 = iprot.readString();
                _val79.add(_elem82);
              }
            }
            struct.tablet_files.put(_key78, _val79);
          }
        }
        struct.setTabletFilesIsSet(true);
      }
      if (incoming.get(9)) {
        {
          org.apache.thrift.protocol.TList _list84 = iprot.readListBegin(org.apache.thrift.protocol.TType.I64);
          struct.downloaded_tablet_ids = new java.util.ArrayList<java.lang.Long>(_list84.size);
          long _elem85;
          for (int _i86 = 0; _i86 < _list84.size; ++_i86)
          {
            _elem85 = iprot.readI64();
            struct.downloaded_tablet_ids.add(_elem85);
          }
        }
        struct.setDownloadedTabletIdsIsSet(true);
      }
      if (incoming.get(10)) {
        struct.copy_size = iprot.readI64();
        struct.setCopySizeIsSet(true);
      }
      if (incoming.get(11)) {
        struct.copy_time_ms = iprot.readI64();
        struct.setCopyTimeMsIsSet(true);
      }
      if (incoming.get(12)) {
        {
          org.apache.thrift.protocol.TMap _map87 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64); 
          struct.succ_tablets = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map87.size);
          long _key88;
          long _val89;
          for (int _i90 = 0; _i90 < _map87.size; ++_i90)
          {
            _key88 = iprot.readI64();
            _val89 = iprot.readI64();
            struct.succ_tablets.put(_key88, _val89);
          }
        }
        struct.setSuccTabletsIsSet(true);
      }
      if (incoming.get(13)) {
        {
          org.apache.thrift.protocol.TMap _map91 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64); 
          struct.table_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map91.size);
          long _key92;
          long _val93;
          for (int _i94 = 0; _i94 < _map91.size; ++_i94)
          {
            _key92 = iprot.readI64();
            _val93 = iprot.readI64();
            struct.table_id_to_delta_num_rows.put(_key92, _val93);
          }
        }
        struct.setTableIdToDeltaNumRowsIsSet(true);
      }
      if (incoming.get(14)) {
        {
          org.apache.thrift.protocol.TMap _map95 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.MAP); 
          struct.table_id_to_tablet_id_to_delta_num_rows = new java.util.HashMap<java.lang.Long,java.util.Map<java.lang.Long,java.lang.Long>>(2*_map95.size);
          long _key96;
          @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Long,java.lang.Long> _val97;
          for (int _i98 = 0; _i98 < _map95.size; ++_i98)
          {
            _key96 = iprot.readI64();
            {
              org.apache.thrift.protocol.TMap _map99 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.I64); 
              _val97 = new java.util.HashMap<java.lang.Long,java.lang.Long>(2*_map99.size);
              long _key100;
              long _val101;
              for (int _i102 = 0; _i102 < _map99.size; ++_i102)
              {
                _key100 = iprot.readI64();
                _val101 = iprot.readI64();
                _val97.put(_key100, _val101);
              }
            }
            struct.table_id_to_tablet_id_to_delta_num_rows.put(_key96, _val97);
          }
        }
        struct.setTableIdToTabletIdToDeltaNumRowsIsSet(true);
      }
      if (incoming.get(15)) {
        {
          org.apache.thrift.protocol.TList _list103 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.resp_partitions = new java.util.ArrayList<org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo>(_list103.size);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo _elem104;
          for (int _i105 = 0; _i105 < _list103.size; ++_i105)
          {
            _elem104 = new org.apache.doris.thrift.TCalcDeleteBitmapPartitionInfo();
            _elem104.read(iprot);
            struct.resp_partitions.add(_elem104);
          }
        }
        struct.setRespPartitionsIsSet(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();
  }
}