// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/protobuf/CubeVisit.proto

package org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated;

public final class CubeVisitProtos {
  private CubeVisitProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface CubeVisitRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes gtScanRequest = 1;
    /**
     * <code>required bytes gtScanRequest = 1;</code>
     */
    boolean hasGtScanRequest();
    /**
     * <code>required bytes gtScanRequest = 1;</code>
     */
    com.google.protobuf.ByteString getGtScanRequest();

    // required bytes hbaseRawScan = 2;
    /**
     * <code>required bytes hbaseRawScan = 2;</code>
     */
    boolean hasHbaseRawScan();
    /**
     * <code>required bytes hbaseRawScan = 2;</code>
     */
    com.google.protobuf.ByteString getHbaseRawScan();

    // required int32 rowkeyPreambleSize = 3;
    /**
     * <code>required int32 rowkeyPreambleSize = 3;</code>
     */
    boolean hasRowkeyPreambleSize();
    /**
     * <code>required int32 rowkeyPreambleSize = 3;</code>
     */
    int getRowkeyPreambleSize();

    // repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> 
        getHbaseColumnsToGTList();
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList getHbaseColumnsToGT(int index);
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    int getHbaseColumnsToGTCount();
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    java.util.List<? extends org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder> 
        getHbaseColumnsToGTOrBuilderList();
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder getHbaseColumnsToGTOrBuilder(
        int index);

    // required string kylinProperties = 5;
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    boolean hasKylinProperties();
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    java.lang.String getKylinProperties();
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    com.google.protobuf.ByteString
        getKylinPropertiesBytes();

    // optional string queryId = 6;
    /**
     * <code>optional string queryId = 6;</code>
     */
    boolean hasQueryId();
    /**
     * <code>optional string queryId = 6;</code>
     */
    java.lang.String getQueryId();
    /**
     * <code>optional string queryId = 6;</code>
     */
    com.google.protobuf.ByteString
        getQueryIdBytes();

    // optional bool spillEnabled = 7 [default = true];
    /**
     * <code>optional bool spillEnabled = 7 [default = true];</code>
     */
    boolean hasSpillEnabled();
    /**
     * <code>optional bool spillEnabled = 7 [default = true];</code>
     */
    boolean getSpillEnabled();

    // optional int64 maxScanBytes = 8;
    /**
     * <code>optional int64 maxScanBytes = 8;</code>
     *
     * <pre>
     * must be positive
     * </pre>
     */
    boolean hasMaxScanBytes();
    /**
     * <code>optional int64 maxScanBytes = 8;</code>
     *
     * <pre>
     * must be positive
     * </pre>
     */
    long getMaxScanBytes();

    // optional bool isExactAggregate = 9 [default = false];
    /**
     * <code>optional bool isExactAggregate = 9 [default = false];</code>
     */
    boolean hasIsExactAggregate();
    /**
     * <code>optional bool isExactAggregate = 9 [default = false];</code>
     */
    boolean getIsExactAggregate();
  }
  /**
   * Protobuf type {@code CubeVisitRequest}
   */
  public static final class CubeVisitRequest extends
      com.google.protobuf.GeneratedMessage
      implements CubeVisitRequestOrBuilder {
    // Use CubeVisitRequest.newBuilder() to construct.
    private CubeVisitRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CubeVisitRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CubeVisitRequest defaultInstance;
    public static CubeVisitRequest getDefaultInstance() {
      return defaultInstance;
    }

    public CubeVisitRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CubeVisitRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              gtScanRequest_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              hbaseRawScan_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              rowkeyPreambleSize_ = input.readInt32();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                hbaseColumnsToGT_ = new java.util.ArrayList<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList>();
                mutable_bitField0_ |= 0x00000008;
              }
              hbaseColumnsToGT_.add(input.readMessage(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.PARSER, extensionRegistry));
              break;
            }
            case 42: {
              bitField0_ |= 0x00000008;
              kylinProperties_ = input.readBytes();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000010;
              queryId_ = input.readBytes();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000020;
              spillEnabled_ = input.readBool();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000040;
              maxScanBytes_ = input.readInt64();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000080;
              isExactAggregate_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          hbaseColumnsToGT_ = java.util.Collections.unmodifiableList(hbaseColumnsToGT_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.Builder.class);
    }

    public static com.google.protobuf.Parser<CubeVisitRequest> PARSER =
        new com.google.protobuf.AbstractParser<CubeVisitRequest>() {
      public CubeVisitRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CubeVisitRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CubeVisitRequest> getParserForType() {
      return PARSER;
    }

    public interface IntListOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // repeated int32 ints = 1;
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      java.util.List<java.lang.Integer> getIntsList();
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      int getIntsCount();
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      int getInts(int index);
    }
    /**
     * Protobuf type {@code CubeVisitRequest.IntList}
     */
    public static final class IntList extends
        com.google.protobuf.GeneratedMessage
        implements IntListOrBuilder {
      // Use IntList.newBuilder() to construct.
      private IntList(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private IntList(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final IntList defaultInstance;
      public static IntList getDefaultInstance() {
        return defaultInstance;
      }

      public IntList getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private IntList(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  ints_ = new java.util.ArrayList<java.lang.Integer>();
                  mutable_bitField0_ |= 0x00000001;
                }
                ints_.add(input.readInt32());
                break;
              }
              case 10: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                  ints_ = new java.util.ArrayList<java.lang.Integer>();
                  mutable_bitField0_ |= 0x00000001;
                }
                while (input.getBytesUntilLimit() > 0) {
                  ints_.add(input.readInt32());
                }
                input.popLimit(limit);
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            ints_ = java.util.Collections.unmodifiableList(ints_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_IntList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_IntList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder.class);
      }

      public static com.google.protobuf.Parser<IntList> PARSER =
          new com.google.protobuf.AbstractParser<IntList>() {
        public IntList parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new IntList(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public com.google.protobuf.Parser<IntList> getParserForType() {
        return PARSER;
      }

      // repeated int32 ints = 1;
      public static final int INTS_FIELD_NUMBER = 1;
      private java.util.List<java.lang.Integer> ints_;
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      public java.util.List<java.lang.Integer>
          getIntsList() {
        return ints_;
      }
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      public int getIntsCount() {
        return ints_.size();
      }
      /**
       * <code>repeated int32 ints = 1;</code>
       */
      public int getInts(int index) {
        return ints_.get(index);
      }

      private void initFields() {
        ints_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        for (int i = 0; i < ints_.size(); i++) {
          output.writeInt32(1, ints_.get(i));
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < ints_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(ints_.get(i));
          }
          size += dataSize;
          size += 1 * getIntsList().size();
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList)) {
          return super.equals(obj);
        }
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList other = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList) obj;

        boolean result = true;
        result = result && getIntsList()
            .equals(other.getIntsList());
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }

      private int memoizedHashCode = 0;
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getIntsCount() > 0) {
          hash = (37 * hash) + INTS_FIELD_NUMBER;
          hash = (53 * hash) + getIntsList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CubeVisitRequest.IntList}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_IntList_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_IntList_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder.class);
        }

        // Construct using org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          ints_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_IntList_descriptor;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList getDefaultInstanceForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.getDefaultInstance();
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList build() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList buildPartial() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList result = new org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList(this);
          int from_bitField0_ = bitField0_;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            ints_ = java.util.Collections.unmodifiableList(ints_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.ints_ = ints_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList) {
            return mergeFrom((org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList other) {
          if (other == org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.getDefaultInstance()) return this;
          if (!other.ints_.isEmpty()) {
            if (ints_.isEmpty()) {
              ints_ = other.ints_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureIntsIsMutable();
              ints_.addAll(other.ints_);
            }
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // repeated int32 ints = 1;
        private java.util.List<java.lang.Integer> ints_ = java.util.Collections.emptyList();
        private void ensureIntsIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            ints_ = new java.util.ArrayList<java.lang.Integer>(ints_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public java.util.List<java.lang.Integer>
            getIntsList() {
          return java.util.Collections.unmodifiableList(ints_);
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public int getIntsCount() {
          return ints_.size();
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public int getInts(int index) {
          return ints_.get(index);
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public Builder setInts(
            int index, int value) {
          ensureIntsIsMutable();
          ints_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public Builder addInts(int value) {
          ensureIntsIsMutable();
          ints_.add(value);
          onChanged();
          return this;
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public Builder addAllInts(
            java.lang.Iterable<? extends java.lang.Integer> values) {
          ensureIntsIsMutable();
          super.addAll(values, ints_);
          onChanged();
          return this;
        }
        /**
         * <code>repeated int32 ints = 1;</code>
         */
        public Builder clearInts() {
          ints_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CubeVisitRequest.IntList)
      }

      static {
        defaultInstance = new IntList(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CubeVisitRequest.IntList)
    }

    private int bitField0_;
    // required bytes gtScanRequest = 1;
    public static final int GTSCANREQUEST_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString gtScanRequest_;
    /**
     * <code>required bytes gtScanRequest = 1;</code>
     */
    public boolean hasGtScanRequest() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes gtScanRequest = 1;</code>
     */
    public com.google.protobuf.ByteString getGtScanRequest() {
      return gtScanRequest_;
    }

    // required bytes hbaseRawScan = 2;
    public static final int HBASERAWSCAN_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString hbaseRawScan_;
    /**
     * <code>required bytes hbaseRawScan = 2;</code>
     */
    public boolean hasHbaseRawScan() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required bytes hbaseRawScan = 2;</code>
     */
    public com.google.protobuf.ByteString getHbaseRawScan() {
      return hbaseRawScan_;
    }

    // required int32 rowkeyPreambleSize = 3;
    public static final int ROWKEYPREAMBLESIZE_FIELD_NUMBER = 3;
    private int rowkeyPreambleSize_;
    /**
     * <code>required int32 rowkeyPreambleSize = 3;</code>
     */
    public boolean hasRowkeyPreambleSize() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required int32 rowkeyPreambleSize = 3;</code>
     */
    public int getRowkeyPreambleSize() {
      return rowkeyPreambleSize_;
    }

    // repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;
    public static final int HBASECOLUMNSTOGT_FIELD_NUMBER = 4;
    private java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> hbaseColumnsToGT_;
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    public java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> getHbaseColumnsToGTList() {
      return hbaseColumnsToGT_;
    }
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    public java.util.List<? extends org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder> 
        getHbaseColumnsToGTOrBuilderList() {
      return hbaseColumnsToGT_;
    }
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    public int getHbaseColumnsToGTCount() {
      return hbaseColumnsToGT_.size();
    }
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList getHbaseColumnsToGT(int index) {
      return hbaseColumnsToGT_.get(index);
    }
    /**
     * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder getHbaseColumnsToGTOrBuilder(
        int index) {
      return hbaseColumnsToGT_.get(index);
    }

    // required string kylinProperties = 5;
    public static final int KYLINPROPERTIES_FIELD_NUMBER = 5;
    private java.lang.Object kylinProperties_;
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    public boolean hasKylinProperties() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    public java.lang.String getKylinProperties() {
      java.lang.Object ref = kylinProperties_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          kylinProperties_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string kylinProperties = 5;</code>
     *
     * <pre>
     * kylin properties
     * </pre>
     */
    public com.google.protobuf.ByteString
        getKylinPropertiesBytes() {
      java.lang.Object ref = kylinProperties_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kylinProperties_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string queryId = 6;
    public static final int QUERYID_FIELD_NUMBER = 6;
    private java.lang.Object queryId_;
    /**
     * <code>optional string queryId = 6;</code>
     */
    public boolean hasQueryId() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional string queryId = 6;</code>
     */
    public java.lang.String getQueryId() {
      java.lang.Object ref = queryId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          queryId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string queryId = 6;</code>
     */
    public com.google.protobuf.ByteString
        getQueryIdBytes() {
      java.lang.Object ref = queryId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        queryId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bool spillEnabled = 7 [default = true];
    public static final int SPILLENABLED_FIELD_NUMBER = 7;
    private boolean spillEnabled_;
    /**
     * <code>optional bool spillEnabled = 7 [default = true];</code>
     */
    public boolean hasSpillEnabled() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional bool spillEnabled = 7 [default = true];</code>
     */
    public boolean getSpillEnabled() {
      return spillEnabled_;
    }

    // optional int64 maxScanBytes = 8;
    public static final int MAXSCANBYTES_FIELD_NUMBER = 8;
    private long maxScanBytes_;
    /**
     * <code>optional int64 maxScanBytes = 8;</code>
     *
     * <pre>
     * must be positive
     * </pre>
     */
    public boolean hasMaxScanBytes() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional int64 maxScanBytes = 8;</code>
     *
     * <pre>
     * must be positive
     * </pre>
     */
    public long getMaxScanBytes() {
      return maxScanBytes_;
    }

    // optional bool isExactAggregate = 9 [default = false];
    public static final int ISEXACTAGGREGATE_FIELD_NUMBER = 9;
    private boolean isExactAggregate_;
    /**
     * <code>optional bool isExactAggregate = 9 [default = false];</code>
     */
    public boolean hasIsExactAggregate() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional bool isExactAggregate = 9 [default = false];</code>
     */
    public boolean getIsExactAggregate() {
      return isExactAggregate_;
    }

    private void initFields() {
      gtScanRequest_ = com.google.protobuf.ByteString.EMPTY;
      hbaseRawScan_ = com.google.protobuf.ByteString.EMPTY;
      rowkeyPreambleSize_ = 0;
      hbaseColumnsToGT_ = java.util.Collections.emptyList();
      kylinProperties_ = "";
      queryId_ = "";
      spillEnabled_ = true;
      maxScanBytes_ = 0L;
      isExactAggregate_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasGtScanRequest()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHbaseRawScan()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRowkeyPreambleSize()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasKylinProperties()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, gtScanRequest_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, hbaseRawScan_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, rowkeyPreambleSize_);
      }
      for (int i = 0; i < hbaseColumnsToGT_.size(); i++) {
        output.writeMessage(4, hbaseColumnsToGT_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(5, getKylinPropertiesBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(6, getQueryIdBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBool(7, spillEnabled_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt64(8, maxScanBytes_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBool(9, isExactAggregate_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, gtScanRequest_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, hbaseRawScan_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, rowkeyPreambleSize_);
      }
      for (int i = 0; i < hbaseColumnsToGT_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, hbaseColumnsToGT_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getKylinPropertiesBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getQueryIdBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, spillEnabled_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, maxScanBytes_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, isExactAggregate_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest)) {
        return super.equals(obj);
      }
      org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest other = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest) obj;

      boolean result = true;
      result = result && (hasGtScanRequest() == other.hasGtScanRequest());
      if (hasGtScanRequest()) {
        result = result && getGtScanRequest()
            .equals(other.getGtScanRequest());
      }
      result = result && (hasHbaseRawScan() == other.hasHbaseRawScan());
      if (hasHbaseRawScan()) {
        result = result && getHbaseRawScan()
            .equals(other.getHbaseRawScan());
      }
      result = result && (hasRowkeyPreambleSize() == other.hasRowkeyPreambleSize());
      if (hasRowkeyPreambleSize()) {
        result = result && (getRowkeyPreambleSize()
            == other.getRowkeyPreambleSize());
      }
      result = result && getHbaseColumnsToGTList()
          .equals(other.getHbaseColumnsToGTList());
      result = result && (hasKylinProperties() == other.hasKylinProperties());
      if (hasKylinProperties()) {
        result = result && getKylinProperties()
            .equals(other.getKylinProperties());
      }
      result = result && (hasQueryId() == other.hasQueryId());
      if (hasQueryId()) {
        result = result && getQueryId()
            .equals(other.getQueryId());
      }
      result = result && (hasSpillEnabled() == other.hasSpillEnabled());
      if (hasSpillEnabled()) {
        result = result && (getSpillEnabled()
            == other.getSpillEnabled());
      }
      result = result && (hasMaxScanBytes() == other.hasMaxScanBytes());
      if (hasMaxScanBytes()) {
        result = result && (getMaxScanBytes()
            == other.getMaxScanBytes());
      }
      result = result && (hasIsExactAggregate() == other.hasIsExactAggregate());
      if (hasIsExactAggregate()) {
        result = result && (getIsExactAggregate()
            == other.getIsExactAggregate());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasGtScanRequest()) {
        hash = (37 * hash) + GTSCANREQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getGtScanRequest().hashCode();
      }
      if (hasHbaseRawScan()) {
        hash = (37 * hash) + HBASERAWSCAN_FIELD_NUMBER;
        hash = (53 * hash) + getHbaseRawScan().hashCode();
      }
      if (hasRowkeyPreambleSize()) {
        hash = (37 * hash) + ROWKEYPREAMBLESIZE_FIELD_NUMBER;
        hash = (53 * hash) + getRowkeyPreambleSize();
      }
      if (getHbaseColumnsToGTCount() > 0) {
        hash = (37 * hash) + HBASECOLUMNSTOGT_FIELD_NUMBER;
        hash = (53 * hash) + getHbaseColumnsToGTList().hashCode();
      }
      if (hasKylinProperties()) {
        hash = (37 * hash) + KYLINPROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + getKylinProperties().hashCode();
      }
      if (hasQueryId()) {
        hash = (37 * hash) + QUERYID_FIELD_NUMBER;
        hash = (53 * hash) + getQueryId().hashCode();
      }
      if (hasSpillEnabled()) {
        hash = (37 * hash) + SPILLENABLED_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getSpillEnabled());
      }
      if (hasMaxScanBytes()) {
        hash = (37 * hash) + MAXSCANBYTES_FIELD_NUMBER;
        hash = (53 * hash) + hashLong(getMaxScanBytes());
      }
      if (hasIsExactAggregate()) {
        hash = (37 * hash) + ISEXACTAGGREGATE_FIELD_NUMBER;
        hash = (53 * hash) + hashBoolean(getIsExactAggregate());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CubeVisitRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.Builder.class);
      }

      // Construct using org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getHbaseColumnsToGTFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        gtScanRequest_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        hbaseRawScan_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        rowkeyPreambleSize_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (hbaseColumnsToGTBuilder_ == null) {
          hbaseColumnsToGT_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          hbaseColumnsToGTBuilder_.clear();
        }
        kylinProperties_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        queryId_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        spillEnabled_ = true;
        bitField0_ = (bitField0_ & ~0x00000040);
        maxScanBytes_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000080);
        isExactAggregate_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitRequest_descriptor;
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest getDefaultInstanceForType() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.getDefaultInstance();
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest build() {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest buildPartial() {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest result = new org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.gtScanRequest_ = gtScanRequest_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.hbaseRawScan_ = hbaseRawScan_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.rowkeyPreambleSize_ = rowkeyPreambleSize_;
        if (hbaseColumnsToGTBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            hbaseColumnsToGT_ = java.util.Collections.unmodifiableList(hbaseColumnsToGT_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.hbaseColumnsToGT_ = hbaseColumnsToGT_;
        } else {
          result.hbaseColumnsToGT_ = hbaseColumnsToGTBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.kylinProperties_ = kylinProperties_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000010;
        }
        result.queryId_ = queryId_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000020;
        }
        result.spillEnabled_ = spillEnabled_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000040;
        }
        result.maxScanBytes_ = maxScanBytes_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000080;
        }
        result.isExactAggregate_ = isExactAggregate_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest) {
          return mergeFrom((org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest other) {
        if (other == org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.getDefaultInstance()) return this;
        if (other.hasGtScanRequest()) {
          setGtScanRequest(other.getGtScanRequest());
        }
        if (other.hasHbaseRawScan()) {
          setHbaseRawScan(other.getHbaseRawScan());
        }
        if (other.hasRowkeyPreambleSize()) {
          setRowkeyPreambleSize(other.getRowkeyPreambleSize());
        }
        if (hbaseColumnsToGTBuilder_ == null) {
          if (!other.hbaseColumnsToGT_.isEmpty()) {
            if (hbaseColumnsToGT_.isEmpty()) {
              hbaseColumnsToGT_ = other.hbaseColumnsToGT_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureHbaseColumnsToGTIsMutable();
              hbaseColumnsToGT_.addAll(other.hbaseColumnsToGT_);
            }
            onChanged();
          }
        } else {
          if (!other.hbaseColumnsToGT_.isEmpty()) {
            if (hbaseColumnsToGTBuilder_.isEmpty()) {
              hbaseColumnsToGTBuilder_.dispose();
              hbaseColumnsToGTBuilder_ = null;
              hbaseColumnsToGT_ = other.hbaseColumnsToGT_;
              bitField0_ = (bitField0_ & ~0x00000008);
              hbaseColumnsToGTBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getHbaseColumnsToGTFieldBuilder() : null;
            } else {
              hbaseColumnsToGTBuilder_.addAllMessages(other.hbaseColumnsToGT_);
            }
          }
        }
        if (other.hasKylinProperties()) {
          bitField0_ |= 0x00000010;
          kylinProperties_ = other.kylinProperties_;
          onChanged();
        }
        if (other.hasQueryId()) {
          bitField0_ |= 0x00000020;
          queryId_ = other.queryId_;
          onChanged();
        }
        if (other.hasSpillEnabled()) {
          setSpillEnabled(other.getSpillEnabled());
        }
        if (other.hasMaxScanBytes()) {
          setMaxScanBytes(other.getMaxScanBytes());
        }
        if (other.hasIsExactAggregate()) {
          setIsExactAggregate(other.getIsExactAggregate());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasGtScanRequest()) {
          
          return false;
        }
        if (!hasHbaseRawScan()) {
          
          return false;
        }
        if (!hasRowkeyPreambleSize()) {
          
          return false;
        }
        if (!hasKylinProperties()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes gtScanRequest = 1;
      private com.google.protobuf.ByteString gtScanRequest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes gtScanRequest = 1;</code>
       */
      public boolean hasGtScanRequest() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes gtScanRequest = 1;</code>
       */
      public com.google.protobuf.ByteString getGtScanRequest() {
        return gtScanRequest_;
      }
      /**
       * <code>required bytes gtScanRequest = 1;</code>
       */
      public Builder setGtScanRequest(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        gtScanRequest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes gtScanRequest = 1;</code>
       */
      public Builder clearGtScanRequest() {
        bitField0_ = (bitField0_ & ~0x00000001);
        gtScanRequest_ = getDefaultInstance().getGtScanRequest();
        onChanged();
        return this;
      }

      // required bytes hbaseRawScan = 2;
      private com.google.protobuf.ByteString hbaseRawScan_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes hbaseRawScan = 2;</code>
       */
      public boolean hasHbaseRawScan() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bytes hbaseRawScan = 2;</code>
       */
      public com.google.protobuf.ByteString getHbaseRawScan() {
        return hbaseRawScan_;
      }
      /**
       * <code>required bytes hbaseRawScan = 2;</code>
       */
      public Builder setHbaseRawScan(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hbaseRawScan_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes hbaseRawScan = 2;</code>
       */
      public Builder clearHbaseRawScan() {
        bitField0_ = (bitField0_ & ~0x00000002);
        hbaseRawScan_ = getDefaultInstance().getHbaseRawScan();
        onChanged();
        return this;
      }

      // required int32 rowkeyPreambleSize = 3;
      private int rowkeyPreambleSize_ ;
      /**
       * <code>required int32 rowkeyPreambleSize = 3;</code>
       */
      public boolean hasRowkeyPreambleSize() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required int32 rowkeyPreambleSize = 3;</code>
       */
      public int getRowkeyPreambleSize() {
        return rowkeyPreambleSize_;
      }
      /**
       * <code>required int32 rowkeyPreambleSize = 3;</code>
       */
      public Builder setRowkeyPreambleSize(int value) {
        bitField0_ |= 0x00000004;
        rowkeyPreambleSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 rowkeyPreambleSize = 3;</code>
       */
      public Builder clearRowkeyPreambleSize() {
        bitField0_ = (bitField0_ & ~0x00000004);
        rowkeyPreambleSize_ = 0;
        onChanged();
        return this;
      }

      // repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;
      private java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> hbaseColumnsToGT_ =
        java.util.Collections.emptyList();
      private void ensureHbaseColumnsToGTIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          hbaseColumnsToGT_ = new java.util.ArrayList<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList>(hbaseColumnsToGT_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder> hbaseColumnsToGTBuilder_;

      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> getHbaseColumnsToGTList() {
        if (hbaseColumnsToGTBuilder_ == null) {
          return java.util.Collections.unmodifiableList(hbaseColumnsToGT_);
        } else {
          return hbaseColumnsToGTBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public int getHbaseColumnsToGTCount() {
        if (hbaseColumnsToGTBuilder_ == null) {
          return hbaseColumnsToGT_.size();
        } else {
          return hbaseColumnsToGTBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList getHbaseColumnsToGT(int index) {
        if (hbaseColumnsToGTBuilder_ == null) {
          return hbaseColumnsToGT_.get(index);
        } else {
          return hbaseColumnsToGTBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder setHbaseColumnsToGT(
          int index, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList value) {
        if (hbaseColumnsToGTBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.set(index, value);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder setHbaseColumnsToGT(
          int index, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder builderForValue) {
        if (hbaseColumnsToGTBuilder_ == null) {
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.set(index, builderForValue.build());
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder addHbaseColumnsToGT(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList value) {
        if (hbaseColumnsToGTBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.add(value);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder addHbaseColumnsToGT(
          int index, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList value) {
        if (hbaseColumnsToGTBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.add(index, value);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder addHbaseColumnsToGT(
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder builderForValue) {
        if (hbaseColumnsToGTBuilder_ == null) {
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.add(builderForValue.build());
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder addHbaseColumnsToGT(
          int index, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder builderForValue) {
        if (hbaseColumnsToGTBuilder_ == null) {
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.add(index, builderForValue.build());
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder addAllHbaseColumnsToGT(
          java.lang.Iterable<? extends org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList> values) {
        if (hbaseColumnsToGTBuilder_ == null) {
          ensureHbaseColumnsToGTIsMutable();
          super.addAll(values, hbaseColumnsToGT_);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder clearHbaseColumnsToGT() {
        if (hbaseColumnsToGTBuilder_ == null) {
          hbaseColumnsToGT_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public Builder removeHbaseColumnsToGT(int index) {
        if (hbaseColumnsToGTBuilder_ == null) {
          ensureHbaseColumnsToGTIsMutable();
          hbaseColumnsToGT_.remove(index);
          onChanged();
        } else {
          hbaseColumnsToGTBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder getHbaseColumnsToGTBuilder(
          int index) {
        return getHbaseColumnsToGTFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder getHbaseColumnsToGTOrBuilder(
          int index) {
        if (hbaseColumnsToGTBuilder_ == null) {
          return hbaseColumnsToGT_.get(index);  } else {
          return hbaseColumnsToGTBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public java.util.List<? extends org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder> 
           getHbaseColumnsToGTOrBuilderList() {
        if (hbaseColumnsToGTBuilder_ != null) {
          return hbaseColumnsToGTBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(hbaseColumnsToGT_);
        }
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder addHbaseColumnsToGTBuilder() {
        return getHbaseColumnsToGTFieldBuilder().addBuilder(
            org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.getDefaultInstance());
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder addHbaseColumnsToGTBuilder(
          int index) {
        return getHbaseColumnsToGTFieldBuilder().addBuilder(
            index, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.getDefaultInstance());
      }
      /**
       * <code>repeated .CubeVisitRequest.IntList hbaseColumnsToGT = 4;</code>
       */
      public java.util.List<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder> 
           getHbaseColumnsToGTBuilderList() {
        return getHbaseColumnsToGTFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder> 
          getHbaseColumnsToGTFieldBuilder() {
        if (hbaseColumnsToGTBuilder_ == null) {
          hbaseColumnsToGTBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntList.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.IntListOrBuilder>(
                  hbaseColumnsToGT_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          hbaseColumnsToGT_ = null;
        }
        return hbaseColumnsToGTBuilder_;
      }

      // required string kylinProperties = 5;
      private java.lang.Object kylinProperties_ = "";
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public boolean hasKylinProperties() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public java.lang.String getKylinProperties() {
        java.lang.Object ref = kylinProperties_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          kylinProperties_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public com.google.protobuf.ByteString
          getKylinPropertiesBytes() {
        java.lang.Object ref = kylinProperties_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          kylinProperties_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public Builder setKylinProperties(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        kylinProperties_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public Builder clearKylinProperties() {
        bitField0_ = (bitField0_ & ~0x00000010);
        kylinProperties_ = getDefaultInstance().getKylinProperties();
        onChanged();
        return this;
      }
      /**
       * <code>required string kylinProperties = 5;</code>
       *
       * <pre>
       * kylin properties
       * </pre>
       */
      public Builder setKylinPropertiesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        kylinProperties_ = value;
        onChanged();
        return this;
      }

      // optional string queryId = 6;
      private java.lang.Object queryId_ = "";
      /**
       * <code>optional string queryId = 6;</code>
       */
      public boolean hasQueryId() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional string queryId = 6;</code>
       */
      public java.lang.String getQueryId() {
        java.lang.Object ref = queryId_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          queryId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string queryId = 6;</code>
       */
      public com.google.protobuf.ByteString
          getQueryIdBytes() {
        java.lang.Object ref = queryId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          queryId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string queryId = 6;</code>
       */
      public Builder setQueryId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        queryId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string queryId = 6;</code>
       */
      public Builder clearQueryId() {
        bitField0_ = (bitField0_ & ~0x00000020);
        queryId_ = getDefaultInstance().getQueryId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string queryId = 6;</code>
       */
      public Builder setQueryIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        queryId_ = value;
        onChanged();
        return this;
      }

      // optional bool spillEnabled = 7 [default = true];
      private boolean spillEnabled_ = true;
      /**
       * <code>optional bool spillEnabled = 7 [default = true];</code>
       */
      public boolean hasSpillEnabled() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional bool spillEnabled = 7 [default = true];</code>
       */
      public boolean getSpillEnabled() {
        return spillEnabled_;
      }
      /**
       * <code>optional bool spillEnabled = 7 [default = true];</code>
       */
      public Builder setSpillEnabled(boolean value) {
        bitField0_ |= 0x00000040;
        spillEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool spillEnabled = 7 [default = true];</code>
       */
      public Builder clearSpillEnabled() {
        bitField0_ = (bitField0_ & ~0x00000040);
        spillEnabled_ = true;
        onChanged();
        return this;
      }

      // optional int64 maxScanBytes = 8;
      private long maxScanBytes_ ;
      /**
       * <code>optional int64 maxScanBytes = 8;</code>
       *
       * <pre>
       * must be positive
       * </pre>
       */
      public boolean hasMaxScanBytes() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional int64 maxScanBytes = 8;</code>
       *
       * <pre>
       * must be positive
       * </pre>
       */
      public long getMaxScanBytes() {
        return maxScanBytes_;
      }
      /**
       * <code>optional int64 maxScanBytes = 8;</code>
       *
       * <pre>
       * must be positive
       * </pre>
       */
      public Builder setMaxScanBytes(long value) {
        bitField0_ |= 0x00000080;
        maxScanBytes_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 maxScanBytes = 8;</code>
       *
       * <pre>
       * must be positive
       * </pre>
       */
      public Builder clearMaxScanBytes() {
        bitField0_ = (bitField0_ & ~0x00000080);
        maxScanBytes_ = 0L;
        onChanged();
        return this;
      }

      // optional bool isExactAggregate = 9 [default = false];
      private boolean isExactAggregate_ ;
      /**
       * <code>optional bool isExactAggregate = 9 [default = false];</code>
       */
      public boolean hasIsExactAggregate() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional bool isExactAggregate = 9 [default = false];</code>
       */
      public boolean getIsExactAggregate() {
        return isExactAggregate_;
      }
      /**
       * <code>optional bool isExactAggregate = 9 [default = false];</code>
       */
      public Builder setIsExactAggregate(boolean value) {
        bitField0_ |= 0x00000100;
        isExactAggregate_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isExactAggregate = 9 [default = false];</code>
       */
      public Builder clearIsExactAggregate() {
        bitField0_ = (bitField0_ & ~0x00000100);
        isExactAggregate_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CubeVisitRequest)
    }

    static {
      defaultInstance = new CubeVisitRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CubeVisitRequest)
  }

  public interface CubeVisitResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes compressedRows = 1;
    /**
     * <code>required bytes compressedRows = 1;</code>
     */
    boolean hasCompressedRows();
    /**
     * <code>required bytes compressedRows = 1;</code>
     */
    com.google.protobuf.ByteString getCompressedRows();

    // required .CubeVisitResponse.Stats stats = 2;
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    boolean hasStats();
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats getStats();
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder getStatsOrBuilder();

    // optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    boolean hasErrorInfo();
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo getErrorInfo();
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder getErrorInfoOrBuilder();
  }
  /**
   * Protobuf type {@code CubeVisitResponse}
   */
  public static final class CubeVisitResponse extends
      com.google.protobuf.GeneratedMessage
      implements CubeVisitResponseOrBuilder {
    // Use CubeVisitResponse.newBuilder() to construct.
    private CubeVisitResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CubeVisitResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CubeVisitResponse defaultInstance;
    public static CubeVisitResponse getDefaultInstance() {
      return defaultInstance;
    }

    public CubeVisitResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CubeVisitResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              compressedRows_ = input.readBytes();
              break;
            }
            case 18: {
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = stats_.toBuilder();
              }
              stats_ = input.readMessage(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(stats_);
                stats_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = errorInfo_.toBuilder();
              }
              errorInfo_ = input.readMessage(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(errorInfo_);
                errorInfo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Builder.class);
    }

    public static com.google.protobuf.Parser<CubeVisitResponse> PARSER =
        new com.google.protobuf.AbstractParser<CubeVisitResponse>() {
      public CubeVisitResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CubeVisitResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CubeVisitResponse> getParserForType() {
      return PARSER;
    }

    /**
     * Protobuf enum {@code CubeVisitResponse.ErrorType}
     */
    public enum ErrorType
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN_TYPE = 0;</code>
       */
      UNKNOWN_TYPE(0, 0),
      /**
       * <code>TIMEOUT = 1;</code>
       */
      TIMEOUT(1, 1),
      /**
       * <code>RESOURCE_LIMIT_EXCEEDED = 2;</code>
       */
      RESOURCE_LIMIT_EXCEEDED(2, 2),
      ;

      /**
       * <code>UNKNOWN_TYPE = 0;</code>
       */
      public static final int UNKNOWN_TYPE_VALUE = 0;
      /**
       * <code>TIMEOUT = 1;</code>
       */
      public static final int TIMEOUT_VALUE = 1;
      /**
       * <code>RESOURCE_LIMIT_EXCEEDED = 2;</code>
       */
      public static final int RESOURCE_LIMIT_EXCEEDED_VALUE = 2;


      public final int getNumber() { return value; }

      public static ErrorType valueOf(int value) {
        switch (value) {
          case 0: return UNKNOWN_TYPE;
          case 1: return TIMEOUT;
          case 2: return RESOURCE_LIMIT_EXCEEDED;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<ErrorType>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static com.google.protobuf.Internal.EnumLiteMap<ErrorType>
          internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<ErrorType>() {
              public ErrorType findValueByNumber(int number) {
                return ErrorType.valueOf(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(index);
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final ErrorType[] VALUES = values();

      public static ErrorType valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }

      private final int index;
      private final int value;

      private ErrorType(int index, int value) {
        this.index = index;
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:CubeVisitResponse.ErrorType)
    }

    public interface StatsOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int64 serviceStartTime = 1;
      /**
       * <code>optional int64 serviceStartTime = 1;</code>
       */
      boolean hasServiceStartTime();
      /**
       * <code>optional int64 serviceStartTime = 1;</code>
       */
      long getServiceStartTime();

      // optional int64 serviceEndTime = 2;
      /**
       * <code>optional int64 serviceEndTime = 2;</code>
       */
      boolean hasServiceEndTime();
      /**
       * <code>optional int64 serviceEndTime = 2;</code>
       */
      long getServiceEndTime();

      // optional int64 scannedRowCount = 3;
      /**
       * <code>optional int64 scannedRowCount = 3;</code>
       */
      boolean hasScannedRowCount();
      /**
       * <code>optional int64 scannedRowCount = 3;</code>
       */
      long getScannedRowCount();

      // optional int64 aggregatedRowCount = 4;
      /**
       * <code>optional int64 aggregatedRowCount = 4;</code>
       */
      boolean hasAggregatedRowCount();
      /**
       * <code>optional int64 aggregatedRowCount = 4;</code>
       */
      long getAggregatedRowCount();

      // optional double systemCpuLoad = 5;
      /**
       * <code>optional double systemCpuLoad = 5;</code>
       */
      boolean hasSystemCpuLoad();
      /**
       * <code>optional double systemCpuLoad = 5;</code>
       */
      double getSystemCpuLoad();

      // optional double freePhysicalMemorySize = 6;
      /**
       * <code>optional double freePhysicalMemorySize = 6;</code>
       */
      boolean hasFreePhysicalMemorySize();
      /**
       * <code>optional double freePhysicalMemorySize = 6;</code>
       */
      double getFreePhysicalMemorySize();

      // optional double freeSwapSpaceSize = 7;
      /**
       * <code>optional double freeSwapSpaceSize = 7;</code>
       */
      boolean hasFreeSwapSpaceSize();
      /**
       * <code>optional double freeSwapSpaceSize = 7;</code>
       */
      double getFreeSwapSpaceSize();

      // optional string hostname = 8;
      /**
       * <code>optional string hostname = 8;</code>
       */
      boolean hasHostname();
      /**
       * <code>optional string hostname = 8;</code>
       */
      java.lang.String getHostname();
      /**
       * <code>optional string hostname = 8;</code>
       */
      com.google.protobuf.ByteString
          getHostnameBytes();

      // optional string etcMsg = 9;
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      boolean hasEtcMsg();
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      java.lang.String getEtcMsg();
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      com.google.protobuf.ByteString
          getEtcMsgBytes();

      // optional int32 normalComplete = 10;
      /**
       * <code>optional int32 normalComplete = 10;</code>
       */
      boolean hasNormalComplete();
      /**
       * <code>optional int32 normalComplete = 10;</code>
       */
      int getNormalComplete();

      // optional int64 scannedBytes = 11;
      /**
       * <code>optional int64 scannedBytes = 11;</code>
       */
      boolean hasScannedBytes();
      /**
       * <code>optional int64 scannedBytes = 11;</code>
       */
      long getScannedBytes();

      // optional int64 filteredRowCount = 12;
      /**
       * <code>optional int64 filteredRowCount = 12;</code>
       */
      boolean hasFilteredRowCount();
      /**
       * <code>optional int64 filteredRowCount = 12;</code>
       */
      long getFilteredRowCount();
    }
    /**
     * Protobuf type {@code CubeVisitResponse.Stats}
     */
    public static final class Stats extends
        com.google.protobuf.GeneratedMessage
        implements StatsOrBuilder {
      // Use Stats.newBuilder() to construct.
      private Stats(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Stats(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Stats defaultInstance;
      public static Stats getDefaultInstance() {
        return defaultInstance;
      }

      public Stats getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Stats(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                serviceStartTime_ = input.readInt64();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                serviceEndTime_ = input.readInt64();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                scannedRowCount_ = input.readInt64();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                aggregatedRowCount_ = input.readInt64();
                break;
              }
              case 41: {
                bitField0_ |= 0x00000010;
                systemCpuLoad_ = input.readDouble();
                break;
              }
              case 49: {
                bitField0_ |= 0x00000020;
                freePhysicalMemorySize_ = input.readDouble();
                break;
              }
              case 57: {
                bitField0_ |= 0x00000040;
                freeSwapSpaceSize_ = input.readDouble();
                break;
              }
              case 66: {
                bitField0_ |= 0x00000080;
                hostname_ = input.readBytes();
                break;
              }
              case 74: {
                bitField0_ |= 0x00000100;
                etcMsg_ = input.readBytes();
                break;
              }
              case 80: {
                bitField0_ |= 0x00000200;
                normalComplete_ = input.readInt32();
                break;
              }
              case 88: {
                bitField0_ |= 0x00000400;
                scannedBytes_ = input.readInt64();
                break;
              }
              case 96: {
                bitField0_ |= 0x00000800;
                filteredRowCount_ = input.readInt64();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_Stats_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_Stats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder.class);
      }

      public static com.google.protobuf.Parser<Stats> PARSER =
          new com.google.protobuf.AbstractParser<Stats>() {
        public Stats parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Stats(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public com.google.protobuf.Parser<Stats> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional int64 serviceStartTime = 1;
      public static final int SERVICESTARTTIME_FIELD_NUMBER = 1;
      private long serviceStartTime_;
      /**
       * <code>optional int64 serviceStartTime = 1;</code>
       */
      public boolean hasServiceStartTime() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int64 serviceStartTime = 1;</code>
       */
      public long getServiceStartTime() {
        return serviceStartTime_;
      }

      // optional int64 serviceEndTime = 2;
      public static final int SERVICEENDTIME_FIELD_NUMBER = 2;
      private long serviceEndTime_;
      /**
       * <code>optional int64 serviceEndTime = 2;</code>
       */
      public boolean hasServiceEndTime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int64 serviceEndTime = 2;</code>
       */
      public long getServiceEndTime() {
        return serviceEndTime_;
      }

      // optional int64 scannedRowCount = 3;
      public static final int SCANNEDROWCOUNT_FIELD_NUMBER = 3;
      private long scannedRowCount_;
      /**
       * <code>optional int64 scannedRowCount = 3;</code>
       */
      public boolean hasScannedRowCount() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int64 scannedRowCount = 3;</code>
       */
      public long getScannedRowCount() {
        return scannedRowCount_;
      }

      // optional int64 aggregatedRowCount = 4;
      public static final int AGGREGATEDROWCOUNT_FIELD_NUMBER = 4;
      private long aggregatedRowCount_;
      /**
       * <code>optional int64 aggregatedRowCount = 4;</code>
       */
      public boolean hasAggregatedRowCount() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int64 aggregatedRowCount = 4;</code>
       */
      public long getAggregatedRowCount() {
        return aggregatedRowCount_;
      }

      // optional double systemCpuLoad = 5;
      public static final int SYSTEMCPULOAD_FIELD_NUMBER = 5;
      private double systemCpuLoad_;
      /**
       * <code>optional double systemCpuLoad = 5;</code>
       */
      public boolean hasSystemCpuLoad() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional double systemCpuLoad = 5;</code>
       */
      public double getSystemCpuLoad() {
        return systemCpuLoad_;
      }

      // optional double freePhysicalMemorySize = 6;
      public static final int FREEPHYSICALMEMORYSIZE_FIELD_NUMBER = 6;
      private double freePhysicalMemorySize_;
      /**
       * <code>optional double freePhysicalMemorySize = 6;</code>
       */
      public boolean hasFreePhysicalMemorySize() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional double freePhysicalMemorySize = 6;</code>
       */
      public double getFreePhysicalMemorySize() {
        return freePhysicalMemorySize_;
      }

      // optional double freeSwapSpaceSize = 7;
      public static final int FREESWAPSPACESIZE_FIELD_NUMBER = 7;
      private double freeSwapSpaceSize_;
      /**
       * <code>optional double freeSwapSpaceSize = 7;</code>
       */
      public boolean hasFreeSwapSpaceSize() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional double freeSwapSpaceSize = 7;</code>
       */
      public double getFreeSwapSpaceSize() {
        return freeSwapSpaceSize_;
      }

      // optional string hostname = 8;
      public static final int HOSTNAME_FIELD_NUMBER = 8;
      private java.lang.Object hostname_;
      /**
       * <code>optional string hostname = 8;</code>
       */
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional string hostname = 8;</code>
       */
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            hostname_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string hostname = 8;</code>
       */
      public com.google.protobuf.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional string etcMsg = 9;
      public static final int ETCMSG_FIELD_NUMBER = 9;
      private java.lang.Object etcMsg_;
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      public boolean hasEtcMsg() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      public java.lang.String getEtcMsg() {
        java.lang.Object ref = etcMsg_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            etcMsg_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string etcMsg = 9;</code>
       */
      public com.google.protobuf.ByteString
          getEtcMsgBytes() {
        java.lang.Object ref = etcMsg_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          etcMsg_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional int32 normalComplete = 10;
      public static final int NORMALCOMPLETE_FIELD_NUMBER = 10;
      private int normalComplete_;
      /**
       * <code>optional int32 normalComplete = 10;</code>
       */
      public boolean hasNormalComplete() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional int32 normalComplete = 10;</code>
       */
      public int getNormalComplete() {
        return normalComplete_;
      }

      // optional int64 scannedBytes = 11;
      public static final int SCANNEDBYTES_FIELD_NUMBER = 11;
      private long scannedBytes_;
      /**
       * <code>optional int64 scannedBytes = 11;</code>
       */
      public boolean hasScannedBytes() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional int64 scannedBytes = 11;</code>
       */
      public long getScannedBytes() {
        return scannedBytes_;
      }

      // optional int64 filteredRowCount = 12;
      public static final int FILTEREDROWCOUNT_FIELD_NUMBER = 12;
      private long filteredRowCount_;
      /**
       * <code>optional int64 filteredRowCount = 12;</code>
       */
      public boolean hasFilteredRowCount() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional int64 filteredRowCount = 12;</code>
       */
      public long getFilteredRowCount() {
        return filteredRowCount_;
      }

      private void initFields() {
        serviceStartTime_ = 0L;
        serviceEndTime_ = 0L;
        scannedRowCount_ = 0L;
        aggregatedRowCount_ = 0L;
        systemCpuLoad_ = 0D;
        freePhysicalMemorySize_ = 0D;
        freeSwapSpaceSize_ = 0D;
        hostname_ = "";
        etcMsg_ = "";
        normalComplete_ = 0;
        scannedBytes_ = 0L;
        filteredRowCount_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt64(1, serviceStartTime_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, serviceEndTime_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt64(3, scannedRowCount_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt64(4, aggregatedRowCount_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeDouble(5, systemCpuLoad_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeDouble(6, freePhysicalMemorySize_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeDouble(7, freeSwapSpaceSize_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeBytes(8, getHostnameBytes());
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          output.writeBytes(9, getEtcMsgBytes());
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          output.writeInt32(10, normalComplete_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          output.writeInt64(11, scannedBytes_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          output.writeInt64(12, filteredRowCount_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(1, serviceStartTime_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, serviceEndTime_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(3, scannedRowCount_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(4, aggregatedRowCount_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(5, systemCpuLoad_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(6, freePhysicalMemorySize_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(7, freeSwapSpaceSize_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(8, getHostnameBytes());
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(9, getEtcMsgBytes());
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(10, normalComplete_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(11, scannedBytes_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(12, filteredRowCount_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats)) {
          return super.equals(obj);
        }
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats other = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats) obj;

        boolean result = true;
        result = result && (hasServiceStartTime() == other.hasServiceStartTime());
        if (hasServiceStartTime()) {
          result = result && (getServiceStartTime()
              == other.getServiceStartTime());
        }
        result = result && (hasServiceEndTime() == other.hasServiceEndTime());
        if (hasServiceEndTime()) {
          result = result && (getServiceEndTime()
              == other.getServiceEndTime());
        }
        result = result && (hasScannedRowCount() == other.hasScannedRowCount());
        if (hasScannedRowCount()) {
          result = result && (getScannedRowCount()
              == other.getScannedRowCount());
        }
        result = result && (hasAggregatedRowCount() == other.hasAggregatedRowCount());
        if (hasAggregatedRowCount()) {
          result = result && (getAggregatedRowCount()
              == other.getAggregatedRowCount());
        }
        result = result && (hasSystemCpuLoad() == other.hasSystemCpuLoad());
        if (hasSystemCpuLoad()) {
          result = result && (Double.doubleToLongBits(getSystemCpuLoad())    == Double.doubleToLongBits(other.getSystemCpuLoad()));
        }
        result = result && (hasFreePhysicalMemorySize() == other.hasFreePhysicalMemorySize());
        if (hasFreePhysicalMemorySize()) {
          result = result && (Double.doubleToLongBits(getFreePhysicalMemorySize())    == Double.doubleToLongBits(other.getFreePhysicalMemorySize()));
        }
        result = result && (hasFreeSwapSpaceSize() == other.hasFreeSwapSpaceSize());
        if (hasFreeSwapSpaceSize()) {
          result = result && (Double.doubleToLongBits(getFreeSwapSpaceSize())    == Double.doubleToLongBits(other.getFreeSwapSpaceSize()));
        }
        result = result && (hasHostname() == other.hasHostname());
        if (hasHostname()) {
          result = result && getHostname()
              .equals(other.getHostname());
        }
        result = result && (hasEtcMsg() == other.hasEtcMsg());
        if (hasEtcMsg()) {
          result = result && getEtcMsg()
              .equals(other.getEtcMsg());
        }
        result = result && (hasNormalComplete() == other.hasNormalComplete());
        if (hasNormalComplete()) {
          result = result && (getNormalComplete()
              == other.getNormalComplete());
        }
        result = result && (hasScannedBytes() == other.hasScannedBytes());
        if (hasScannedBytes()) {
          result = result && (getScannedBytes()
              == other.getScannedBytes());
        }
        result = result && (hasFilteredRowCount() == other.hasFilteredRowCount());
        if (hasFilteredRowCount()) {
          result = result && (getFilteredRowCount()
              == other.getFilteredRowCount());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }

      private int memoizedHashCode = 0;
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasServiceStartTime()) {
          hash = (37 * hash) + SERVICESTARTTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getServiceStartTime());
        }
        if (hasServiceEndTime()) {
          hash = (37 * hash) + SERVICEENDTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getServiceEndTime());
        }
        if (hasScannedRowCount()) {
          hash = (37 * hash) + SCANNEDROWCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getScannedRowCount());
        }
        if (hasAggregatedRowCount()) {
          hash = (37 * hash) + AGGREGATEDROWCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getAggregatedRowCount());
        }
        if (hasSystemCpuLoad()) {
          hash = (37 * hash) + SYSTEMCPULOAD_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(
              Double.doubleToLongBits(getSystemCpuLoad()));
        }
        if (hasFreePhysicalMemorySize()) {
          hash = (37 * hash) + FREEPHYSICALMEMORYSIZE_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(
              Double.doubleToLongBits(getFreePhysicalMemorySize()));
        }
        if (hasFreeSwapSpaceSize()) {
          hash = (37 * hash) + FREESWAPSPACESIZE_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(
              Double.doubleToLongBits(getFreeSwapSpaceSize()));
        }
        if (hasHostname()) {
          hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
          hash = (53 * hash) + getHostname().hashCode();
        }
        if (hasEtcMsg()) {
          hash = (37 * hash) + ETCMSG_FIELD_NUMBER;
          hash = (53 * hash) + getEtcMsg().hashCode();
        }
        if (hasNormalComplete()) {
          hash = (37 * hash) + NORMALCOMPLETE_FIELD_NUMBER;
          hash = (53 * hash) + getNormalComplete();
        }
        if (hasScannedBytes()) {
          hash = (37 * hash) + SCANNEDBYTES_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getScannedBytes());
        }
        if (hasFilteredRowCount()) {
          hash = (37 * hash) + FILTEREDROWCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getFilteredRowCount());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CubeVisitResponse.Stats}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_Stats_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_Stats_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder.class);
        }

        // Construct using org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          serviceStartTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000001);
          serviceEndTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          scannedRowCount_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          aggregatedRowCount_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          systemCpuLoad_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000010);
          freePhysicalMemorySize_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000020);
          freeSwapSpaceSize_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000040);
          hostname_ = "";
          bitField0_ = (bitField0_ & ~0x00000080);
          etcMsg_ = "";
          bitField0_ = (bitField0_ & ~0x00000100);
          normalComplete_ = 0;
          bitField0_ = (bitField0_ & ~0x00000200);
          scannedBytes_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000400);
          filteredRowCount_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000800);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_Stats_descriptor;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats getDefaultInstanceForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance();
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats build() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats buildPartial() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats result = new org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.serviceStartTime_ = serviceStartTime_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.serviceEndTime_ = serviceEndTime_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.scannedRowCount_ = scannedRowCount_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.aggregatedRowCount_ = aggregatedRowCount_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.systemCpuLoad_ = systemCpuLoad_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.freePhysicalMemorySize_ = freePhysicalMemorySize_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000040;
          }
          result.freeSwapSpaceSize_ = freeSwapSpaceSize_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000080;
          }
          result.hostname_ = hostname_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000100;
          }
          result.etcMsg_ = etcMsg_;
          if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
            to_bitField0_ |= 0x00000200;
          }
          result.normalComplete_ = normalComplete_;
          if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
            to_bitField0_ |= 0x00000400;
          }
          result.scannedBytes_ = scannedBytes_;
          if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
            to_bitField0_ |= 0x00000800;
          }
          result.filteredRowCount_ = filteredRowCount_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats) {
            return mergeFrom((org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats other) {
          if (other == org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance()) return this;
          if (other.hasServiceStartTime()) {
            setServiceStartTime(other.getServiceStartTime());
          }
          if (other.hasServiceEndTime()) {
            setServiceEndTime(other.getServiceEndTime());
          }
          if (other.hasScannedRowCount()) {
            setScannedRowCount(other.getScannedRowCount());
          }
          if (other.hasAggregatedRowCount()) {
            setAggregatedRowCount(other.getAggregatedRowCount());
          }
          if (other.hasSystemCpuLoad()) {
            setSystemCpuLoad(other.getSystemCpuLoad());
          }
          if (other.hasFreePhysicalMemorySize()) {
            setFreePhysicalMemorySize(other.getFreePhysicalMemorySize());
          }
          if (other.hasFreeSwapSpaceSize()) {
            setFreeSwapSpaceSize(other.getFreeSwapSpaceSize());
          }
          if (other.hasHostname()) {
            bitField0_ |= 0x00000080;
            hostname_ = other.hostname_;
            onChanged();
          }
          if (other.hasEtcMsg()) {
            bitField0_ |= 0x00000100;
            etcMsg_ = other.etcMsg_;
            onChanged();
          }
          if (other.hasNormalComplete()) {
            setNormalComplete(other.getNormalComplete());
          }
          if (other.hasScannedBytes()) {
            setScannedBytes(other.getScannedBytes());
          }
          if (other.hasFilteredRowCount()) {
            setFilteredRowCount(other.getFilteredRowCount());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int64 serviceStartTime = 1;
        private long serviceStartTime_ ;
        /**
         * <code>optional int64 serviceStartTime = 1;</code>
         */
        public boolean hasServiceStartTime() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int64 serviceStartTime = 1;</code>
         */
        public long getServiceStartTime() {
          return serviceStartTime_;
        }
        /**
         * <code>optional int64 serviceStartTime = 1;</code>
         */
        public Builder setServiceStartTime(long value) {
          bitField0_ |= 0x00000001;
          serviceStartTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 serviceStartTime = 1;</code>
         */
        public Builder clearServiceStartTime() {
          bitField0_ = (bitField0_ & ~0x00000001);
          serviceStartTime_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 serviceEndTime = 2;
        private long serviceEndTime_ ;
        /**
         * <code>optional int64 serviceEndTime = 2;</code>
         */
        public boolean hasServiceEndTime() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int64 serviceEndTime = 2;</code>
         */
        public long getServiceEndTime() {
          return serviceEndTime_;
        }
        /**
         * <code>optional int64 serviceEndTime = 2;</code>
         */
        public Builder setServiceEndTime(long value) {
          bitField0_ |= 0x00000002;
          serviceEndTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 serviceEndTime = 2;</code>
         */
        public Builder clearServiceEndTime() {
          bitField0_ = (bitField0_ & ~0x00000002);
          serviceEndTime_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 scannedRowCount = 3;
        private long scannedRowCount_ ;
        /**
         * <code>optional int64 scannedRowCount = 3;</code>
         */
        public boolean hasScannedRowCount() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional int64 scannedRowCount = 3;</code>
         */
        public long getScannedRowCount() {
          return scannedRowCount_;
        }
        /**
         * <code>optional int64 scannedRowCount = 3;</code>
         */
        public Builder setScannedRowCount(long value) {
          bitField0_ |= 0x00000004;
          scannedRowCount_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 scannedRowCount = 3;</code>
         */
        public Builder clearScannedRowCount() {
          bitField0_ = (bitField0_ & ~0x00000004);
          scannedRowCount_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 aggregatedRowCount = 4;
        private long aggregatedRowCount_ ;
        /**
         * <code>optional int64 aggregatedRowCount = 4;</code>
         */
        public boolean hasAggregatedRowCount() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional int64 aggregatedRowCount = 4;</code>
         */
        public long getAggregatedRowCount() {
          return aggregatedRowCount_;
        }
        /**
         * <code>optional int64 aggregatedRowCount = 4;</code>
         */
        public Builder setAggregatedRowCount(long value) {
          bitField0_ |= 0x00000008;
          aggregatedRowCount_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 aggregatedRowCount = 4;</code>
         */
        public Builder clearAggregatedRowCount() {
          bitField0_ = (bitField0_ & ~0x00000008);
          aggregatedRowCount_ = 0L;
          onChanged();
          return this;
        }

        // optional double systemCpuLoad = 5;
        private double systemCpuLoad_ ;
        /**
         * <code>optional double systemCpuLoad = 5;</code>
         */
        public boolean hasSystemCpuLoad() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional double systemCpuLoad = 5;</code>
         */
        public double getSystemCpuLoad() {
          return systemCpuLoad_;
        }
        /**
         * <code>optional double systemCpuLoad = 5;</code>
         */
        public Builder setSystemCpuLoad(double value) {
          bitField0_ |= 0x00000010;
          systemCpuLoad_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional double systemCpuLoad = 5;</code>
         */
        public Builder clearSystemCpuLoad() {
          bitField0_ = (bitField0_ & ~0x00000010);
          systemCpuLoad_ = 0D;
          onChanged();
          return this;
        }

        // optional double freePhysicalMemorySize = 6;
        private double freePhysicalMemorySize_ ;
        /**
         * <code>optional double freePhysicalMemorySize = 6;</code>
         */
        public boolean hasFreePhysicalMemorySize() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * <code>optional double freePhysicalMemorySize = 6;</code>
         */
        public double getFreePhysicalMemorySize() {
          return freePhysicalMemorySize_;
        }
        /**
         * <code>optional double freePhysicalMemorySize = 6;</code>
         */
        public Builder setFreePhysicalMemorySize(double value) {
          bitField0_ |= 0x00000020;
          freePhysicalMemorySize_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional double freePhysicalMemorySize = 6;</code>
         */
        public Builder clearFreePhysicalMemorySize() {
          bitField0_ = (bitField0_ & ~0x00000020);
          freePhysicalMemorySize_ = 0D;
          onChanged();
          return this;
        }

        // optional double freeSwapSpaceSize = 7;
        private double freeSwapSpaceSize_ ;
        /**
         * <code>optional double freeSwapSpaceSize = 7;</code>
         */
        public boolean hasFreeSwapSpaceSize() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * <code>optional double freeSwapSpaceSize = 7;</code>
         */
        public double getFreeSwapSpaceSize() {
          return freeSwapSpaceSize_;
        }
        /**
         * <code>optional double freeSwapSpaceSize = 7;</code>
         */
        public Builder setFreeSwapSpaceSize(double value) {
          bitField0_ |= 0x00000040;
          freeSwapSpaceSize_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional double freeSwapSpaceSize = 7;</code>
         */
        public Builder clearFreeSwapSpaceSize() {
          bitField0_ = (bitField0_ & ~0x00000040);
          freeSwapSpaceSize_ = 0D;
          onChanged();
          return this;
        }

        // optional string hostname = 8;
        private java.lang.Object hostname_ = "";
        /**
         * <code>optional string hostname = 8;</code>
         */
        public boolean hasHostname() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        /**
         * <code>optional string hostname = 8;</code>
         */
        public java.lang.String getHostname() {
          java.lang.Object ref = hostname_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            hostname_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string hostname = 8;</code>
         */
        public com.google.protobuf.ByteString
            getHostnameBytes() {
          java.lang.Object ref = hostname_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            hostname_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string hostname = 8;</code>
         */
        public Builder setHostname(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
          hostname_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string hostname = 8;</code>
         */
        public Builder clearHostname() {
          bitField0_ = (bitField0_ & ~0x00000080);
          hostname_ = getDefaultInstance().getHostname();
          onChanged();
          return this;
        }
        /**
         * <code>optional string hostname = 8;</code>
         */
        public Builder setHostnameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
          hostname_ = value;
          onChanged();
          return this;
        }

        // optional string etcMsg = 9;
        private java.lang.Object etcMsg_ = "";
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public boolean hasEtcMsg() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public java.lang.String getEtcMsg() {
          java.lang.Object ref = etcMsg_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            etcMsg_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public com.google.protobuf.ByteString
            getEtcMsgBytes() {
          java.lang.Object ref = etcMsg_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            etcMsg_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public Builder setEtcMsg(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
          etcMsg_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public Builder clearEtcMsg() {
          bitField0_ = (bitField0_ & ~0x00000100);
          etcMsg_ = getDefaultInstance().getEtcMsg();
          onChanged();
          return this;
        }
        /**
         * <code>optional string etcMsg = 9;</code>
         */
        public Builder setEtcMsgBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
          etcMsg_ = value;
          onChanged();
          return this;
        }

        // optional int32 normalComplete = 10;
        private int normalComplete_ ;
        /**
         * <code>optional int32 normalComplete = 10;</code>
         */
        public boolean hasNormalComplete() {
          return ((bitField0_ & 0x00000200) == 0x00000200);
        }
        /**
         * <code>optional int32 normalComplete = 10;</code>
         */
        public int getNormalComplete() {
          return normalComplete_;
        }
        /**
         * <code>optional int32 normalComplete = 10;</code>
         */
        public Builder setNormalComplete(int value) {
          bitField0_ |= 0x00000200;
          normalComplete_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 normalComplete = 10;</code>
         */
        public Builder clearNormalComplete() {
          bitField0_ = (bitField0_ & ~0x00000200);
          normalComplete_ = 0;
          onChanged();
          return this;
        }

        // optional int64 scannedBytes = 11;
        private long scannedBytes_ ;
        /**
         * <code>optional int64 scannedBytes = 11;</code>
         */
        public boolean hasScannedBytes() {
          return ((bitField0_ & 0x00000400) == 0x00000400);
        }
        /**
         * <code>optional int64 scannedBytes = 11;</code>
         */
        public long getScannedBytes() {
          return scannedBytes_;
        }
        /**
         * <code>optional int64 scannedBytes = 11;</code>
         */
        public Builder setScannedBytes(long value) {
          bitField0_ |= 0x00000400;
          scannedBytes_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 scannedBytes = 11;</code>
         */
        public Builder clearScannedBytes() {
          bitField0_ = (bitField0_ & ~0x00000400);
          scannedBytes_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 filteredRowCount = 12;
        private long filteredRowCount_ ;
        /**
         * <code>optional int64 filteredRowCount = 12;</code>
         */
        public boolean hasFilteredRowCount() {
          return ((bitField0_ & 0x00000800) == 0x00000800);
        }
        /**
         * <code>optional int64 filteredRowCount = 12;</code>
         */
        public long getFilteredRowCount() {
          return filteredRowCount_;
        }
        /**
         * <code>optional int64 filteredRowCount = 12;</code>
         */
        public Builder setFilteredRowCount(long value) {
          bitField0_ |= 0x00000800;
          filteredRowCount_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 filteredRowCount = 12;</code>
         */
        public Builder clearFilteredRowCount() {
          bitField0_ = (bitField0_ & ~0x00000800);
          filteredRowCount_ = 0L;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CubeVisitResponse.Stats)
      }

      static {
        defaultInstance = new Stats(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CubeVisitResponse.Stats)
    }

    public interface ErrorInfoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // required .CubeVisitResponse.ErrorType type = 1;
      /**
       * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
       */
      boolean hasType();
      /**
       * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
       */
      org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType getType();

      // required string message = 2;
      /**
       * <code>required string message = 2;</code>
       */
      boolean hasMessage();
      /**
       * <code>required string message = 2;</code>
       */
      java.lang.String getMessage();
      /**
       * <code>required string message = 2;</code>
       */
      com.google.protobuf.ByteString
          getMessageBytes();
    }
    /**
     * Protobuf type {@code CubeVisitResponse.ErrorInfo}
     */
    public static final class ErrorInfo extends
        com.google.protobuf.GeneratedMessage
        implements ErrorInfoOrBuilder {
      // Use ErrorInfo.newBuilder() to construct.
      private ErrorInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private ErrorInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final ErrorInfo defaultInstance;
      public static ErrorInfo getDefaultInstance() {
        return defaultInstance;
      }

      public ErrorInfo getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private ErrorInfo(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType value = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  type_ = value;
                }
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                message_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_ErrorInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_ErrorInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder.class);
      }

      public static com.google.protobuf.Parser<ErrorInfo> PARSER =
          new com.google.protobuf.AbstractParser<ErrorInfo>() {
        public ErrorInfo parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new ErrorInfo(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public com.google.protobuf.Parser<ErrorInfo> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .CubeVisitResponse.ErrorType type = 1;
      public static final int TYPE_FIELD_NUMBER = 1;
      private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType type_;
      /**
       * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType getType() {
        return type_;
      }

      // required string message = 2;
      public static final int MESSAGE_FIELD_NUMBER = 2;
      private java.lang.Object message_;
      /**
       * <code>required string message = 2;</code>
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string message = 2;</code>
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string message = 2;</code>
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        type_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType.UNKNOWN_TYPE;
        message_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasType()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getMessageBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getMessageBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo)) {
          return super.equals(obj);
        }
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo other = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo) obj;

        boolean result = true;
        result = result && (hasType() == other.hasType());
        if (hasType()) {
          result = result &&
              (getType() == other.getType());
        }
        result = result && (hasMessage() == other.hasMessage());
        if (hasMessage()) {
          result = result && getMessage()
              .equals(other.getMessage());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }

      private int memoizedHashCode = 0;
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasType()) {
          hash = (37 * hash) + TYPE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getType());
        }
        if (hasMessage()) {
          hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getMessage().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CubeVisitResponse.ErrorInfo}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_ErrorInfo_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_ErrorInfo_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder.class);
        }

        // Construct using org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          type_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType.UNKNOWN_TYPE;
          bitField0_ = (bitField0_ & ~0x00000001);
          message_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_ErrorInfo_descriptor;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo getDefaultInstanceForType() {
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance();
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo build() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo buildPartial() {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo result = new org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.message_ = message_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo) {
            return mergeFrom((org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo other) {
          if (other == org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance()) return this;
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasMessage()) {
            bitField0_ |= 0x00000002;
            message_ = other.message_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasType()) {
            
            return false;
          }
          if (!hasMessage()) {
            
            return false;
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // required .CubeVisitResponse.ErrorType type = 1;
        private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType type_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType.UNKNOWN_TYPE;
        /**
         * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
         */
        public boolean hasType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
         */
        public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType getType() {
          return type_;
        }
        /**
         * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
         */
        public Builder setType(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required .CubeVisitResponse.ErrorType type = 1;</code>
         */
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorType.UNKNOWN_TYPE;
          onChanged();
          return this;
        }

        // required string message = 2;
        private java.lang.Object message_ = "";
        /**
         * <code>required string message = 2;</code>
         */
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required string message = 2;</code>
         */
        public java.lang.String getMessage() {
          java.lang.Object ref = message_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            message_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string message = 2;</code>
         */
        public com.google.protobuf.ByteString
            getMessageBytes() {
          java.lang.Object ref = message_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            message_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string message = 2;</code>
         */
        public Builder setMessage(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          message_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string message = 2;</code>
         */
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000002);
          message_ = getDefaultInstance().getMessage();
          onChanged();
          return this;
        }
        /**
         * <code>required string message = 2;</code>
         */
        public Builder setMessageBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          message_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CubeVisitResponse.ErrorInfo)
      }

      static {
        defaultInstance = new ErrorInfo(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CubeVisitResponse.ErrorInfo)
    }

    private int bitField0_;
    // required bytes compressedRows = 1;
    public static final int COMPRESSEDROWS_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString compressedRows_;
    /**
     * <code>required bytes compressedRows = 1;</code>
     */
    public boolean hasCompressedRows() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes compressedRows = 1;</code>
     */
    public com.google.protobuf.ByteString getCompressedRows() {
      return compressedRows_;
    }

    // required .CubeVisitResponse.Stats stats = 2;
    public static final int STATS_FIELD_NUMBER = 2;
    private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats stats_;
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    public boolean hasStats() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats getStats() {
      return stats_;
    }
    /**
     * <code>required .CubeVisitResponse.Stats stats = 2;</code>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder getStatsOrBuilder() {
      return stats_;
    }

    // optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
    public static final int ERRORINFO_FIELD_NUMBER = 3;
    private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo errorInfo_;
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    public boolean hasErrorInfo() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo getErrorInfo() {
      return errorInfo_;
    }
    /**
     * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
     *
     * <pre>
     * should be set when stats.normalComplete == false
     * </pre>
     */
    public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder getErrorInfoOrBuilder() {
      return errorInfo_;
    }

    private void initFields() {
      compressedRows_ = com.google.protobuf.ByteString.EMPTY;
      stats_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance();
      errorInfo_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasCompressedRows()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasStats()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasErrorInfo()) {
        if (!getErrorInfo().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, compressedRows_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, stats_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, errorInfo_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, compressedRows_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, stats_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, errorInfo_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse)) {
        return super.equals(obj);
      }
      org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse other = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse) obj;

      boolean result = true;
      result = result && (hasCompressedRows() == other.hasCompressedRows());
      if (hasCompressedRows()) {
        result = result && getCompressedRows()
            .equals(other.getCompressedRows());
      }
      result = result && (hasStats() == other.hasStats());
      if (hasStats()) {
        result = result && getStats()
            .equals(other.getStats());
      }
      result = result && (hasErrorInfo() == other.hasErrorInfo());
      if (hasErrorInfo()) {
        result = result && getErrorInfo()
            .equals(other.getErrorInfo());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasCompressedRows()) {
        hash = (37 * hash) + COMPRESSEDROWS_FIELD_NUMBER;
        hash = (53 * hash) + getCompressedRows().hashCode();
      }
      if (hasStats()) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStats().hashCode();
      }
      if (hasErrorInfo()) {
        hash = (37 * hash) + ERRORINFO_FIELD_NUMBER;
        hash = (53 * hash) + getErrorInfo().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CubeVisitResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.class, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Builder.class);
      }

      // Construct using org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getStatsFieldBuilder();
          getErrorInfoFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        compressedRows_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (statsBuilder_ == null) {
          stats_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance();
        } else {
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (errorInfoBuilder_ == null) {
          errorInfo_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance();
        } else {
          errorInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.internal_static_CubeVisitResponse_descriptor;
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse getDefaultInstanceForType() {
        return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance();
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse build() {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse buildPartial() {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse result = new org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.compressedRows_ = compressedRows_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (statsBuilder_ == null) {
          result.stats_ = stats_;
        } else {
          result.stats_ = statsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (errorInfoBuilder_ == null) {
          result.errorInfo_ = errorInfo_;
        } else {
          result.errorInfo_ = errorInfoBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse) {
          return mergeFrom((org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse other) {
        if (other == org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance()) return this;
        if (other.hasCompressedRows()) {
          setCompressedRows(other.getCompressedRows());
        }
        if (other.hasStats()) {
          mergeStats(other.getStats());
        }
        if (other.hasErrorInfo()) {
          mergeErrorInfo(other.getErrorInfo());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasCompressedRows()) {
          
          return false;
        }
        if (!hasStats()) {
          
          return false;
        }
        if (hasErrorInfo()) {
          if (!getErrorInfo().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes compressedRows = 1;
      private com.google.protobuf.ByteString compressedRows_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes compressedRows = 1;</code>
       */
      public boolean hasCompressedRows() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes compressedRows = 1;</code>
       */
      public com.google.protobuf.ByteString getCompressedRows() {
        return compressedRows_;
      }
      /**
       * <code>required bytes compressedRows = 1;</code>
       */
      public Builder setCompressedRows(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        compressedRows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes compressedRows = 1;</code>
       */
      public Builder clearCompressedRows() {
        bitField0_ = (bitField0_ & ~0x00000001);
        compressedRows_ = getDefaultInstance().getCompressedRows();
        onChanged();
        return this;
      }

      // required .CubeVisitResponse.Stats stats = 2;
      private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats stats_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder> statsBuilder_;
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public boolean hasStats() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats getStats() {
        if (statsBuilder_ == null) {
          return stats_;
        } else {
          return statsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public Builder setStats(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stats_ = value;
          onChanged();
        } else {
          statsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public Builder setStats(
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder builderForValue) {
        if (statsBuilder_ == null) {
          stats_ = builderForValue.build();
          onChanged();
        } else {
          statsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public Builder mergeStats(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats value) {
        if (statsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              stats_ != org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance()) {
            stats_ =
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.newBuilder(stats_).mergeFrom(value).buildPartial();
          } else {
            stats_ = value;
          }
          onChanged();
        } else {
          statsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public Builder clearStats() {
        if (statsBuilder_ == null) {
          stats_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.getDefaultInstance();
          onChanged();
        } else {
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder getStatsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getStatsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder getStatsOrBuilder() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilder();
        } else {
          return stats_;
        }
      }
      /**
       * <code>required .CubeVisitResponse.Stats stats = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder> 
          getStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.Stats.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder>(
                  stats_,
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      // optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
      private org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo errorInfo_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder> errorInfoBuilder_;
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public boolean hasErrorInfo() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo getErrorInfo() {
        if (errorInfoBuilder_ == null) {
          return errorInfo_;
        } else {
          return errorInfoBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public Builder setErrorInfo(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo value) {
        if (errorInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          errorInfo_ = value;
          onChanged();
        } else {
          errorInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public Builder setErrorInfo(
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder builderForValue) {
        if (errorInfoBuilder_ == null) {
          errorInfo_ = builderForValue.build();
          onChanged();
        } else {
          errorInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public Builder mergeErrorInfo(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo value) {
        if (errorInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              errorInfo_ != org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance()) {
            errorInfo_ =
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.newBuilder(errorInfo_).mergeFrom(value).buildPartial();
          } else {
            errorInfo_ = value;
          }
          onChanged();
        } else {
          errorInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public Builder clearErrorInfo() {
        if (errorInfoBuilder_ == null) {
          errorInfo_ = org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.getDefaultInstance();
          onChanged();
        } else {
          errorInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder getErrorInfoBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getErrorInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder getErrorInfoOrBuilder() {
        if (errorInfoBuilder_ != null) {
          return errorInfoBuilder_.getMessageOrBuilder();
        } else {
          return errorInfo_;
        }
      }
      /**
       * <code>optional .CubeVisitResponse.ErrorInfo errorInfo = 3;</code>
       *
       * <pre>
       * should be set when stats.normalComplete == false
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder> 
          getErrorInfoFieldBuilder() {
        if (errorInfoBuilder_ == null) {
          errorInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder, org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder>(
                  errorInfo_,
                  getParentForChildren(),
                  isClean());
          errorInfo_ = null;
        }
        return errorInfoBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CubeVisitResponse)
    }

    static {
      defaultInstance = new CubeVisitResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CubeVisitResponse)
  }

  /**
   * Protobuf service {@code CubeVisitService}
   */
  public static abstract class CubeVisitService
      implements com.google.protobuf.Service {
    protected CubeVisitService() {}

    public interface Interface {
      /**
       * <code>rpc visitCube(.CubeVisitRequest) returns (.CubeVisitResponse);</code>
       */
      public abstract void visitCube(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request,
          com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse> done);

    }

    public static com.google.protobuf.Service newReflectiveService(
        final Interface impl) {
      return new CubeVisitService() {
        @java.lang.Override
        public  void visitCube(
            com.google.protobuf.RpcController controller,
            org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request,
            com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse> done) {
          impl.visitCube(controller, request, done);
        }

      };
    }

    public static com.google.protobuf.BlockingService
        newReflectiveBlockingService(final BlockingInterface impl) {
      return new com.google.protobuf.BlockingService() {
        public final com.google.protobuf.Descriptors.ServiceDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }

        public final com.google.protobuf.Message callBlockingMethod(
            com.google.protobuf.Descriptors.MethodDescriptor method,
            com.google.protobuf.RpcController controller,
            com.google.protobuf.Message request)
            throws com.google.protobuf.ServiceException {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.callBlockingMethod() given method descriptor for " +
              "wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return impl.visitCube(controller, (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest)request);
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getRequestPrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getRequestPrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getResponsePrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getResponsePrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

      };
    }

    /**
     * <code>rpc visitCube(.CubeVisitRequest) returns (.CubeVisitResponse);</code>
     */
    public abstract void visitCube(
        com.google.protobuf.RpcController controller,
        org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request,
        com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse> done);

    public static final
        com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.getDescriptor().getServices().get(0);
    }
    public final com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }

    public final void callMethod(
        com.google.protobuf.Descriptors.MethodDescriptor method,
        com.google.protobuf.RpcController controller,
        com.google.protobuf.Message request,
        com.google.protobuf.RpcCallback<
          com.google.protobuf.Message> done) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.callMethod() given method descriptor for wrong " +
          "service type.");
      }
      switch(method.getIndex()) {
        case 0:
          this.visitCube(controller, (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest)request,
            com.google.protobuf.RpcUtil.<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse>specializeCallback(
              done));
          return;
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getRequestPrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getRequestPrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getResponsePrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getResponsePrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public static Stub newStub(
        com.google.protobuf.RpcChannel channel) {
      return new Stub(channel);
    }

    public static final class Stub extends org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitService implements Interface {
      private Stub(com.google.protobuf.RpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.RpcChannel channel;

      public com.google.protobuf.RpcChannel getChannel() {
        return channel;
      }

      public  void visitCube(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request,
          com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse> done) {
        channel.callMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance(),
          com.google.protobuf.RpcUtil.generalizeCallback(
            done,
            org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.class,
            org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance()));
      }
    }

    public static BlockingInterface newBlockingStub(
        com.google.protobuf.BlockingRpcChannel channel) {
      return new BlockingStub(channel);
    }

    public interface BlockingInterface {
      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse visitCube(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request)
          throws com.google.protobuf.ServiceException;
    }

    private static final class BlockingStub implements BlockingInterface {
      private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.BlockingRpcChannel channel;

      public org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse visitCube(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitRequest request)
          throws com.google.protobuf.ServiceException {
        return (org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse) channel.callBlockingMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.getDefaultInstance());
      }

    }

    // @@protoc_insertion_point(class_scope:CubeVisitService)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CubeVisitRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CubeVisitRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CubeVisitRequest_IntList_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CubeVisitRequest_IntList_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CubeVisitResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CubeVisitResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CubeVisitResponse_Stats_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CubeVisitResponse_Stats_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CubeVisitResponse_ErrorInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CubeVisitResponse_ErrorInfo_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\npstorage-hbase/src/main/java/org/apache" +
      "/kylin/storage/hbase/cube/v2/coprocessor" +
      "/endpoint/protobuf/CubeVisit.proto\"\246\002\n\020C" +
      "ubeVisitRequest\022\025\n\rgtScanRequest\030\001 \002(\014\022\024" +
      "\n\014hbaseRawScan\030\002 \002(\014\022\032\n\022rowkeyPreambleSi" +
      "ze\030\003 \002(\005\0223\n\020hbaseColumnsToGT\030\004 \003(\0132\031.Cub" +
      "eVisitRequest.IntList\022\027\n\017kylinProperties" +
      "\030\005 \002(\t\022\017\n\007queryId\030\006 \001(\t\022\032\n\014spillEnabled\030" +
      "\007 \001(\010:\004true\022\024\n\014maxScanBytes\030\010 \001(\003\022\037\n\020isE" +
      "xactAggregate\030\t \001(\010:\005false\032\027\n\007IntList\022\014\n",
      "\004ints\030\001 \003(\005\"\305\004\n\021CubeVisitResponse\022\026\n\016com" +
      "pressedRows\030\001 \002(\014\022\'\n\005stats\030\002 \002(\0132\030.CubeV" +
      "isitResponse.Stats\022/\n\terrorInfo\030\003 \001(\0132\034." +
      "CubeVisitResponse.ErrorInfo\032\252\002\n\005Stats\022\030\n" +
      "\020serviceStartTime\030\001 \001(\003\022\026\n\016serviceEndTim" +
      "e\030\002 \001(\003\022\027\n\017scannedRowCount\030\003 \001(\003\022\032\n\022aggr" +
      "egatedRowCount\030\004 \001(\003\022\025\n\rsystemCpuLoad\030\005 " +
      "\001(\001\022\036\n\026freePhysicalMemorySize\030\006 \001(\001\022\031\n\021f" +
      "reeSwapSpaceSize\030\007 \001(\001\022\020\n\010hostname\030\010 \001(\t" +
      "\022\016\n\006etcMsg\030\t \001(\t\022\026\n\016normalComplete\030\n \001(\005",
      "\022\024\n\014scannedBytes\030\013 \001(\003\022\030\n\020filteredRowCou" +
      "nt\030\014 \001(\003\032H\n\tErrorInfo\022*\n\004type\030\001 \002(\0162\034.Cu" +
      "beVisitResponse.ErrorType\022\017\n\007message\030\002 \002" +
      "(\t\"G\n\tErrorType\022\020\n\014UNKNOWN_TYPE\020\000\022\013\n\007TIM" +
      "EOUT\020\001\022\033\n\027RESOURCE_LIMIT_EXCEEDED\020\0022F\n\020C" +
      "ubeVisitService\0222\n\tvisitCube\022\021.CubeVisit" +
      "Request\032\022.CubeVisitResponseB`\nEorg.apach" +
      "e.kylin.storage.hbase.cube.v2.coprocesso" +
      "r.endpoint.generatedB\017CubeVisitProtosH\001\210" +
      "\001\001\240\001\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_CubeVisitRequest_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_CubeVisitRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CubeVisitRequest_descriptor,
              new java.lang.String[] { "GtScanRequest", "HbaseRawScan", "RowkeyPreambleSize", "HbaseColumnsToGT", "KylinProperties", "QueryId", "SpillEnabled", "MaxScanBytes", "IsExactAggregate", });
          internal_static_CubeVisitRequest_IntList_descriptor =
            internal_static_CubeVisitRequest_descriptor.getNestedTypes().get(0);
          internal_static_CubeVisitRequest_IntList_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CubeVisitRequest_IntList_descriptor,
              new java.lang.String[] { "Ints", });
          internal_static_CubeVisitResponse_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_CubeVisitResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CubeVisitResponse_descriptor,
              new java.lang.String[] { "CompressedRows", "Stats", "ErrorInfo", });
          internal_static_CubeVisitResponse_Stats_descriptor =
            internal_static_CubeVisitResponse_descriptor.getNestedTypes().get(0);
          internal_static_CubeVisitResponse_Stats_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CubeVisitResponse_Stats_descriptor,
              new java.lang.String[] { "ServiceStartTime", "ServiceEndTime", "ScannedRowCount", "AggregatedRowCount", "SystemCpuLoad", "FreePhysicalMemorySize", "FreeSwapSpaceSize", "Hostname", "EtcMsg", "NormalComplete", "ScannedBytes", "FilteredRowCount", });
          internal_static_CubeVisitResponse_ErrorInfo_descriptor =
            internal_static_CubeVisitResponse_descriptor.getNestedTypes().get(1);
          internal_static_CubeVisitResponse_ErrorInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CubeVisitResponse_ErrorInfo_descriptor,
              new java.lang.String[] { "Type", "Message", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
