// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: greptime/v1/region/server.proto

package io.greptime.v1.region;

public final class Server {
  private Server() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface RegionRequestHeaderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.RegionRequestHeader)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    int getTracingContextCount();
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    boolean containsTracingContext(
        java.lang.String key);
    /**
     * Use {@link #getTracingContextMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getTracingContext();
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getTracingContextMap();
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */

    /* nullable */
java.lang.String getTracingContextOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */

    java.lang.String getTracingContextOrThrow(
        java.lang.String key);

    /**
     * <pre>
     * DB Name of request, tracking only
     * </pre>
     *
     * <code>string dbname = 3;</code>
     * @return The dbname.
     */
    java.lang.String getDbname();
    /**
     * <pre>
     * DB Name of request, tracking only
     * </pre>
     *
     * <code>string dbname = 3;</code>
     * @return The bytes for dbname.
     */
    com.google.protobuf.ByteString
        getDbnameBytes();

    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     * @return Whether the queryContext field is set.
     */
    boolean hasQueryContext();
    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     * @return The queryContext.
     */
    io.greptime.v1.Common.QueryContext getQueryContext();
    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     */
    io.greptime.v1.Common.QueryContextOrBuilder getQueryContextOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.region.RegionRequestHeader}
   */
  public static final class RegionRequestHeader extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.RegionRequestHeader)
      RegionRequestHeaderOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegionRequestHeader.newBuilder() to construct.
    private RegionRequestHeader(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RegionRequestHeader() {
      dbname_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegionRequestHeader();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RegionRequestHeader(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              dbname_ = s;
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                tracingContext_ = com.google.protobuf.MapField.newMapField(
                    TracingContextDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
              tracingContext__ = input.readMessage(
                  TracingContextDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              tracingContext_.getMutableMap().put(
                  tracingContext__.getKey(), tracingContext__.getValue());
              break;
            }
            case 50: {
              io.greptime.v1.Common.QueryContext.Builder subBuilder = null;
              if (queryContext_ != null) {
                subBuilder = queryContext_.toBuilder();
              }
              queryContext_ = input.readMessage(io.greptime.v1.Common.QueryContext.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(queryContext_);
                queryContext_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 5:
          return internalGetTracingContext();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.RegionRequestHeader.class, io.greptime.v1.region.Server.RegionRequestHeader.Builder.class);
    }

    public static final int TRACING_CONTEXT_FIELD_NUMBER = 5;
    private static final class TracingContextDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> tracingContext_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetTracingContext() {
      if (tracingContext_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            TracingContextDefaultEntryHolder.defaultEntry);
      }
      return tracingContext_;
    }

    public int getTracingContextCount() {
      return internalGetTracingContext().getMap().size();
    }
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */

    @java.lang.Override
    public boolean containsTracingContext(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetTracingContext().getMap().containsKey(key);
    }
    /**
     * Use {@link #getTracingContextMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getTracingContext() {
      return getTracingContextMap();
    }
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getTracingContextMap() {
      return internalGetTracingContext().getMap();
    }
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    @java.lang.Override

    public java.lang.String getTracingContextOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetTracingContext().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Encoded trace_id &amp; span_id, follow the w3c Trace Context
     * https://www.w3.org/TR/trace-context/#header-name
     * </pre>
     *
     * <code>map&lt;string, string&gt; tracing_context = 5;</code>
     */
    @java.lang.Override

    public java.lang.String getTracingContextOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetTracingContext().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int DBNAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object dbname_;
    /**
     * <pre>
     * DB Name of request, tracking only
     * </pre>
     *
     * <code>string dbname = 3;</code>
     * @return The dbname.
     */
    @java.lang.Override
    public java.lang.String getDbname() {
      java.lang.Object ref = dbname_;
      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();
        dbname_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * DB Name of request, tracking only
     * </pre>
     *
     * <code>string dbname = 3;</code>
     * @return The bytes for dbname.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDbnameBytes() {
      java.lang.Object ref = dbname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        dbname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int QUERY_CONTEXT_FIELD_NUMBER = 6;
    private io.greptime.v1.Common.QueryContext queryContext_;
    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     * @return Whether the queryContext field is set.
     */
    @java.lang.Override
    public boolean hasQueryContext() {
      return queryContext_ != null;
    }
    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     * @return The queryContext.
     */
    @java.lang.Override
    public io.greptime.v1.Common.QueryContext getQueryContext() {
      return queryContext_ == null ? io.greptime.v1.Common.QueryContext.getDefaultInstance() : queryContext_;
    }
    /**
     * <pre>
     * The contextual information of the query
     * </pre>
     *
     * <code>.greptime.v1.QueryContext query_context = 6;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Common.QueryContextOrBuilder getQueryContextOrBuilder() {
      return getQueryContext();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dbname_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, dbname_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetTracingContext(),
          TracingContextDefaultEntryHolder.defaultEntry,
          5);
      if (queryContext_ != null) {
        output.writeMessage(6, getQueryContext());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dbname_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, dbname_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetTracingContext().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        tracingContext__ = TracingContextDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, tracingContext__);
      }
      if (queryContext_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getQueryContext());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.RegionRequestHeader)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.RegionRequestHeader other = (io.greptime.v1.region.Server.RegionRequestHeader) obj;

      if (!internalGetTracingContext().equals(
          other.internalGetTracingContext())) return false;
      if (!getDbname()
          .equals(other.getDbname())) return false;
      if (hasQueryContext() != other.hasQueryContext()) return false;
      if (hasQueryContext()) {
        if (!getQueryContext()
            .equals(other.getQueryContext())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (!internalGetTracingContext().getMap().isEmpty()) {
        hash = (37 * hash) + TRACING_CONTEXT_FIELD_NUMBER;
        hash = (53 * hash) + internalGetTracingContext().hashCode();
      }
      hash = (37 * hash) + DBNAME_FIELD_NUMBER;
      hash = (53 * hash) + getDbname().hashCode();
      if (hasQueryContext()) {
        hash = (37 * hash) + QUERY_CONTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getQueryContext().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequestHeader parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.RegionRequestHeader prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.RegionRequestHeader}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.RegionRequestHeader)
        io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 5:
            return internalGetTracingContext();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 5:
            return internalGetMutableTracingContext();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.RegionRequestHeader.class, io.greptime.v1.region.Server.RegionRequestHeader.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.RegionRequestHeader.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        internalGetMutableTracingContext().clear();
        dbname_ = "";

        if (queryContextBuilder_ == null) {
          queryContext_ = null;
        } else {
          queryContext_ = null;
          queryContextBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequestHeader_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequestHeader getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequestHeader build() {
        io.greptime.v1.region.Server.RegionRequestHeader result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequestHeader buildPartial() {
        io.greptime.v1.region.Server.RegionRequestHeader result = new io.greptime.v1.region.Server.RegionRequestHeader(this);
        int from_bitField0_ = bitField0_;
        result.tracingContext_ = internalGetTracingContext();
        result.tracingContext_.makeImmutable();
        result.dbname_ = dbname_;
        if (queryContextBuilder_ == null) {
          result.queryContext_ = queryContext_;
        } else {
          result.queryContext_ = queryContextBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.RegionRequestHeader) {
          return mergeFrom((io.greptime.v1.region.Server.RegionRequestHeader)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.RegionRequestHeader other) {
        if (other == io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance()) return this;
        internalGetMutableTracingContext().mergeFrom(
            other.internalGetTracingContext());
        if (!other.getDbname().isEmpty()) {
          dbname_ = other.dbname_;
          onChanged();
        }
        if (other.hasQueryContext()) {
          mergeQueryContext(other.getQueryContext());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.RegionRequestHeader parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.RegionRequestHeader) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> tracingContext_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetTracingContext() {
        if (tracingContext_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              TracingContextDefaultEntryHolder.defaultEntry);
        }
        return tracingContext_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableTracingContext() {
        onChanged();;
        if (tracingContext_ == null) {
          tracingContext_ = com.google.protobuf.MapField.newMapField(
              TracingContextDefaultEntryHolder.defaultEntry);
        }
        if (!tracingContext_.isMutable()) {
          tracingContext_ = tracingContext_.copy();
        }
        return tracingContext_;
      }

      public int getTracingContextCount() {
        return internalGetTracingContext().getMap().size();
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */

      @java.lang.Override
      public boolean containsTracingContext(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetTracingContext().getMap().containsKey(key);
      }
      /**
       * Use {@link #getTracingContextMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getTracingContext() {
        return getTracingContextMap();
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, java.lang.String> getTracingContextMap() {
        return internalGetTracingContext().getMap();
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */
      @java.lang.Override

      public java.lang.String getTracingContextOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetTracingContext().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */
      @java.lang.Override

      public java.lang.String getTracingContextOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetTracingContext().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearTracingContext() {
        internalGetMutableTracingContext().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */

      public Builder removeTracingContext(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableTracingContext().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableTracingContext() {
        return internalGetMutableTracingContext().getMutableMap();
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */
      public Builder putTracingContext(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableTracingContext().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <pre>
       * Encoded trace_id &amp; span_id, follow the w3c Trace Context
       * https://www.w3.org/TR/trace-context/#header-name
       * </pre>
       *
       * <code>map&lt;string, string&gt; tracing_context = 5;</code>
       */

      public Builder putAllTracingContext(
          java.util.Map<java.lang.String, java.lang.String> values) {
        internalGetMutableTracingContext().getMutableMap()
            .putAll(values);
        return this;
      }

      private java.lang.Object dbname_ = "";
      /**
       * <pre>
       * DB Name of request, tracking only
       * </pre>
       *
       * <code>string dbname = 3;</code>
       * @return The dbname.
       */
      public java.lang.String getDbname() {
        java.lang.Object ref = dbname_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          dbname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * DB Name of request, tracking only
       * </pre>
       *
       * <code>string dbname = 3;</code>
       * @return The bytes for dbname.
       */
      public com.google.protobuf.ByteString
          getDbnameBytes() {
        java.lang.Object ref = dbname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dbname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * DB Name of request, tracking only
       * </pre>
       *
       * <code>string dbname = 3;</code>
       * @param value The dbname to set.
       * @return This builder for chaining.
       */
      public Builder setDbname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        dbname_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * DB Name of request, tracking only
       * </pre>
       *
       * <code>string dbname = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearDbname() {
        
        dbname_ = getDefaultInstance().getDbname();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * DB Name of request, tracking only
       * </pre>
       *
       * <code>string dbname = 3;</code>
       * @param value The bytes for dbname to set.
       * @return This builder for chaining.
       */
      public Builder setDbnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        dbname_ = value;
        onChanged();
        return this;
      }

      private io.greptime.v1.Common.QueryContext queryContext_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.QueryContext, io.greptime.v1.Common.QueryContext.Builder, io.greptime.v1.Common.QueryContextOrBuilder> queryContextBuilder_;
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       * @return Whether the queryContext field is set.
       */
      public boolean hasQueryContext() {
        return queryContextBuilder_ != null || queryContext_ != null;
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       * @return The queryContext.
       */
      public io.greptime.v1.Common.QueryContext getQueryContext() {
        if (queryContextBuilder_ == null) {
          return queryContext_ == null ? io.greptime.v1.Common.QueryContext.getDefaultInstance() : queryContext_;
        } else {
          return queryContextBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public Builder setQueryContext(io.greptime.v1.Common.QueryContext value) {
        if (queryContextBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          queryContext_ = value;
          onChanged();
        } else {
          queryContextBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public Builder setQueryContext(
          io.greptime.v1.Common.QueryContext.Builder builderForValue) {
        if (queryContextBuilder_ == null) {
          queryContext_ = builderForValue.build();
          onChanged();
        } else {
          queryContextBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public Builder mergeQueryContext(io.greptime.v1.Common.QueryContext value) {
        if (queryContextBuilder_ == null) {
          if (queryContext_ != null) {
            queryContext_ =
              io.greptime.v1.Common.QueryContext.newBuilder(queryContext_).mergeFrom(value).buildPartial();
          } else {
            queryContext_ = value;
          }
          onChanged();
        } else {
          queryContextBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public Builder clearQueryContext() {
        if (queryContextBuilder_ == null) {
          queryContext_ = null;
          onChanged();
        } else {
          queryContext_ = null;
          queryContextBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public io.greptime.v1.Common.QueryContext.Builder getQueryContextBuilder() {
        
        onChanged();
        return getQueryContextFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      public io.greptime.v1.Common.QueryContextOrBuilder getQueryContextOrBuilder() {
        if (queryContextBuilder_ != null) {
          return queryContextBuilder_.getMessageOrBuilder();
        } else {
          return queryContext_ == null ?
              io.greptime.v1.Common.QueryContext.getDefaultInstance() : queryContext_;
        }
      }
      /**
       * <pre>
       * The contextual information of the query
       * </pre>
       *
       * <code>.greptime.v1.QueryContext query_context = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.QueryContext, io.greptime.v1.Common.QueryContext.Builder, io.greptime.v1.Common.QueryContextOrBuilder> 
          getQueryContextFieldBuilder() {
        if (queryContextBuilder_ == null) {
          queryContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Common.QueryContext, io.greptime.v1.Common.QueryContext.Builder, io.greptime.v1.Common.QueryContextOrBuilder>(
                  getQueryContext(),
                  getParentForChildren(),
                  isClean());
          queryContext_ = null;
        }
        return queryContextBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.RegionRequestHeader)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionRequestHeader)
    private static final io.greptime.v1.region.Server.RegionRequestHeader DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.RegionRequestHeader();
    }

    public static io.greptime.v1.region.Server.RegionRequestHeader getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RegionRequestHeader>
        PARSER = new com.google.protobuf.AbstractParser<RegionRequestHeader>() {
      @java.lang.Override
      public RegionRequestHeader parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RegionRequestHeader(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RegionRequestHeader> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequestHeader getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegionRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.RegionRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return The header.
     */
    io.greptime.v1.region.Server.RegionRequestHeader getHeader();
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     */
    io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder();

    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     * @return Whether the inserts field is set.
     */
    boolean hasInserts();
    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     * @return The inserts.
     */
    io.greptime.v1.region.Server.InsertRequests getInserts();
    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     */
    io.greptime.v1.region.Server.InsertRequestsOrBuilder getInsertsOrBuilder();

    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     * @return Whether the deletes field is set.
     */
    boolean hasDeletes();
    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     * @return The deletes.
     */
    io.greptime.v1.region.Server.DeleteRequests getDeletes();
    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     */
    io.greptime.v1.region.Server.DeleteRequestsOrBuilder getDeletesOrBuilder();

    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     * @return Whether the create field is set.
     */
    boolean hasCreate();
    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     * @return The create.
     */
    io.greptime.v1.region.Server.CreateRequest getCreate();
    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     */
    io.greptime.v1.region.Server.CreateRequestOrBuilder getCreateOrBuilder();

    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     * @return Whether the drop field is set.
     */
    boolean hasDrop();
    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     * @return The drop.
     */
    io.greptime.v1.region.Server.DropRequest getDrop();
    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     */
    io.greptime.v1.region.Server.DropRequestOrBuilder getDropOrBuilder();

    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     * @return Whether the open field is set.
     */
    boolean hasOpen();
    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     * @return The open.
     */
    io.greptime.v1.region.Server.OpenRequest getOpen();
    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     */
    io.greptime.v1.region.Server.OpenRequestOrBuilder getOpenOrBuilder();

    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     * @return Whether the close field is set.
     */
    boolean hasClose();
    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     * @return The close.
     */
    io.greptime.v1.region.Server.CloseRequest getClose();
    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     */
    io.greptime.v1.region.Server.CloseRequestOrBuilder getCloseOrBuilder();

    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     * @return Whether the alter field is set.
     */
    boolean hasAlter();
    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     * @return The alter.
     */
    io.greptime.v1.region.Server.AlterRequest getAlter();
    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     */
    io.greptime.v1.region.Server.AlterRequestOrBuilder getAlterOrBuilder();

    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     * @return Whether the flush field is set.
     */
    boolean hasFlush();
    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     * @return The flush.
     */
    io.greptime.v1.region.Server.FlushRequest getFlush();
    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     */
    io.greptime.v1.region.Server.FlushRequestOrBuilder getFlushOrBuilder();

    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     * @return Whether the compact field is set.
     */
    boolean hasCompact();
    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     * @return The compact.
     */
    io.greptime.v1.region.Server.CompactRequest getCompact();
    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     */
    io.greptime.v1.region.Server.CompactRequestOrBuilder getCompactOrBuilder();

    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     * @return Whether the truncate field is set.
     */
    boolean hasTruncate();
    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     * @return The truncate.
     */
    io.greptime.v1.region.Server.TruncateRequest getTruncate();
    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     */
    io.greptime.v1.region.Server.TruncateRequestOrBuilder getTruncateOrBuilder();

    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     * @return Whether the creates field is set.
     */
    boolean hasCreates();
    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     * @return The creates.
     */
    io.greptime.v1.region.Server.CreateRequests getCreates();
    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     */
    io.greptime.v1.region.Server.CreateRequestsOrBuilder getCreatesOrBuilder();

    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     * @return Whether the drops field is set.
     */
    boolean hasDrops();
    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     * @return The drops.
     */
    io.greptime.v1.region.Server.DropRequests getDrops();
    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     */
    io.greptime.v1.region.Server.DropRequestsOrBuilder getDropsOrBuilder();

    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     * @return Whether the alters field is set.
     */
    boolean hasAlters();
    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     * @return The alters.
     */
    io.greptime.v1.region.Server.AlterRequests getAlters();
    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     */
    io.greptime.v1.region.Server.AlterRequestsOrBuilder getAltersOrBuilder();

    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     * @return Whether the bulkInsert field is set.
     */
    boolean hasBulkInsert();
    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     * @return The bulkInsert.
     */
    io.greptime.v1.region.Server.BulkInsertRequest getBulkInsert();
    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     */
    io.greptime.v1.region.Server.BulkInsertRequestOrBuilder getBulkInsertOrBuilder();

    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     * @return Whether the sync field is set.
     */
    boolean hasSync();
    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     * @return The sync.
     */
    io.greptime.v1.region.Server.SyncRequest getSync();
    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     */
    io.greptime.v1.region.Server.SyncRequestOrBuilder getSyncOrBuilder();

    public io.greptime.v1.region.Server.RegionRequest.BodyCase getBodyCase();
  }
  /**
   * Protobuf type {@code greptime.v1.region.RegionRequest}
   */
  public static final class RegionRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.RegionRequest)
      RegionRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegionRequest.newBuilder() to construct.
    private RegionRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RegionRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegionRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RegionRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.region.Server.RegionRequestHeader.Builder subBuilder = null;
              if (header_ != null) {
                subBuilder = header_.toBuilder();
              }
              header_ = input.readMessage(io.greptime.v1.region.Server.RegionRequestHeader.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(header_);
                header_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              io.greptime.v1.region.Server.InsertRequests.Builder subBuilder = null;
              if (bodyCase_ == 3) {
                subBuilder = ((io.greptime.v1.region.Server.InsertRequests) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.InsertRequests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.InsertRequests) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 3;
              break;
            }
            case 34: {
              io.greptime.v1.region.Server.DeleteRequests.Builder subBuilder = null;
              if (bodyCase_ == 4) {
                subBuilder = ((io.greptime.v1.region.Server.DeleteRequests) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.DeleteRequests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.DeleteRequests) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 4;
              break;
            }
            case 42: {
              io.greptime.v1.region.Server.CreateRequest.Builder subBuilder = null;
              if (bodyCase_ == 5) {
                subBuilder = ((io.greptime.v1.region.Server.CreateRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.CreateRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.CreateRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 5;
              break;
            }
            case 50: {
              io.greptime.v1.region.Server.DropRequest.Builder subBuilder = null;
              if (bodyCase_ == 6) {
                subBuilder = ((io.greptime.v1.region.Server.DropRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.DropRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.DropRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 6;
              break;
            }
            case 58: {
              io.greptime.v1.region.Server.OpenRequest.Builder subBuilder = null;
              if (bodyCase_ == 7) {
                subBuilder = ((io.greptime.v1.region.Server.OpenRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.OpenRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.OpenRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 7;
              break;
            }
            case 66: {
              io.greptime.v1.region.Server.CloseRequest.Builder subBuilder = null;
              if (bodyCase_ == 8) {
                subBuilder = ((io.greptime.v1.region.Server.CloseRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.CloseRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.CloseRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 8;
              break;
            }
            case 74: {
              io.greptime.v1.region.Server.AlterRequest.Builder subBuilder = null;
              if (bodyCase_ == 9) {
                subBuilder = ((io.greptime.v1.region.Server.AlterRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.AlterRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.AlterRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 9;
              break;
            }
            case 82: {
              io.greptime.v1.region.Server.FlushRequest.Builder subBuilder = null;
              if (bodyCase_ == 10) {
                subBuilder = ((io.greptime.v1.region.Server.FlushRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.FlushRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.FlushRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 10;
              break;
            }
            case 90: {
              io.greptime.v1.region.Server.CompactRequest.Builder subBuilder = null;
              if (bodyCase_ == 11) {
                subBuilder = ((io.greptime.v1.region.Server.CompactRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.CompactRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.CompactRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 11;
              break;
            }
            case 98: {
              io.greptime.v1.region.Server.TruncateRequest.Builder subBuilder = null;
              if (bodyCase_ == 12) {
                subBuilder = ((io.greptime.v1.region.Server.TruncateRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.TruncateRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.TruncateRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 12;
              break;
            }
            case 106: {
              io.greptime.v1.region.Server.CreateRequests.Builder subBuilder = null;
              if (bodyCase_ == 13) {
                subBuilder = ((io.greptime.v1.region.Server.CreateRequests) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.CreateRequests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.CreateRequests) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 13;
              break;
            }
            case 114: {
              io.greptime.v1.region.Server.DropRequests.Builder subBuilder = null;
              if (bodyCase_ == 14) {
                subBuilder = ((io.greptime.v1.region.Server.DropRequests) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.DropRequests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.DropRequests) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 14;
              break;
            }
            case 122: {
              io.greptime.v1.region.Server.AlterRequests.Builder subBuilder = null;
              if (bodyCase_ == 15) {
                subBuilder = ((io.greptime.v1.region.Server.AlterRequests) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.AlterRequests.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.AlterRequests) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 15;
              break;
            }
            case 130: {
              io.greptime.v1.region.Server.BulkInsertRequest.Builder subBuilder = null;
              if (bodyCase_ == 16) {
                subBuilder = ((io.greptime.v1.region.Server.BulkInsertRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.BulkInsertRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.BulkInsertRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 16;
              break;
            }
            case 138: {
              io.greptime.v1.region.Server.SyncRequest.Builder subBuilder = null;
              if (bodyCase_ == 17) {
                subBuilder = ((io.greptime.v1.region.Server.SyncRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.SyncRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.SyncRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 17;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.RegionRequest.class, io.greptime.v1.region.Server.RegionRequest.Builder.class);
    }

    private int bodyCase_ = 0;
    private java.lang.Object body_;
    public enum BodyCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      INSERTS(3),
      DELETES(4),
      CREATE(5),
      DROP(6),
      OPEN(7),
      CLOSE(8),
      ALTER(9),
      FLUSH(10),
      COMPACT(11),
      TRUNCATE(12),
      CREATES(13),
      DROPS(14),
      ALTERS(15),
      BULK_INSERT(16),
      SYNC(17),
      BODY_NOT_SET(0);
      private final int value;
      private BodyCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static BodyCase valueOf(int value) {
        return forNumber(value);
      }

      public static BodyCase forNumber(int value) {
        switch (value) {
          case 3: return INSERTS;
          case 4: return DELETES;
          case 5: return CREATE;
          case 6: return DROP;
          case 7: return OPEN;
          case 8: return CLOSE;
          case 9: return ALTER;
          case 10: return FLUSH;
          case 11: return COMPACT;
          case 12: return TRUNCATE;
          case 13: return CREATES;
          case 14: return DROPS;
          case 15: return ALTERS;
          case 16: return BULK_INSERT;
          case 17: return SYNC;
          case 0: return BODY_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public BodyCase
    getBodyCase() {
      return BodyCase.forNumber(
          bodyCase_);
    }

    public static final int HEADER_FIELD_NUMBER = 1;
    private io.greptime.v1.region.Server.RegionRequestHeader header_;
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return header_ != null;
    }
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return The header.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequestHeader getHeader() {
      return header_ == null ? io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
    }
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder() {
      return getHeader();
    }

    public static final int INSERTS_FIELD_NUMBER = 3;
    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     * @return Whether the inserts field is set.
     */
    @java.lang.Override
    public boolean hasInserts() {
      return bodyCase_ == 3;
    }
    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     * @return The inserts.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequests getInserts() {
      if (bodyCase_ == 3) {
         return (io.greptime.v1.region.Server.InsertRequests) body_;
      }
      return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequestsOrBuilder getInsertsOrBuilder() {
      if (bodyCase_ == 3) {
         return (io.greptime.v1.region.Server.InsertRequests) body_;
      }
      return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
    }

    public static final int DELETES_FIELD_NUMBER = 4;
    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     * @return Whether the deletes field is set.
     */
    @java.lang.Override
    public boolean hasDeletes() {
      return bodyCase_ == 4;
    }
    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     * @return The deletes.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequests getDeletes() {
      if (bodyCase_ == 4) {
         return (io.greptime.v1.region.Server.DeleteRequests) body_;
      }
      return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequestsOrBuilder getDeletesOrBuilder() {
      if (bodyCase_ == 4) {
         return (io.greptime.v1.region.Server.DeleteRequests) body_;
      }
      return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
    }

    public static final int CREATE_FIELD_NUMBER = 5;
    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     * @return Whether the create field is set.
     */
    @java.lang.Override
    public boolean hasCreate() {
      return bodyCase_ == 5;
    }
    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     * @return The create.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequest getCreate() {
      if (bodyCase_ == 5) {
         return (io.greptime.v1.region.Server.CreateRequest) body_;
      }
      return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.CreateRequest create = 5;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequestOrBuilder getCreateOrBuilder() {
      if (bodyCase_ == 5) {
         return (io.greptime.v1.region.Server.CreateRequest) body_;
      }
      return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
    }

    public static final int DROP_FIELD_NUMBER = 6;
    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     * @return Whether the drop field is set.
     */
    @java.lang.Override
    public boolean hasDrop() {
      return bodyCase_ == 6;
    }
    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     * @return The drop.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequest getDrop() {
      if (bodyCase_ == 6) {
         return (io.greptime.v1.region.Server.DropRequest) body_;
      }
      return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.DropRequest drop = 6;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequestOrBuilder getDropOrBuilder() {
      if (bodyCase_ == 6) {
         return (io.greptime.v1.region.Server.DropRequest) body_;
      }
      return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
    }

    public static final int OPEN_FIELD_NUMBER = 7;
    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     * @return Whether the open field is set.
     */
    @java.lang.Override
    public boolean hasOpen() {
      return bodyCase_ == 7;
    }
    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     * @return The open.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.OpenRequest getOpen() {
      if (bodyCase_ == 7) {
         return (io.greptime.v1.region.Server.OpenRequest) body_;
      }
      return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.OpenRequest open = 7;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.OpenRequestOrBuilder getOpenOrBuilder() {
      if (bodyCase_ == 7) {
         return (io.greptime.v1.region.Server.OpenRequest) body_;
      }
      return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
    }

    public static final int CLOSE_FIELD_NUMBER = 8;
    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     * @return Whether the close field is set.
     */
    @java.lang.Override
    public boolean hasClose() {
      return bodyCase_ == 8;
    }
    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     * @return The close.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CloseRequest getClose() {
      if (bodyCase_ == 8) {
         return (io.greptime.v1.region.Server.CloseRequest) body_;
      }
      return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.CloseRequest close = 8;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CloseRequestOrBuilder getCloseOrBuilder() {
      if (bodyCase_ == 8) {
         return (io.greptime.v1.region.Server.CloseRequest) body_;
      }
      return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
    }

    public static final int ALTER_FIELD_NUMBER = 9;
    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     * @return Whether the alter field is set.
     */
    @java.lang.Override
    public boolean hasAlter() {
      return bodyCase_ == 9;
    }
    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     * @return The alter.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequest getAlter() {
      if (bodyCase_ == 9) {
         return (io.greptime.v1.region.Server.AlterRequest) body_;
      }
      return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequestOrBuilder getAlterOrBuilder() {
      if (bodyCase_ == 9) {
         return (io.greptime.v1.region.Server.AlterRequest) body_;
      }
      return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
    }

    public static final int FLUSH_FIELD_NUMBER = 10;
    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     * @return Whether the flush field is set.
     */
    @java.lang.Override
    public boolean hasFlush() {
      return bodyCase_ == 10;
    }
    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     * @return The flush.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.FlushRequest getFlush() {
      if (bodyCase_ == 10) {
         return (io.greptime.v1.region.Server.FlushRequest) body_;
      }
      return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.FlushRequestOrBuilder getFlushOrBuilder() {
      if (bodyCase_ == 10) {
         return (io.greptime.v1.region.Server.FlushRequest) body_;
      }
      return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
    }

    public static final int COMPACT_FIELD_NUMBER = 11;
    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     * @return Whether the compact field is set.
     */
    @java.lang.Override
    public boolean hasCompact() {
      return bodyCase_ == 11;
    }
    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     * @return The compact.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CompactRequest getCompact() {
      if (bodyCase_ == 11) {
         return (io.greptime.v1.region.Server.CompactRequest) body_;
      }
      return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CompactRequestOrBuilder getCompactOrBuilder() {
      if (bodyCase_ == 11) {
         return (io.greptime.v1.region.Server.CompactRequest) body_;
      }
      return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
    }

    public static final int TRUNCATE_FIELD_NUMBER = 12;
    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     * @return Whether the truncate field is set.
     */
    @java.lang.Override
    public boolean hasTruncate() {
      return bodyCase_ == 12;
    }
    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     * @return The truncate.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.TruncateRequest getTruncate() {
      if (bodyCase_ == 12) {
         return (io.greptime.v1.region.Server.TruncateRequest) body_;
      }
      return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.TruncateRequestOrBuilder getTruncateOrBuilder() {
      if (bodyCase_ == 12) {
         return (io.greptime.v1.region.Server.TruncateRequest) body_;
      }
      return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
    }

    public static final int CREATES_FIELD_NUMBER = 13;
    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     * @return Whether the creates field is set.
     */
    @java.lang.Override
    public boolean hasCreates() {
      return bodyCase_ == 13;
    }
    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     * @return The creates.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequests getCreates() {
      if (bodyCase_ == 13) {
         return (io.greptime.v1.region.Server.CreateRequests) body_;
      }
      return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequestsOrBuilder getCreatesOrBuilder() {
      if (bodyCase_ == 13) {
         return (io.greptime.v1.region.Server.CreateRequests) body_;
      }
      return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
    }

    public static final int DROPS_FIELD_NUMBER = 14;
    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     * @return Whether the drops field is set.
     */
    @java.lang.Override
    public boolean hasDrops() {
      return bodyCase_ == 14;
    }
    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     * @return The drops.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequests getDrops() {
      if (bodyCase_ == 14) {
         return (io.greptime.v1.region.Server.DropRequests) body_;
      }
      return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.DropRequests drops = 14;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequestsOrBuilder getDropsOrBuilder() {
      if (bodyCase_ == 14) {
         return (io.greptime.v1.region.Server.DropRequests) body_;
      }
      return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
    }

    public static final int ALTERS_FIELD_NUMBER = 15;
    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     * @return Whether the alters field is set.
     */
    @java.lang.Override
    public boolean hasAlters() {
      return bodyCase_ == 15;
    }
    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     * @return The alters.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequests getAlters() {
      if (bodyCase_ == 15) {
         return (io.greptime.v1.region.Server.AlterRequests) body_;
      }
      return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequestsOrBuilder getAltersOrBuilder() {
      if (bodyCase_ == 15) {
         return (io.greptime.v1.region.Server.AlterRequests) body_;
      }
      return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
    }

    public static final int BULK_INSERT_FIELD_NUMBER = 16;
    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     * @return Whether the bulkInsert field is set.
     */
    @java.lang.Override
    public boolean hasBulkInsert() {
      return bodyCase_ == 16;
    }
    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     * @return The bulkInsert.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.BulkInsertRequest getBulkInsert() {
      if (bodyCase_ == 16) {
         return (io.greptime.v1.region.Server.BulkInsertRequest) body_;
      }
      return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.BulkInsertRequestOrBuilder getBulkInsertOrBuilder() {
      if (bodyCase_ == 16) {
         return (io.greptime.v1.region.Server.BulkInsertRequest) body_;
      }
      return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
    }

    public static final int SYNC_FIELD_NUMBER = 17;
    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     * @return Whether the sync field is set.
     */
    @java.lang.Override
    public boolean hasSync() {
      return bodyCase_ == 17;
    }
    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     * @return The sync.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.SyncRequest getSync() {
      if (bodyCase_ == 17) {
         return (io.greptime.v1.region.Server.SyncRequest) body_;
      }
      return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.SyncRequestOrBuilder getSyncOrBuilder() {
      if (bodyCase_ == 17) {
         return (io.greptime.v1.region.Server.SyncRequest) body_;
      }
      return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (header_ != null) {
        output.writeMessage(1, getHeader());
      }
      if (bodyCase_ == 3) {
        output.writeMessage(3, (io.greptime.v1.region.Server.InsertRequests) body_);
      }
      if (bodyCase_ == 4) {
        output.writeMessage(4, (io.greptime.v1.region.Server.DeleteRequests) body_);
      }
      if (bodyCase_ == 5) {
        output.writeMessage(5, (io.greptime.v1.region.Server.CreateRequest) body_);
      }
      if (bodyCase_ == 6) {
        output.writeMessage(6, (io.greptime.v1.region.Server.DropRequest) body_);
      }
      if (bodyCase_ == 7) {
        output.writeMessage(7, (io.greptime.v1.region.Server.OpenRequest) body_);
      }
      if (bodyCase_ == 8) {
        output.writeMessage(8, (io.greptime.v1.region.Server.CloseRequest) body_);
      }
      if (bodyCase_ == 9) {
        output.writeMessage(9, (io.greptime.v1.region.Server.AlterRequest) body_);
      }
      if (bodyCase_ == 10) {
        output.writeMessage(10, (io.greptime.v1.region.Server.FlushRequest) body_);
      }
      if (bodyCase_ == 11) {
        output.writeMessage(11, (io.greptime.v1.region.Server.CompactRequest) body_);
      }
      if (bodyCase_ == 12) {
        output.writeMessage(12, (io.greptime.v1.region.Server.TruncateRequest) body_);
      }
      if (bodyCase_ == 13) {
        output.writeMessage(13, (io.greptime.v1.region.Server.CreateRequests) body_);
      }
      if (bodyCase_ == 14) {
        output.writeMessage(14, (io.greptime.v1.region.Server.DropRequests) body_);
      }
      if (bodyCase_ == 15) {
        output.writeMessage(15, (io.greptime.v1.region.Server.AlterRequests) body_);
      }
      if (bodyCase_ == 16) {
        output.writeMessage(16, (io.greptime.v1.region.Server.BulkInsertRequest) body_);
      }
      if (bodyCase_ == 17) {
        output.writeMessage(17, (io.greptime.v1.region.Server.SyncRequest) body_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (header_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getHeader());
      }
      if (bodyCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (io.greptime.v1.region.Server.InsertRequests) body_);
      }
      if (bodyCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (io.greptime.v1.region.Server.DeleteRequests) body_);
      }
      if (bodyCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (io.greptime.v1.region.Server.CreateRequest) body_);
      }
      if (bodyCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (io.greptime.v1.region.Server.DropRequest) body_);
      }
      if (bodyCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (io.greptime.v1.region.Server.OpenRequest) body_);
      }
      if (bodyCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (io.greptime.v1.region.Server.CloseRequest) body_);
      }
      if (bodyCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (io.greptime.v1.region.Server.AlterRequest) body_);
      }
      if (bodyCase_ == 10) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, (io.greptime.v1.region.Server.FlushRequest) body_);
      }
      if (bodyCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (io.greptime.v1.region.Server.CompactRequest) body_);
      }
      if (bodyCase_ == 12) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, (io.greptime.v1.region.Server.TruncateRequest) body_);
      }
      if (bodyCase_ == 13) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, (io.greptime.v1.region.Server.CreateRequests) body_);
      }
      if (bodyCase_ == 14) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, (io.greptime.v1.region.Server.DropRequests) body_);
      }
      if (bodyCase_ == 15) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, (io.greptime.v1.region.Server.AlterRequests) body_);
      }
      if (bodyCase_ == 16) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, (io.greptime.v1.region.Server.BulkInsertRequest) body_);
      }
      if (bodyCase_ == 17) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, (io.greptime.v1.region.Server.SyncRequest) body_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.RegionRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.RegionRequest other = (io.greptime.v1.region.Server.RegionRequest) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (!getBodyCase().equals(other.getBodyCase())) return false;
      switch (bodyCase_) {
        case 3:
          if (!getInserts()
              .equals(other.getInserts())) return false;
          break;
        case 4:
          if (!getDeletes()
              .equals(other.getDeletes())) return false;
          break;
        case 5:
          if (!getCreate()
              .equals(other.getCreate())) return false;
          break;
        case 6:
          if (!getDrop()
              .equals(other.getDrop())) return false;
          break;
        case 7:
          if (!getOpen()
              .equals(other.getOpen())) return false;
          break;
        case 8:
          if (!getClose()
              .equals(other.getClose())) return false;
          break;
        case 9:
          if (!getAlter()
              .equals(other.getAlter())) return false;
          break;
        case 10:
          if (!getFlush()
              .equals(other.getFlush())) return false;
          break;
        case 11:
          if (!getCompact()
              .equals(other.getCompact())) return false;
          break;
        case 12:
          if (!getTruncate()
              .equals(other.getTruncate())) return false;
          break;
        case 13:
          if (!getCreates()
              .equals(other.getCreates())) return false;
          break;
        case 14:
          if (!getDrops()
              .equals(other.getDrops())) return false;
          break;
        case 15:
          if (!getAlters()
              .equals(other.getAlters())) return false;
          break;
        case 16:
          if (!getBulkInsert()
              .equals(other.getBulkInsert())) return false;
          break;
        case 17:
          if (!getSync()
              .equals(other.getSync())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      switch (bodyCase_) {
        case 3:
          hash = (37 * hash) + INSERTS_FIELD_NUMBER;
          hash = (53 * hash) + getInserts().hashCode();
          break;
        case 4:
          hash = (37 * hash) + DELETES_FIELD_NUMBER;
          hash = (53 * hash) + getDeletes().hashCode();
          break;
        case 5:
          hash = (37 * hash) + CREATE_FIELD_NUMBER;
          hash = (53 * hash) + getCreate().hashCode();
          break;
        case 6:
          hash = (37 * hash) + DROP_FIELD_NUMBER;
          hash = (53 * hash) + getDrop().hashCode();
          break;
        case 7:
          hash = (37 * hash) + OPEN_FIELD_NUMBER;
          hash = (53 * hash) + getOpen().hashCode();
          break;
        case 8:
          hash = (37 * hash) + CLOSE_FIELD_NUMBER;
          hash = (53 * hash) + getClose().hashCode();
          break;
        case 9:
          hash = (37 * hash) + ALTER_FIELD_NUMBER;
          hash = (53 * hash) + getAlter().hashCode();
          break;
        case 10:
          hash = (37 * hash) + FLUSH_FIELD_NUMBER;
          hash = (53 * hash) + getFlush().hashCode();
          break;
        case 11:
          hash = (37 * hash) + COMPACT_FIELD_NUMBER;
          hash = (53 * hash) + getCompact().hashCode();
          break;
        case 12:
          hash = (37 * hash) + TRUNCATE_FIELD_NUMBER;
          hash = (53 * hash) + getTruncate().hashCode();
          break;
        case 13:
          hash = (37 * hash) + CREATES_FIELD_NUMBER;
          hash = (53 * hash) + getCreates().hashCode();
          break;
        case 14:
          hash = (37 * hash) + DROPS_FIELD_NUMBER;
          hash = (53 * hash) + getDrops().hashCode();
          break;
        case 15:
          hash = (37 * hash) + ALTERS_FIELD_NUMBER;
          hash = (53 * hash) + getAlters().hashCode();
          break;
        case 16:
          hash = (37 * hash) + BULK_INSERT_FIELD_NUMBER;
          hash = (53 * hash) + getBulkInsert().hashCode();
          break;
        case 17:
          hash = (37 * hash) + SYNC_FIELD_NUMBER;
          hash = (53 * hash) + getSync().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.RegionRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.RegionRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.RegionRequest)
        io.greptime.v1.region.Server.RegionRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.RegionRequest.class, io.greptime.v1.region.Server.RegionRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.RegionRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (headerBuilder_ == null) {
          header_ = null;
        } else {
          header_ = null;
          headerBuilder_ = null;
        }
        bodyCase_ = 0;
        body_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.RegionRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequest build() {
        io.greptime.v1.region.Server.RegionRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionRequest buildPartial() {
        io.greptime.v1.region.Server.RegionRequest result = new io.greptime.v1.region.Server.RegionRequest(this);
        if (headerBuilder_ == null) {
          result.header_ = header_;
        } else {
          result.header_ = headerBuilder_.build();
        }
        if (bodyCase_ == 3) {
          if (insertsBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = insertsBuilder_.build();
          }
        }
        if (bodyCase_ == 4) {
          if (deletesBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = deletesBuilder_.build();
          }
        }
        if (bodyCase_ == 5) {
          if (createBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = createBuilder_.build();
          }
        }
        if (bodyCase_ == 6) {
          if (dropBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = dropBuilder_.build();
          }
        }
        if (bodyCase_ == 7) {
          if (openBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = openBuilder_.build();
          }
        }
        if (bodyCase_ == 8) {
          if (closeBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = closeBuilder_.build();
          }
        }
        if (bodyCase_ == 9) {
          if (alterBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = alterBuilder_.build();
          }
        }
        if (bodyCase_ == 10) {
          if (flushBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = flushBuilder_.build();
          }
        }
        if (bodyCase_ == 11) {
          if (compactBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = compactBuilder_.build();
          }
        }
        if (bodyCase_ == 12) {
          if (truncateBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = truncateBuilder_.build();
          }
        }
        if (bodyCase_ == 13) {
          if (createsBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = createsBuilder_.build();
          }
        }
        if (bodyCase_ == 14) {
          if (dropsBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = dropsBuilder_.build();
          }
        }
        if (bodyCase_ == 15) {
          if (altersBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = altersBuilder_.build();
          }
        }
        if (bodyCase_ == 16) {
          if (bulkInsertBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = bulkInsertBuilder_.build();
          }
        }
        if (bodyCase_ == 17) {
          if (syncBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = syncBuilder_.build();
          }
        }
        result.bodyCase_ = bodyCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.RegionRequest) {
          return mergeFrom((io.greptime.v1.region.Server.RegionRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.RegionRequest other) {
        if (other == io.greptime.v1.region.Server.RegionRequest.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        switch (other.getBodyCase()) {
          case INSERTS: {
            mergeInserts(other.getInserts());
            break;
          }
          case DELETES: {
            mergeDeletes(other.getDeletes());
            break;
          }
          case CREATE: {
            mergeCreate(other.getCreate());
            break;
          }
          case DROP: {
            mergeDrop(other.getDrop());
            break;
          }
          case OPEN: {
            mergeOpen(other.getOpen());
            break;
          }
          case CLOSE: {
            mergeClose(other.getClose());
            break;
          }
          case ALTER: {
            mergeAlter(other.getAlter());
            break;
          }
          case FLUSH: {
            mergeFlush(other.getFlush());
            break;
          }
          case COMPACT: {
            mergeCompact(other.getCompact());
            break;
          }
          case TRUNCATE: {
            mergeTruncate(other.getTruncate());
            break;
          }
          case CREATES: {
            mergeCreates(other.getCreates());
            break;
          }
          case DROPS: {
            mergeDrops(other.getDrops());
            break;
          }
          case ALTERS: {
            mergeAlters(other.getAlters());
            break;
          }
          case BULK_INSERT: {
            mergeBulkInsert(other.getBulkInsert());
            break;
          }
          case SYNC: {
            mergeSync(other.getSync());
            break;
          }
          case BODY_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.RegionRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.RegionRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bodyCase_ = 0;
      private java.lang.Object body_;
      public BodyCase
          getBodyCase() {
        return BodyCase.forNumber(
            bodyCase_);
      }

      public Builder clearBody() {
        bodyCase_ = 0;
        body_ = null;
        onChanged();
        return this;
      }


      private io.greptime.v1.region.Server.RegionRequestHeader header_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder> headerBuilder_;
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return headerBuilder_ != null || header_ != null;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       * @return The header.
       */
      public io.greptime.v1.region.Server.RegionRequestHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder setHeader(io.greptime.v1.region.Server.RegionRequestHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
          onChanged();
        } else {
          headerBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder setHeader(
          io.greptime.v1.region.Server.RegionRequestHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
          onChanged();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder mergeHeader(io.greptime.v1.region.Server.RegionRequestHeader value) {
        if (headerBuilder_ == null) {
          if (header_ != null) {
            header_ =
              io.greptime.v1.region.Server.RegionRequestHeader.newBuilder(header_).mergeFrom(value).buildPartial();
          } else {
            header_ = value;
          }
          onChanged();
        } else {
          headerBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder clearHeader() {
        if (headerBuilder_ == null) {
          header_ = null;
          onChanged();
        } else {
          header_ = null;
          headerBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionRequestHeader.Builder getHeaderBuilder() {
        
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.InsertRequests, io.greptime.v1.region.Server.InsertRequests.Builder, io.greptime.v1.region.Server.InsertRequestsOrBuilder> insertsBuilder_;
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       * @return Whether the inserts field is set.
       */
      @java.lang.Override
      public boolean hasInserts() {
        return bodyCase_ == 3;
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       * @return The inserts.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequests getInserts() {
        if (insertsBuilder_ == null) {
          if (bodyCase_ == 3) {
            return (io.greptime.v1.region.Server.InsertRequests) body_;
          }
          return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
        } else {
          if (bodyCase_ == 3) {
            return insertsBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      public Builder setInserts(io.greptime.v1.region.Server.InsertRequests value) {
        if (insertsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          insertsBuilder_.setMessage(value);
        }
        bodyCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      public Builder setInserts(
          io.greptime.v1.region.Server.InsertRequests.Builder builderForValue) {
        if (insertsBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          insertsBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      public Builder mergeInserts(io.greptime.v1.region.Server.InsertRequests value) {
        if (insertsBuilder_ == null) {
          if (bodyCase_ == 3 &&
              body_ != io.greptime.v1.region.Server.InsertRequests.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.InsertRequests.newBuilder((io.greptime.v1.region.Server.InsertRequests) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 3) {
            insertsBuilder_.mergeFrom(value);
          } else {
            insertsBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      public Builder clearInserts() {
        if (insertsBuilder_ == null) {
          if (bodyCase_ == 3) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 3) {
            bodyCase_ = 0;
            body_ = null;
          }
          insertsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      public io.greptime.v1.region.Server.InsertRequests.Builder getInsertsBuilder() {
        return getInsertsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequestsOrBuilder getInsertsOrBuilder() {
        if ((bodyCase_ == 3) && (insertsBuilder_ != null)) {
          return insertsBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 3) {
            return (io.greptime.v1.region.Server.InsertRequests) body_;
          }
          return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.InsertRequests inserts = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.InsertRequests, io.greptime.v1.region.Server.InsertRequests.Builder, io.greptime.v1.region.Server.InsertRequestsOrBuilder> 
          getInsertsFieldBuilder() {
        if (insertsBuilder_ == null) {
          if (!(bodyCase_ == 3)) {
            body_ = io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
          }
          insertsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.InsertRequests, io.greptime.v1.region.Server.InsertRequests.Builder, io.greptime.v1.region.Server.InsertRequestsOrBuilder>(
                  (io.greptime.v1.region.Server.InsertRequests) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 3;
        onChanged();;
        return insertsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DeleteRequests, io.greptime.v1.region.Server.DeleteRequests.Builder, io.greptime.v1.region.Server.DeleteRequestsOrBuilder> deletesBuilder_;
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       * @return Whether the deletes field is set.
       */
      @java.lang.Override
      public boolean hasDeletes() {
        return bodyCase_ == 4;
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       * @return The deletes.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequests getDeletes() {
        if (deletesBuilder_ == null) {
          if (bodyCase_ == 4) {
            return (io.greptime.v1.region.Server.DeleteRequests) body_;
          }
          return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
        } else {
          if (bodyCase_ == 4) {
            return deletesBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      public Builder setDeletes(io.greptime.v1.region.Server.DeleteRequests value) {
        if (deletesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          deletesBuilder_.setMessage(value);
        }
        bodyCase_ = 4;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      public Builder setDeletes(
          io.greptime.v1.region.Server.DeleteRequests.Builder builderForValue) {
        if (deletesBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          deletesBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 4;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      public Builder mergeDeletes(io.greptime.v1.region.Server.DeleteRequests value) {
        if (deletesBuilder_ == null) {
          if (bodyCase_ == 4 &&
              body_ != io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.DeleteRequests.newBuilder((io.greptime.v1.region.Server.DeleteRequests) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 4) {
            deletesBuilder_.mergeFrom(value);
          } else {
            deletesBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 4;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      public Builder clearDeletes() {
        if (deletesBuilder_ == null) {
          if (bodyCase_ == 4) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 4) {
            bodyCase_ = 0;
            body_ = null;
          }
          deletesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequests.Builder getDeletesBuilder() {
        return getDeletesFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequestsOrBuilder getDeletesOrBuilder() {
        if ((bodyCase_ == 4) && (deletesBuilder_ != null)) {
          return deletesBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 4) {
            return (io.greptime.v1.region.Server.DeleteRequests) body_;
          }
          return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DeleteRequests deletes = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DeleteRequests, io.greptime.v1.region.Server.DeleteRequests.Builder, io.greptime.v1.region.Server.DeleteRequestsOrBuilder> 
          getDeletesFieldBuilder() {
        if (deletesBuilder_ == null) {
          if (!(bodyCase_ == 4)) {
            body_ = io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
          }
          deletesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.DeleteRequests, io.greptime.v1.region.Server.DeleteRequests.Builder, io.greptime.v1.region.Server.DeleteRequestsOrBuilder>(
                  (io.greptime.v1.region.Server.DeleteRequests) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 4;
        onChanged();;
        return deletesBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder> createBuilder_;
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       * @return Whether the create field is set.
       */
      @java.lang.Override
      public boolean hasCreate() {
        return bodyCase_ == 5;
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       * @return The create.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequest getCreate() {
        if (createBuilder_ == null) {
          if (bodyCase_ == 5) {
            return (io.greptime.v1.region.Server.CreateRequest) body_;
          }
          return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 5) {
            return createBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      public Builder setCreate(io.greptime.v1.region.Server.CreateRequest value) {
        if (createBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          createBuilder_.setMessage(value);
        }
        bodyCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      public Builder setCreate(
          io.greptime.v1.region.Server.CreateRequest.Builder builderForValue) {
        if (createBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          createBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      public Builder mergeCreate(io.greptime.v1.region.Server.CreateRequest value) {
        if (createBuilder_ == null) {
          if (bodyCase_ == 5 &&
              body_ != io.greptime.v1.region.Server.CreateRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.CreateRequest.newBuilder((io.greptime.v1.region.Server.CreateRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 5) {
            createBuilder_.mergeFrom(value);
          } else {
            createBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      public Builder clearCreate() {
        if (createBuilder_ == null) {
          if (bodyCase_ == 5) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 5) {
            bodyCase_ = 0;
            body_ = null;
          }
          createBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      public io.greptime.v1.region.Server.CreateRequest.Builder getCreateBuilder() {
        return getCreateFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequestOrBuilder getCreateOrBuilder() {
        if ((bodyCase_ == 5) && (createBuilder_ != null)) {
          return createBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 5) {
            return (io.greptime.v1.region.Server.CreateRequest) body_;
          }
          return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CreateRequest create = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder> 
          getCreateFieldBuilder() {
        if (createBuilder_ == null) {
          if (!(bodyCase_ == 5)) {
            body_ = io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
          }
          createBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder>(
                  (io.greptime.v1.region.Server.CreateRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 5;
        onChanged();;
        return createBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder> dropBuilder_;
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       * @return Whether the drop field is set.
       */
      @java.lang.Override
      public boolean hasDrop() {
        return bodyCase_ == 6;
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       * @return The drop.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequest getDrop() {
        if (dropBuilder_ == null) {
          if (bodyCase_ == 6) {
            return (io.greptime.v1.region.Server.DropRequest) body_;
          }
          return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 6) {
            return dropBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      public Builder setDrop(io.greptime.v1.region.Server.DropRequest value) {
        if (dropBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          dropBuilder_.setMessage(value);
        }
        bodyCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      public Builder setDrop(
          io.greptime.v1.region.Server.DropRequest.Builder builderForValue) {
        if (dropBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          dropBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      public Builder mergeDrop(io.greptime.v1.region.Server.DropRequest value) {
        if (dropBuilder_ == null) {
          if (bodyCase_ == 6 &&
              body_ != io.greptime.v1.region.Server.DropRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.DropRequest.newBuilder((io.greptime.v1.region.Server.DropRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 6) {
            dropBuilder_.mergeFrom(value);
          } else {
            dropBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      public Builder clearDrop() {
        if (dropBuilder_ == null) {
          if (bodyCase_ == 6) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 6) {
            bodyCase_ = 0;
            body_ = null;
          }
          dropBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      public io.greptime.v1.region.Server.DropRequest.Builder getDropBuilder() {
        return getDropFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequestOrBuilder getDropOrBuilder() {
        if ((bodyCase_ == 6) && (dropBuilder_ != null)) {
          return dropBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 6) {
            return (io.greptime.v1.region.Server.DropRequest) body_;
          }
          return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropRequest drop = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder> 
          getDropFieldBuilder() {
        if (dropBuilder_ == null) {
          if (!(bodyCase_ == 6)) {
            body_ = io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
          }
          dropBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder>(
                  (io.greptime.v1.region.Server.DropRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 6;
        onChanged();;
        return dropBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.OpenRequest, io.greptime.v1.region.Server.OpenRequest.Builder, io.greptime.v1.region.Server.OpenRequestOrBuilder> openBuilder_;
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       * @return Whether the open field is set.
       */
      @java.lang.Override
      public boolean hasOpen() {
        return bodyCase_ == 7;
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       * @return The open.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.OpenRequest getOpen() {
        if (openBuilder_ == null) {
          if (bodyCase_ == 7) {
            return (io.greptime.v1.region.Server.OpenRequest) body_;
          }
          return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 7) {
            return openBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      public Builder setOpen(io.greptime.v1.region.Server.OpenRequest value) {
        if (openBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          openBuilder_.setMessage(value);
        }
        bodyCase_ = 7;
        return this;
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      public Builder setOpen(
          io.greptime.v1.region.Server.OpenRequest.Builder builderForValue) {
        if (openBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          openBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 7;
        return this;
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      public Builder mergeOpen(io.greptime.v1.region.Server.OpenRequest value) {
        if (openBuilder_ == null) {
          if (bodyCase_ == 7 &&
              body_ != io.greptime.v1.region.Server.OpenRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.OpenRequest.newBuilder((io.greptime.v1.region.Server.OpenRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 7) {
            openBuilder_.mergeFrom(value);
          } else {
            openBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 7;
        return this;
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      public Builder clearOpen() {
        if (openBuilder_ == null) {
          if (bodyCase_ == 7) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 7) {
            bodyCase_ = 0;
            body_ = null;
          }
          openBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      public io.greptime.v1.region.Server.OpenRequest.Builder getOpenBuilder() {
        return getOpenFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.OpenRequestOrBuilder getOpenOrBuilder() {
        if ((bodyCase_ == 7) && (openBuilder_ != null)) {
          return openBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 7) {
            return (io.greptime.v1.region.Server.OpenRequest) body_;
          }
          return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.OpenRequest open = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.OpenRequest, io.greptime.v1.region.Server.OpenRequest.Builder, io.greptime.v1.region.Server.OpenRequestOrBuilder> 
          getOpenFieldBuilder() {
        if (openBuilder_ == null) {
          if (!(bodyCase_ == 7)) {
            body_ = io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
          }
          openBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.OpenRequest, io.greptime.v1.region.Server.OpenRequest.Builder, io.greptime.v1.region.Server.OpenRequestOrBuilder>(
                  (io.greptime.v1.region.Server.OpenRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 7;
        onChanged();;
        return openBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CloseRequest, io.greptime.v1.region.Server.CloseRequest.Builder, io.greptime.v1.region.Server.CloseRequestOrBuilder> closeBuilder_;
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       * @return Whether the close field is set.
       */
      @java.lang.Override
      public boolean hasClose() {
        return bodyCase_ == 8;
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       * @return The close.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CloseRequest getClose() {
        if (closeBuilder_ == null) {
          if (bodyCase_ == 8) {
            return (io.greptime.v1.region.Server.CloseRequest) body_;
          }
          return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 8) {
            return closeBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      public Builder setClose(io.greptime.v1.region.Server.CloseRequest value) {
        if (closeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          closeBuilder_.setMessage(value);
        }
        bodyCase_ = 8;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      public Builder setClose(
          io.greptime.v1.region.Server.CloseRequest.Builder builderForValue) {
        if (closeBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          closeBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 8;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      public Builder mergeClose(io.greptime.v1.region.Server.CloseRequest value) {
        if (closeBuilder_ == null) {
          if (bodyCase_ == 8 &&
              body_ != io.greptime.v1.region.Server.CloseRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.CloseRequest.newBuilder((io.greptime.v1.region.Server.CloseRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 8) {
            closeBuilder_.mergeFrom(value);
          } else {
            closeBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 8;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      public Builder clearClose() {
        if (closeBuilder_ == null) {
          if (bodyCase_ == 8) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 8) {
            bodyCase_ = 0;
            body_ = null;
          }
          closeBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      public io.greptime.v1.region.Server.CloseRequest.Builder getCloseBuilder() {
        return getCloseFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CloseRequestOrBuilder getCloseOrBuilder() {
        if ((bodyCase_ == 8) && (closeBuilder_ != null)) {
          return closeBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 8) {
            return (io.greptime.v1.region.Server.CloseRequest) body_;
          }
          return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CloseRequest close = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CloseRequest, io.greptime.v1.region.Server.CloseRequest.Builder, io.greptime.v1.region.Server.CloseRequestOrBuilder> 
          getCloseFieldBuilder() {
        if (closeBuilder_ == null) {
          if (!(bodyCase_ == 8)) {
            body_ = io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
          }
          closeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.CloseRequest, io.greptime.v1.region.Server.CloseRequest.Builder, io.greptime.v1.region.Server.CloseRequestOrBuilder>(
                  (io.greptime.v1.region.Server.CloseRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 8;
        onChanged();;
        return closeBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder> alterBuilder_;
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       * @return Whether the alter field is set.
       */
      @java.lang.Override
      public boolean hasAlter() {
        return bodyCase_ == 9;
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       * @return The alter.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequest getAlter() {
        if (alterBuilder_ == null) {
          if (bodyCase_ == 9) {
            return (io.greptime.v1.region.Server.AlterRequest) body_;
          }
          return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 9) {
            return alterBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      public Builder setAlter(io.greptime.v1.region.Server.AlterRequest value) {
        if (alterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          alterBuilder_.setMessage(value);
        }
        bodyCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      public Builder setAlter(
          io.greptime.v1.region.Server.AlterRequest.Builder builderForValue) {
        if (alterBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          alterBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      public Builder mergeAlter(io.greptime.v1.region.Server.AlterRequest value) {
        if (alterBuilder_ == null) {
          if (bodyCase_ == 9 &&
              body_ != io.greptime.v1.region.Server.AlterRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.AlterRequest.newBuilder((io.greptime.v1.region.Server.AlterRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 9) {
            alterBuilder_.mergeFrom(value);
          } else {
            alterBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      public Builder clearAlter() {
        if (alterBuilder_ == null) {
          if (bodyCase_ == 9) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 9) {
            bodyCase_ = 0;
            body_ = null;
          }
          alterBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      public io.greptime.v1.region.Server.AlterRequest.Builder getAlterBuilder() {
        return getAlterFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequestOrBuilder getAlterOrBuilder() {
        if ((bodyCase_ == 9) && (alterBuilder_ != null)) {
          return alterBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 9) {
            return (io.greptime.v1.region.Server.AlterRequest) body_;
          }
          return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AlterRequest alter = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder> 
          getAlterFieldBuilder() {
        if (alterBuilder_ == null) {
          if (!(bodyCase_ == 9)) {
            body_ = io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
          }
          alterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder>(
                  (io.greptime.v1.region.Server.AlterRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 9;
        onChanged();;
        return alterBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.FlushRequest, io.greptime.v1.region.Server.FlushRequest.Builder, io.greptime.v1.region.Server.FlushRequestOrBuilder> flushBuilder_;
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       * @return Whether the flush field is set.
       */
      @java.lang.Override
      public boolean hasFlush() {
        return bodyCase_ == 10;
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       * @return The flush.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.FlushRequest getFlush() {
        if (flushBuilder_ == null) {
          if (bodyCase_ == 10) {
            return (io.greptime.v1.region.Server.FlushRequest) body_;
          }
          return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 10) {
            return flushBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      public Builder setFlush(io.greptime.v1.region.Server.FlushRequest value) {
        if (flushBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          flushBuilder_.setMessage(value);
        }
        bodyCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      public Builder setFlush(
          io.greptime.v1.region.Server.FlushRequest.Builder builderForValue) {
        if (flushBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          flushBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      public Builder mergeFlush(io.greptime.v1.region.Server.FlushRequest value) {
        if (flushBuilder_ == null) {
          if (bodyCase_ == 10 &&
              body_ != io.greptime.v1.region.Server.FlushRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.FlushRequest.newBuilder((io.greptime.v1.region.Server.FlushRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 10) {
            flushBuilder_.mergeFrom(value);
          } else {
            flushBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      public Builder clearFlush() {
        if (flushBuilder_ == null) {
          if (bodyCase_ == 10) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 10) {
            bodyCase_ = 0;
            body_ = null;
          }
          flushBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      public io.greptime.v1.region.Server.FlushRequest.Builder getFlushBuilder() {
        return getFlushFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.FlushRequestOrBuilder getFlushOrBuilder() {
        if ((bodyCase_ == 10) && (flushBuilder_ != null)) {
          return flushBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 10) {
            return (io.greptime.v1.region.Server.FlushRequest) body_;
          }
          return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.FlushRequest flush = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.FlushRequest, io.greptime.v1.region.Server.FlushRequest.Builder, io.greptime.v1.region.Server.FlushRequestOrBuilder> 
          getFlushFieldBuilder() {
        if (flushBuilder_ == null) {
          if (!(bodyCase_ == 10)) {
            body_ = io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
          }
          flushBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.FlushRequest, io.greptime.v1.region.Server.FlushRequest.Builder, io.greptime.v1.region.Server.FlushRequestOrBuilder>(
                  (io.greptime.v1.region.Server.FlushRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 10;
        onChanged();;
        return flushBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CompactRequest, io.greptime.v1.region.Server.CompactRequest.Builder, io.greptime.v1.region.Server.CompactRequestOrBuilder> compactBuilder_;
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       * @return Whether the compact field is set.
       */
      @java.lang.Override
      public boolean hasCompact() {
        return bodyCase_ == 11;
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       * @return The compact.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CompactRequest getCompact() {
        if (compactBuilder_ == null) {
          if (bodyCase_ == 11) {
            return (io.greptime.v1.region.Server.CompactRequest) body_;
          }
          return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 11) {
            return compactBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      public Builder setCompact(io.greptime.v1.region.Server.CompactRequest value) {
        if (compactBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          compactBuilder_.setMessage(value);
        }
        bodyCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      public Builder setCompact(
          io.greptime.v1.region.Server.CompactRequest.Builder builderForValue) {
        if (compactBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          compactBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      public Builder mergeCompact(io.greptime.v1.region.Server.CompactRequest value) {
        if (compactBuilder_ == null) {
          if (bodyCase_ == 11 &&
              body_ != io.greptime.v1.region.Server.CompactRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.CompactRequest.newBuilder((io.greptime.v1.region.Server.CompactRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 11) {
            compactBuilder_.mergeFrom(value);
          } else {
            compactBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      public Builder clearCompact() {
        if (compactBuilder_ == null) {
          if (bodyCase_ == 11) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 11) {
            bodyCase_ = 0;
            body_ = null;
          }
          compactBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      public io.greptime.v1.region.Server.CompactRequest.Builder getCompactBuilder() {
        return getCompactFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CompactRequestOrBuilder getCompactOrBuilder() {
        if ((bodyCase_ == 11) && (compactBuilder_ != null)) {
          return compactBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 11) {
            return (io.greptime.v1.region.Server.CompactRequest) body_;
          }
          return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CompactRequest compact = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CompactRequest, io.greptime.v1.region.Server.CompactRequest.Builder, io.greptime.v1.region.Server.CompactRequestOrBuilder> 
          getCompactFieldBuilder() {
        if (compactBuilder_ == null) {
          if (!(bodyCase_ == 11)) {
            body_ = io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
          }
          compactBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.CompactRequest, io.greptime.v1.region.Server.CompactRequest.Builder, io.greptime.v1.region.Server.CompactRequestOrBuilder>(
                  (io.greptime.v1.region.Server.CompactRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 11;
        onChanged();;
        return compactBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.TruncateRequest, io.greptime.v1.region.Server.TruncateRequest.Builder, io.greptime.v1.region.Server.TruncateRequestOrBuilder> truncateBuilder_;
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       * @return Whether the truncate field is set.
       */
      @java.lang.Override
      public boolean hasTruncate() {
        return bodyCase_ == 12;
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       * @return The truncate.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.TruncateRequest getTruncate() {
        if (truncateBuilder_ == null) {
          if (bodyCase_ == 12) {
            return (io.greptime.v1.region.Server.TruncateRequest) body_;
          }
          return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 12) {
            return truncateBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      public Builder setTruncate(io.greptime.v1.region.Server.TruncateRequest value) {
        if (truncateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          truncateBuilder_.setMessage(value);
        }
        bodyCase_ = 12;
        return this;
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      public Builder setTruncate(
          io.greptime.v1.region.Server.TruncateRequest.Builder builderForValue) {
        if (truncateBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          truncateBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 12;
        return this;
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      public Builder mergeTruncate(io.greptime.v1.region.Server.TruncateRequest value) {
        if (truncateBuilder_ == null) {
          if (bodyCase_ == 12 &&
              body_ != io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.TruncateRequest.newBuilder((io.greptime.v1.region.Server.TruncateRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 12) {
            truncateBuilder_.mergeFrom(value);
          } else {
            truncateBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 12;
        return this;
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      public Builder clearTruncate() {
        if (truncateBuilder_ == null) {
          if (bodyCase_ == 12) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 12) {
            bodyCase_ = 0;
            body_ = null;
          }
          truncateBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      public io.greptime.v1.region.Server.TruncateRequest.Builder getTruncateBuilder() {
        return getTruncateFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.TruncateRequestOrBuilder getTruncateOrBuilder() {
        if ((bodyCase_ == 12) && (truncateBuilder_ != null)) {
          return truncateBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 12) {
            return (io.greptime.v1.region.Server.TruncateRequest) body_;
          }
          return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.TruncateRequest truncate = 12;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.TruncateRequest, io.greptime.v1.region.Server.TruncateRequest.Builder, io.greptime.v1.region.Server.TruncateRequestOrBuilder> 
          getTruncateFieldBuilder() {
        if (truncateBuilder_ == null) {
          if (!(bodyCase_ == 12)) {
            body_ = io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
          }
          truncateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.TruncateRequest, io.greptime.v1.region.Server.TruncateRequest.Builder, io.greptime.v1.region.Server.TruncateRequestOrBuilder>(
                  (io.greptime.v1.region.Server.TruncateRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 12;
        onChanged();;
        return truncateBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequests, io.greptime.v1.region.Server.CreateRequests.Builder, io.greptime.v1.region.Server.CreateRequestsOrBuilder> createsBuilder_;
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       * @return Whether the creates field is set.
       */
      @java.lang.Override
      public boolean hasCreates() {
        return bodyCase_ == 13;
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       * @return The creates.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequests getCreates() {
        if (createsBuilder_ == null) {
          if (bodyCase_ == 13) {
            return (io.greptime.v1.region.Server.CreateRequests) body_;
          }
          return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
        } else {
          if (bodyCase_ == 13) {
            return createsBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      public Builder setCreates(io.greptime.v1.region.Server.CreateRequests value) {
        if (createsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          createsBuilder_.setMessage(value);
        }
        bodyCase_ = 13;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      public Builder setCreates(
          io.greptime.v1.region.Server.CreateRequests.Builder builderForValue) {
        if (createsBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          createsBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 13;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      public Builder mergeCreates(io.greptime.v1.region.Server.CreateRequests value) {
        if (createsBuilder_ == null) {
          if (bodyCase_ == 13 &&
              body_ != io.greptime.v1.region.Server.CreateRequests.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.CreateRequests.newBuilder((io.greptime.v1.region.Server.CreateRequests) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 13) {
            createsBuilder_.mergeFrom(value);
          } else {
            createsBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 13;
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      public Builder clearCreates() {
        if (createsBuilder_ == null) {
          if (bodyCase_ == 13) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 13) {
            bodyCase_ = 0;
            body_ = null;
          }
          createsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      public io.greptime.v1.region.Server.CreateRequests.Builder getCreatesBuilder() {
        return getCreatesFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequestsOrBuilder getCreatesOrBuilder() {
        if ((bodyCase_ == 13) && (createsBuilder_ != null)) {
          return createsBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 13) {
            return (io.greptime.v1.region.Server.CreateRequests) body_;
          }
          return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.CreateRequests creates = 13;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequests, io.greptime.v1.region.Server.CreateRequests.Builder, io.greptime.v1.region.Server.CreateRequestsOrBuilder> 
          getCreatesFieldBuilder() {
        if (createsBuilder_ == null) {
          if (!(bodyCase_ == 13)) {
            body_ = io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
          }
          createsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.CreateRequests, io.greptime.v1.region.Server.CreateRequests.Builder, io.greptime.v1.region.Server.CreateRequestsOrBuilder>(
                  (io.greptime.v1.region.Server.CreateRequests) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 13;
        onChanged();;
        return createsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequests, io.greptime.v1.region.Server.DropRequests.Builder, io.greptime.v1.region.Server.DropRequestsOrBuilder> dropsBuilder_;
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       * @return Whether the drops field is set.
       */
      @java.lang.Override
      public boolean hasDrops() {
        return bodyCase_ == 14;
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       * @return The drops.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequests getDrops() {
        if (dropsBuilder_ == null) {
          if (bodyCase_ == 14) {
            return (io.greptime.v1.region.Server.DropRequests) body_;
          }
          return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
        } else {
          if (bodyCase_ == 14) {
            return dropsBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      public Builder setDrops(io.greptime.v1.region.Server.DropRequests value) {
        if (dropsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          dropsBuilder_.setMessage(value);
        }
        bodyCase_ = 14;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      public Builder setDrops(
          io.greptime.v1.region.Server.DropRequests.Builder builderForValue) {
        if (dropsBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          dropsBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 14;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      public Builder mergeDrops(io.greptime.v1.region.Server.DropRequests value) {
        if (dropsBuilder_ == null) {
          if (bodyCase_ == 14 &&
              body_ != io.greptime.v1.region.Server.DropRequests.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.DropRequests.newBuilder((io.greptime.v1.region.Server.DropRequests) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 14) {
            dropsBuilder_.mergeFrom(value);
          } else {
            dropsBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 14;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      public Builder clearDrops() {
        if (dropsBuilder_ == null) {
          if (bodyCase_ == 14) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 14) {
            bodyCase_ = 0;
            body_ = null;
          }
          dropsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      public io.greptime.v1.region.Server.DropRequests.Builder getDropsBuilder() {
        return getDropsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequestsOrBuilder getDropsOrBuilder() {
        if ((bodyCase_ == 14) && (dropsBuilder_ != null)) {
          return dropsBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 14) {
            return (io.greptime.v1.region.Server.DropRequests) body_;
          }
          return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropRequests drops = 14;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequests, io.greptime.v1.region.Server.DropRequests.Builder, io.greptime.v1.region.Server.DropRequestsOrBuilder> 
          getDropsFieldBuilder() {
        if (dropsBuilder_ == null) {
          if (!(bodyCase_ == 14)) {
            body_ = io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
          }
          dropsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.DropRequests, io.greptime.v1.region.Server.DropRequests.Builder, io.greptime.v1.region.Server.DropRequestsOrBuilder>(
                  (io.greptime.v1.region.Server.DropRequests) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 14;
        onChanged();;
        return dropsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequests, io.greptime.v1.region.Server.AlterRequests.Builder, io.greptime.v1.region.Server.AlterRequestsOrBuilder> altersBuilder_;
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       * @return Whether the alters field is set.
       */
      @java.lang.Override
      public boolean hasAlters() {
        return bodyCase_ == 15;
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       * @return The alters.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequests getAlters() {
        if (altersBuilder_ == null) {
          if (bodyCase_ == 15) {
            return (io.greptime.v1.region.Server.AlterRequests) body_;
          }
          return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
        } else {
          if (bodyCase_ == 15) {
            return altersBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      public Builder setAlters(io.greptime.v1.region.Server.AlterRequests value) {
        if (altersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          altersBuilder_.setMessage(value);
        }
        bodyCase_ = 15;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      public Builder setAlters(
          io.greptime.v1.region.Server.AlterRequests.Builder builderForValue) {
        if (altersBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          altersBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 15;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      public Builder mergeAlters(io.greptime.v1.region.Server.AlterRequests value) {
        if (altersBuilder_ == null) {
          if (bodyCase_ == 15 &&
              body_ != io.greptime.v1.region.Server.AlterRequests.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.AlterRequests.newBuilder((io.greptime.v1.region.Server.AlterRequests) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 15) {
            altersBuilder_.mergeFrom(value);
          } else {
            altersBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 15;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      public Builder clearAlters() {
        if (altersBuilder_ == null) {
          if (bodyCase_ == 15) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 15) {
            bodyCase_ = 0;
            body_ = null;
          }
          altersBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      public io.greptime.v1.region.Server.AlterRequests.Builder getAltersBuilder() {
        return getAltersFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequestsOrBuilder getAltersOrBuilder() {
        if ((bodyCase_ == 15) && (altersBuilder_ != null)) {
          return altersBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 15) {
            return (io.greptime.v1.region.Server.AlterRequests) body_;
          }
          return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AlterRequests alters = 15;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequests, io.greptime.v1.region.Server.AlterRequests.Builder, io.greptime.v1.region.Server.AlterRequestsOrBuilder> 
          getAltersFieldBuilder() {
        if (altersBuilder_ == null) {
          if (!(bodyCase_ == 15)) {
            body_ = io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
          }
          altersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.AlterRequests, io.greptime.v1.region.Server.AlterRequests.Builder, io.greptime.v1.region.Server.AlterRequestsOrBuilder>(
                  (io.greptime.v1.region.Server.AlterRequests) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 15;
        onChanged();;
        return altersBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.BulkInsertRequest, io.greptime.v1.region.Server.BulkInsertRequest.Builder, io.greptime.v1.region.Server.BulkInsertRequestOrBuilder> bulkInsertBuilder_;
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       * @return Whether the bulkInsert field is set.
       */
      @java.lang.Override
      public boolean hasBulkInsert() {
        return bodyCase_ == 16;
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       * @return The bulkInsert.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.BulkInsertRequest getBulkInsert() {
        if (bulkInsertBuilder_ == null) {
          if (bodyCase_ == 16) {
            return (io.greptime.v1.region.Server.BulkInsertRequest) body_;
          }
          return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 16) {
            return bulkInsertBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      public Builder setBulkInsert(io.greptime.v1.region.Server.BulkInsertRequest value) {
        if (bulkInsertBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          bulkInsertBuilder_.setMessage(value);
        }
        bodyCase_ = 16;
        return this;
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      public Builder setBulkInsert(
          io.greptime.v1.region.Server.BulkInsertRequest.Builder builderForValue) {
        if (bulkInsertBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          bulkInsertBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 16;
        return this;
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      public Builder mergeBulkInsert(io.greptime.v1.region.Server.BulkInsertRequest value) {
        if (bulkInsertBuilder_ == null) {
          if (bodyCase_ == 16 &&
              body_ != io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.BulkInsertRequest.newBuilder((io.greptime.v1.region.Server.BulkInsertRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 16) {
            bulkInsertBuilder_.mergeFrom(value);
          } else {
            bulkInsertBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 16;
        return this;
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      public Builder clearBulkInsert() {
        if (bulkInsertBuilder_ == null) {
          if (bodyCase_ == 16) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 16) {
            bodyCase_ = 0;
            body_ = null;
          }
          bulkInsertBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      public io.greptime.v1.region.Server.BulkInsertRequest.Builder getBulkInsertBuilder() {
        return getBulkInsertFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.BulkInsertRequestOrBuilder getBulkInsertOrBuilder() {
        if ((bodyCase_ == 16) && (bulkInsertBuilder_ != null)) {
          return bulkInsertBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 16) {
            return (io.greptime.v1.region.Server.BulkInsertRequest) body_;
          }
          return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.BulkInsertRequest bulk_insert = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.BulkInsertRequest, io.greptime.v1.region.Server.BulkInsertRequest.Builder, io.greptime.v1.region.Server.BulkInsertRequestOrBuilder> 
          getBulkInsertFieldBuilder() {
        if (bulkInsertBuilder_ == null) {
          if (!(bodyCase_ == 16)) {
            body_ = io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
          }
          bulkInsertBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.BulkInsertRequest, io.greptime.v1.region.Server.BulkInsertRequest.Builder, io.greptime.v1.region.Server.BulkInsertRequestOrBuilder>(
                  (io.greptime.v1.region.Server.BulkInsertRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 16;
        onChanged();;
        return bulkInsertBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.SyncRequest, io.greptime.v1.region.Server.SyncRequest.Builder, io.greptime.v1.region.Server.SyncRequestOrBuilder> syncBuilder_;
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       * @return Whether the sync field is set.
       */
      @java.lang.Override
      public boolean hasSync() {
        return bodyCase_ == 17;
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       * @return The sync.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.SyncRequest getSync() {
        if (syncBuilder_ == null) {
          if (bodyCase_ == 17) {
            return (io.greptime.v1.region.Server.SyncRequest) body_;
          }
          return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 17) {
            return syncBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      public Builder setSync(io.greptime.v1.region.Server.SyncRequest value) {
        if (syncBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          syncBuilder_.setMessage(value);
        }
        bodyCase_ = 17;
        return this;
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      public Builder setSync(
          io.greptime.v1.region.Server.SyncRequest.Builder builderForValue) {
        if (syncBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          syncBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 17;
        return this;
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      public Builder mergeSync(io.greptime.v1.region.Server.SyncRequest value) {
        if (syncBuilder_ == null) {
          if (bodyCase_ == 17 &&
              body_ != io.greptime.v1.region.Server.SyncRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.SyncRequest.newBuilder((io.greptime.v1.region.Server.SyncRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 17) {
            syncBuilder_.mergeFrom(value);
          } else {
            syncBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 17;
        return this;
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      public Builder clearSync() {
        if (syncBuilder_ == null) {
          if (bodyCase_ == 17) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 17) {
            bodyCase_ = 0;
            body_ = null;
          }
          syncBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      public io.greptime.v1.region.Server.SyncRequest.Builder getSyncBuilder() {
        return getSyncFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.SyncRequestOrBuilder getSyncOrBuilder() {
        if ((bodyCase_ == 17) && (syncBuilder_ != null)) {
          return syncBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 17) {
            return (io.greptime.v1.region.Server.SyncRequest) body_;
          }
          return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.SyncRequest sync = 17;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.SyncRequest, io.greptime.v1.region.Server.SyncRequest.Builder, io.greptime.v1.region.Server.SyncRequestOrBuilder> 
          getSyncFieldBuilder() {
        if (syncBuilder_ == null) {
          if (!(bodyCase_ == 17)) {
            body_ = io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
          }
          syncBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.SyncRequest, io.greptime.v1.region.Server.SyncRequest.Builder, io.greptime.v1.region.Server.SyncRequestOrBuilder>(
                  (io.greptime.v1.region.Server.SyncRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 17;
        onChanged();;
        return syncBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.RegionRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionRequest)
    private static final io.greptime.v1.region.Server.RegionRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.RegionRequest();
    }

    public static io.greptime.v1.region.Server.RegionRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RegionRequest>
        PARSER = new com.google.protobuf.AbstractParser<RegionRequest>() {
      @java.lang.Override
      public RegionRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RegionRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RegionRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegionResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.RegionResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return The header.
     */
    io.greptime.v1.Common.ResponseHeader getHeader();
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     */
    io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder();

    /**
     * <code>uint64 affected_rows = 2;</code>
     * @return The affectedRows.
     */
    long getAffectedRows();

    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    int getExtensionsCount();
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    boolean containsExtensions(
        java.lang.String key);
    /**
     * Use {@link #getExtensionsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
    getExtensions();
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
    getExtensionsMap();
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */

    /* nullable */
com.google.protobuf.ByteString getExtensionsOrDefault(
        java.lang.String key,
        /* nullable */
com.google.protobuf.ByteString defaultValue);
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */

    com.google.protobuf.ByteString getExtensionsOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code greptime.v1.region.RegionResponse}
   */
  public static final class RegionResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.RegionResponse)
      RegionResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegionResponse.newBuilder() to construct.
    private RegionResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RegionResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegionResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RegionResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.Common.ResponseHeader.Builder subBuilder = null;
              if (header_ != null) {
                subBuilder = header_.toBuilder();
              }
              header_ = input.readMessage(io.greptime.v1.Common.ResponseHeader.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(header_);
                header_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              affectedRows_ = input.readUInt64();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                extensions_ = com.google.protobuf.MapField.newMapField(
                    ExtensionsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
              extensions__ = input.readMessage(
                  ExtensionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              extensions_.getMutableMap().put(
                  extensions__.getKey(), extensions__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 3:
          return internalGetExtensions();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.RegionResponse.class, io.greptime.v1.region.Server.RegionResponse.Builder.class);
    }

    public static final int HEADER_FIELD_NUMBER = 1;
    private io.greptime.v1.Common.ResponseHeader header_;
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return header_ != null;
    }
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return The header.
     */
    @java.lang.Override
    public io.greptime.v1.Common.ResponseHeader getHeader() {
      return header_ == null ? io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
    }
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder() {
      return getHeader();
    }

    public static final int AFFECTED_ROWS_FIELD_NUMBER = 2;
    private long affectedRows_;
    /**
     * <code>uint64 affected_rows = 2;</code>
     * @return The affectedRows.
     */
    @java.lang.Override
    public long getAffectedRows() {
      return affectedRows_;
    }

    public static final int EXTENSIONS_FIELD_NUMBER = 3;
    private static final class ExtensionsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, com.google.protobuf.ByteString> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, com.google.protobuf.ByteString>newDefaultInstance(
                  io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.BYTES,
                  com.google.protobuf.ByteString.EMPTY);
    }
    private com.google.protobuf.MapField<
        java.lang.String, com.google.protobuf.ByteString> extensions_;
    private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
    internalGetExtensions() {
      if (extensions_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ExtensionsDefaultEntryHolder.defaultEntry);
      }
      return extensions_;
    }

    public int getExtensionsCount() {
      return internalGetExtensions().getMap().size();
    }
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */

    @java.lang.Override
    public boolean containsExtensions(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetExtensions().getMap().containsKey(key);
    }
    /**
     * Use {@link #getExtensionsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensions() {
      return getExtensionsMap();
    }
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensionsMap() {
      return internalGetExtensions().getMap();
    }
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    @java.lang.Override

    public com.google.protobuf.ByteString getExtensionsOrDefault(
        java.lang.String key,
        com.google.protobuf.ByteString defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
          internalGetExtensions().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, bytes&gt; extensions = 3;</code>
     */
    @java.lang.Override

    public com.google.protobuf.ByteString getExtensionsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
          internalGetExtensions().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (header_ != null) {
        output.writeMessage(1, getHeader());
      }
      if (affectedRows_ != 0L) {
        output.writeUInt64(2, affectedRows_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetExtensions(),
          ExtensionsDefaultEntryHolder.defaultEntry,
          3);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (header_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getHeader());
      }
      if (affectedRows_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, affectedRows_);
      }
      for (java.util.Map.Entry<java.lang.String, com.google.protobuf.ByteString> entry
           : internalGetExtensions().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
        extensions__ = ExtensionsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, extensions__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.RegionResponse)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.RegionResponse other = (io.greptime.v1.region.Server.RegionResponse) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (getAffectedRows()
          != other.getAffectedRows()) return false;
      if (!internalGetExtensions().equals(
          other.internalGetExtensions())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      hash = (37 * hash) + AFFECTED_ROWS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getAffectedRows());
      if (!internalGetExtensions().getMap().isEmpty()) {
        hash = (37 * hash) + EXTENSIONS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetExtensions().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.RegionResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.RegionResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.RegionResponse)
        io.greptime.v1.region.Server.RegionResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetExtensions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetMutableExtensions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.RegionResponse.class, io.greptime.v1.region.Server.RegionResponse.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.RegionResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (headerBuilder_ == null) {
          header_ = null;
        } else {
          header_ = null;
          headerBuilder_ = null;
        }
        affectedRows_ = 0L;

        internalGetMutableExtensions().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionResponse_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionResponse getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.RegionResponse.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionResponse build() {
        io.greptime.v1.region.Server.RegionResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionResponse buildPartial() {
        io.greptime.v1.region.Server.RegionResponse result = new io.greptime.v1.region.Server.RegionResponse(this);
        int from_bitField0_ = bitField0_;
        if (headerBuilder_ == null) {
          result.header_ = header_;
        } else {
          result.header_ = headerBuilder_.build();
        }
        result.affectedRows_ = affectedRows_;
        result.extensions_ = internalGetExtensions();
        result.extensions_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.RegionResponse) {
          return mergeFrom((io.greptime.v1.region.Server.RegionResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.RegionResponse other) {
        if (other == io.greptime.v1.region.Server.RegionResponse.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.getAffectedRows() != 0L) {
          setAffectedRows(other.getAffectedRows());
        }
        internalGetMutableExtensions().mergeFrom(
            other.internalGetExtensions());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.RegionResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.RegionResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.greptime.v1.Common.ResponseHeader header_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder> headerBuilder_;
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return headerBuilder_ != null || header_ != null;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       * @return The header.
       */
      public io.greptime.v1.Common.ResponseHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder setHeader(io.greptime.v1.Common.ResponseHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
          onChanged();
        } else {
          headerBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder setHeader(
          io.greptime.v1.Common.ResponseHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
          onChanged();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder mergeHeader(io.greptime.v1.Common.ResponseHeader value) {
        if (headerBuilder_ == null) {
          if (header_ != null) {
            header_ =
              io.greptime.v1.Common.ResponseHeader.newBuilder(header_).mergeFrom(value).buildPartial();
          } else {
            header_ = value;
          }
          onChanged();
        } else {
          headerBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder clearHeader() {
        if (headerBuilder_ == null) {
          header_ = null;
          onChanged();
        } else {
          header_ = null;
          headerBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public io.greptime.v1.Common.ResponseHeader.Builder getHeaderBuilder() {
        
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private long affectedRows_ ;
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @return The affectedRows.
       */
      @java.lang.Override
      public long getAffectedRows() {
        return affectedRows_;
      }
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @param value The affectedRows to set.
       * @return This builder for chaining.
       */
      public Builder setAffectedRows(long value) {
        
        affectedRows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAffectedRows() {
        
        affectedRows_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, com.google.protobuf.ByteString> extensions_;
      private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
      internalGetExtensions() {
        if (extensions_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ExtensionsDefaultEntryHolder.defaultEntry);
        }
        return extensions_;
      }
      private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
      internalGetMutableExtensions() {
        onChanged();;
        if (extensions_ == null) {
          extensions_ = com.google.protobuf.MapField.newMapField(
              ExtensionsDefaultEntryHolder.defaultEntry);
        }
        if (!extensions_.isMutable()) {
          extensions_ = extensions_.copy();
        }
        return extensions_;
      }

      public int getExtensionsCount() {
        return internalGetExtensions().getMap().size();
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */

      @java.lang.Override
      public boolean containsExtensions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetExtensions().getMap().containsKey(key);
      }
      /**
       * Use {@link #getExtensionsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensions() {
        return getExtensionsMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensionsMap() {
        return internalGetExtensions().getMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */
      @java.lang.Override

      public com.google.protobuf.ByteString getExtensionsOrDefault(
          java.lang.String key,
          com.google.protobuf.ByteString defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
            internalGetExtensions().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */
      @java.lang.Override

      public com.google.protobuf.ByteString getExtensionsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
            internalGetExtensions().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearExtensions() {
        internalGetMutableExtensions().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */

      public Builder removeExtensions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableExtensions().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, com.google.protobuf.ByteString>
      getMutableExtensions() {
        return internalGetMutableExtensions().getMutableMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */
      public Builder putExtensions(
          java.lang.String key,
          com.google.protobuf.ByteString value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableExtensions().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, bytes&gt; extensions = 3;</code>
       */

      public Builder putAllExtensions(
          java.util.Map<java.lang.String, com.google.protobuf.ByteString> values) {
        internalGetMutableExtensions().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.RegionResponse)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionResponse)
    private static final io.greptime.v1.region.Server.RegionResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.RegionResponse();
    }

    public static io.greptime.v1.region.Server.RegionResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RegionResponse>
        PARSER = new com.google.protobuf.AbstractParser<RegionResponse>() {
      @java.lang.Override
      public RegionResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RegionResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RegionResponse> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.RegionResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface InsertRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.InsertRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.InsertRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.InsertRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.InsertRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.InsertRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.region.InsertRequests}
   */
  public static final class InsertRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.InsertRequests)
      InsertRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use InsertRequests.newBuilder() to construct.
    private InsertRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private InsertRequests() {
      requests_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new InsertRequests();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private InsertRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.InsertRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.region.Server.InsertRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.InsertRequests.class, io.greptime.v1.region.Server.InsertRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.InsertRequest> requests_;
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.InsertRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.InsertRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.InsertRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.InsertRequests other = (io.greptime.v1.region.Server.InsertRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.InsertRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.InsertRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.InsertRequests)
        io.greptime.v1.region.Server.InsertRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.InsertRequests.class, io.greptime.v1.region.Server.InsertRequests.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.InsertRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequests getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.InsertRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequests build() {
        io.greptime.v1.region.Server.InsertRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequests buildPartial() {
        io.greptime.v1.region.Server.InsertRequests result = new io.greptime.v1.region.Server.InsertRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.InsertRequests) {
          return mergeFrom((io.greptime.v1.region.Server.InsertRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.InsertRequests other) {
        if (other == io.greptime.v1.region.Server.InsertRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.InsertRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.InsertRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.InsertRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.InsertRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.InsertRequest, io.greptime.v1.region.Server.InsertRequest.Builder, io.greptime.v1.region.Server.InsertRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.InsertRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.InsertRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.region.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.region.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.InsertRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.InsertRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.InsertRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.InsertRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.InsertRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.InsertRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.InsertRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.InsertRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.InsertRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.InsertRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.InsertRequest, io.greptime.v1.region.Server.InsertRequest.Builder, io.greptime.v1.region.Server.InsertRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.InsertRequest, io.greptime.v1.region.Server.InsertRequest.Builder, io.greptime.v1.region.Server.InsertRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.InsertRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.InsertRequests)
    private static final io.greptime.v1.region.Server.InsertRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.InsertRequests();
    }

    public static io.greptime.v1.region.Server.InsertRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<InsertRequests>
        PARSER = new com.google.protobuf.AbstractParser<InsertRequests>() {
      @java.lang.Override
      public InsertRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InsertRequests(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<InsertRequests> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeleteRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DeleteRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.DeleteRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.DeleteRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.DeleteRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.DeleteRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.region.DeleteRequests}
   */
  public static final class DeleteRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DeleteRequests)
      DeleteRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteRequests.newBuilder() to construct.
    private DeleteRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DeleteRequests() {
      requests_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteRequests();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.DeleteRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.region.Server.DeleteRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DeleteRequests.class, io.greptime.v1.region.Server.DeleteRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.DeleteRequest> requests_;
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.DeleteRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.DeleteRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DeleteRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DeleteRequests other = (io.greptime.v1.region.Server.DeleteRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DeleteRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.DeleteRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DeleteRequests)
        io.greptime.v1.region.Server.DeleteRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DeleteRequests.class, io.greptime.v1.region.Server.DeleteRequests.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DeleteRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequests getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequests build() {
        io.greptime.v1.region.Server.DeleteRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequests buildPartial() {
        io.greptime.v1.region.Server.DeleteRequests result = new io.greptime.v1.region.Server.DeleteRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DeleteRequests) {
          return mergeFrom((io.greptime.v1.region.Server.DeleteRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DeleteRequests other) {
        if (other == io.greptime.v1.region.Server.DeleteRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DeleteRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DeleteRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.DeleteRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.DeleteRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DeleteRequest, io.greptime.v1.region.Server.DeleteRequest.Builder, io.greptime.v1.region.Server.DeleteRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DeleteRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.DeleteRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.DeleteRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.region.Server.DeleteRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.DeleteRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.region.Server.DeleteRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.DeleteRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.DeleteRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.DeleteRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.DeleteRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DeleteRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.DeleteRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DeleteRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DeleteRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DeleteRequest, io.greptime.v1.region.Server.DeleteRequest.Builder, io.greptime.v1.region.Server.DeleteRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.DeleteRequest, io.greptime.v1.region.Server.DeleteRequest.Builder, io.greptime.v1.region.Server.DeleteRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DeleteRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DeleteRequests)
    private static final io.greptime.v1.region.Server.DeleteRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DeleteRequests();
    }

    public static io.greptime.v1.region.Server.DeleteRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DeleteRequests>
        PARSER = new com.google.protobuf.AbstractParser<DeleteRequests>() {
      @java.lang.Override
      public DeleteRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteRequests(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DeleteRequests> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface InsertRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.InsertRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    boolean hasRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    io.greptime.v1.RowData.Rows getRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.region.InsertRequest}
   */
  public static final class InsertRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.InsertRequest)
      InsertRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use InsertRequest.newBuilder() to construct.
    private InsertRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private InsertRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new InsertRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private InsertRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.RowData.Rows.Builder subBuilder = null;
              if (rows_ != null) {
                subBuilder = rows_.toBuilder();
              }
              rows_ = input.readMessage(io.greptime.v1.RowData.Rows.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(rows_);
                rows_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.InsertRequest.class, io.greptime.v1.region.Server.InsertRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ROWS_FIELD_NUMBER = 2;
    private io.greptime.v1.RowData.Rows rows_;
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    @java.lang.Override
    public boolean hasRows() {
      return rows_ != null;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    @java.lang.Override
    public io.greptime.v1.RowData.Rows getRows() {
      return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
      return getRows();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (rows_ != null) {
        output.writeMessage(2, getRows());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (rows_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getRows());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.InsertRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.InsertRequest other = (io.greptime.v1.region.Server.InsertRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (hasRows() != other.hasRows()) return false;
      if (hasRows()) {
        if (!getRows()
            .equals(other.getRows())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      if (hasRows()) {
        hash = (37 * hash) + ROWS_FIELD_NUMBER;
        hash = (53 * hash) + getRows().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.InsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.InsertRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.InsertRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.InsertRequest)
        io.greptime.v1.region.Server.InsertRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.InsertRequest.class, io.greptime.v1.region.Server.InsertRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.InsertRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        if (rowsBuilder_ == null) {
          rows_ = null;
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_InsertRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.InsertRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequest build() {
        io.greptime.v1.region.Server.InsertRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.InsertRequest buildPartial() {
        io.greptime.v1.region.Server.InsertRequest result = new io.greptime.v1.region.Server.InsertRequest(this);
        result.regionId_ = regionId_;
        if (rowsBuilder_ == null) {
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.InsertRequest) {
          return mergeFrom((io.greptime.v1.region.Server.InsertRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.InsertRequest other) {
        if (other == io.greptime.v1.region.Server.InsertRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.hasRows()) {
          mergeRows(other.getRows());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.InsertRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.InsertRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private io.greptime.v1.RowData.Rows rows_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> rowsBuilder_;
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return Whether the rows field is set.
       */
      public boolean hasRows() {
        return rowsBuilder_ != null || rows_ != null;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return The rows.
       */
      public io.greptime.v1.RowData.Rows getRows() {
        if (rowsBuilder_ == null) {
          return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        } else {
          return rowsBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rows_ = value;
          onChanged();
        } else {
          rowsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(
          io.greptime.v1.RowData.Rows.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          rows_ = builderForValue.build();
          onChanged();
        } else {
          rowsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder mergeRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (rows_ != null) {
            rows_ =
              io.greptime.v1.RowData.Rows.newBuilder(rows_).mergeFrom(value).buildPartial();
          } else {
            rows_ = value;
          }
          onChanged();
        } else {
          rowsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = null;
          onChanged();
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.Rows.Builder getRowsBuilder() {
        
        onChanged();
        return getRowsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilder();
        } else {
          return rows_ == null ?
              io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder>(
                  getRows(),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.InsertRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.InsertRequest)
    private static final io.greptime.v1.region.Server.InsertRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.InsertRequest();
    }

    public static io.greptime.v1.region.Server.InsertRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<InsertRequest>
        PARSER = new com.google.protobuf.AbstractParser<InsertRequest>() {
      @java.lang.Override
      public InsertRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InsertRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<InsertRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.InsertRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DeleteRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DeleteRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    boolean hasRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    io.greptime.v1.RowData.Rows getRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.region.DeleteRequest}
   */
  public static final class DeleteRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DeleteRequest)
      DeleteRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DeleteRequest.newBuilder() to construct.
    private DeleteRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DeleteRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DeleteRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DeleteRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.RowData.Rows.Builder subBuilder = null;
              if (rows_ != null) {
                subBuilder = rows_.toBuilder();
              }
              rows_ = input.readMessage(io.greptime.v1.RowData.Rows.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(rows_);
                rows_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DeleteRequest.class, io.greptime.v1.region.Server.DeleteRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ROWS_FIELD_NUMBER = 2;
    private io.greptime.v1.RowData.Rows rows_;
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    @java.lang.Override
    public boolean hasRows() {
      return rows_ != null;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    @java.lang.Override
    public io.greptime.v1.RowData.Rows getRows() {
      return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
      return getRows();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (rows_ != null) {
        output.writeMessage(2, getRows());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (rows_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getRows());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DeleteRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DeleteRequest other = (io.greptime.v1.region.Server.DeleteRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (hasRows() != other.hasRows()) return false;
      if (hasRows()) {
        if (!getRows()
            .equals(other.getRows())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      if (hasRows()) {
        hash = (37 * hash) + ROWS_FIELD_NUMBER;
        hash = (53 * hash) + getRows().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DeleteRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DeleteRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.DeleteRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DeleteRequest)
        io.greptime.v1.region.Server.DeleteRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DeleteRequest.class, io.greptime.v1.region.Server.DeleteRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DeleteRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        if (rowsBuilder_ == null) {
          rows_ = null;
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DeleteRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DeleteRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequest build() {
        io.greptime.v1.region.Server.DeleteRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DeleteRequest buildPartial() {
        io.greptime.v1.region.Server.DeleteRequest result = new io.greptime.v1.region.Server.DeleteRequest(this);
        result.regionId_ = regionId_;
        if (rowsBuilder_ == null) {
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DeleteRequest) {
          return mergeFrom((io.greptime.v1.region.Server.DeleteRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DeleteRequest other) {
        if (other == io.greptime.v1.region.Server.DeleteRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.hasRows()) {
          mergeRows(other.getRows());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DeleteRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DeleteRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private io.greptime.v1.RowData.Rows rows_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> rowsBuilder_;
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return Whether the rows field is set.
       */
      public boolean hasRows() {
        return rowsBuilder_ != null || rows_ != null;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return The rows.
       */
      public io.greptime.v1.RowData.Rows getRows() {
        if (rowsBuilder_ == null) {
          return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        } else {
          return rowsBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rows_ = value;
          onChanged();
        } else {
          rowsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(
          io.greptime.v1.RowData.Rows.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          rows_ = builderForValue.build();
          onChanged();
        } else {
          rowsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder mergeRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (rows_ != null) {
            rows_ =
              io.greptime.v1.RowData.Rows.newBuilder(rows_).mergeFrom(value).buildPartial();
          } else {
            rows_ = value;
          }
          onChanged();
        } else {
          rowsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = null;
          onChanged();
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.Rows.Builder getRowsBuilder() {
        
        onChanged();
        return getRowsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilder();
        } else {
          return rows_ == null ?
              io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder>(
                  getRows(),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DeleteRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DeleteRequest)
    private static final io.greptime.v1.region.Server.DeleteRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DeleteRequest();
    }

    public static io.greptime.v1.region.Server.DeleteRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DeleteRequest>
        PARSER = new com.google.protobuf.AbstractParser<DeleteRequest>() {
      @java.lang.Override
      public DeleteRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DeleteRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DeleteRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DeleteRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface QueryRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.QueryRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return The header.
     */
    io.greptime.v1.region.Server.RegionRequestHeader getHeader();
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     */
    io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder();

    /**
     * <code>uint64 region_id = 2;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <pre>
     * substrait plan to query
     * </pre>
     *
     * <code>bytes plan = 3;</code>
     * @return The plan.
     */
    com.google.protobuf.ByteString getPlan();
  }
  /**
   * Protobuf type {@code greptime.v1.region.QueryRequest}
   */
  public static final class QueryRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.QueryRequest)
      QueryRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use QueryRequest.newBuilder() to construct.
    private QueryRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private QueryRequest() {
      plan_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new QueryRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private QueryRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.region.Server.RegionRequestHeader.Builder subBuilder = null;
              if (header_ != null) {
                subBuilder = header_.toBuilder();
              }
              header_ = input.readMessage(io.greptime.v1.region.Server.RegionRequestHeader.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(header_);
                header_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              regionId_ = input.readUInt64();
              break;
            }
            case 26: {

              plan_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_QueryRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_QueryRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.QueryRequest.class, io.greptime.v1.region.Server.QueryRequest.Builder.class);
    }

    public static final int HEADER_FIELD_NUMBER = 1;
    private io.greptime.v1.region.Server.RegionRequestHeader header_;
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return header_ != null;
    }
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     * @return The header.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequestHeader getHeader() {
      return header_ == null ? io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
    }
    /**
     * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder() {
      return getHeader();
    }

    public static final int REGION_ID_FIELD_NUMBER = 2;
    private long regionId_;
    /**
     * <code>uint64 region_id = 2;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int PLAN_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString plan_;
    /**
     * <pre>
     * substrait plan to query
     * </pre>
     *
     * <code>bytes plan = 3;</code>
     * @return The plan.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getPlan() {
      return plan_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (header_ != null) {
        output.writeMessage(1, getHeader());
      }
      if (regionId_ != 0L) {
        output.writeUInt64(2, regionId_);
      }
      if (!plan_.isEmpty()) {
        output.writeBytes(3, plan_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (header_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getHeader());
      }
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, regionId_);
      }
      if (!plan_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, plan_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.QueryRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.QueryRequest other = (io.greptime.v1.region.Server.QueryRequest) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getPlan()
          .equals(other.getPlan())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + PLAN_FIELD_NUMBER;
      hash = (53 * hash) + getPlan().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.QueryRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.QueryRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.QueryRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.QueryRequest)
        io.greptime.v1.region.Server.QueryRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_QueryRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_QueryRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.QueryRequest.class, io.greptime.v1.region.Server.QueryRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.QueryRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (headerBuilder_ == null) {
          header_ = null;
        } else {
          header_ = null;
          headerBuilder_ = null;
        }
        regionId_ = 0L;

        plan_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_QueryRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.QueryRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.QueryRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.QueryRequest build() {
        io.greptime.v1.region.Server.QueryRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.QueryRequest buildPartial() {
        io.greptime.v1.region.Server.QueryRequest result = new io.greptime.v1.region.Server.QueryRequest(this);
        if (headerBuilder_ == null) {
          result.header_ = header_;
        } else {
          result.header_ = headerBuilder_.build();
        }
        result.regionId_ = regionId_;
        result.plan_ = plan_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.QueryRequest) {
          return mergeFrom((io.greptime.v1.region.Server.QueryRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.QueryRequest other) {
        if (other == io.greptime.v1.region.Server.QueryRequest.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.getPlan() != com.google.protobuf.ByteString.EMPTY) {
          setPlan(other.getPlan());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.QueryRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.QueryRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private io.greptime.v1.region.Server.RegionRequestHeader header_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder> headerBuilder_;
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return headerBuilder_ != null || header_ != null;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       * @return The header.
       */
      public io.greptime.v1.region.Server.RegionRequestHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder setHeader(io.greptime.v1.region.Server.RegionRequestHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
          onChanged();
        } else {
          headerBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder setHeader(
          io.greptime.v1.region.Server.RegionRequestHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
          onChanged();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder mergeHeader(io.greptime.v1.region.Server.RegionRequestHeader value) {
        if (headerBuilder_ == null) {
          if (header_ != null) {
            header_ =
              io.greptime.v1.region.Server.RegionRequestHeader.newBuilder(header_).mergeFrom(value).buildPartial();
          } else {
            header_ = value;
          }
          onChanged();
        } else {
          headerBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public Builder clearHeader() {
        if (headerBuilder_ == null) {
          header_ = null;
          onChanged();
        } else {
          header_ = null;
          headerBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionRequestHeader.Builder getHeaderBuilder() {
        
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              io.greptime.v1.region.Server.RegionRequestHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * <code>.greptime.v1.region.RegionRequestHeader header = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.RegionRequestHeader, io.greptime.v1.region.Server.RegionRequestHeader.Builder, io.greptime.v1.region.Server.RegionRequestHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 2;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 2;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString plan_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * substrait plan to query
       * </pre>
       *
       * <code>bytes plan = 3;</code>
       * @return The plan.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getPlan() {
        return plan_;
      }
      /**
       * <pre>
       * substrait plan to query
       * </pre>
       *
       * <code>bytes plan = 3;</code>
       * @param value The plan to set.
       * @return This builder for chaining.
       */
      public Builder setPlan(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        plan_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * substrait plan to query
       * </pre>
       *
       * <code>bytes plan = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPlan() {
        
        plan_ = getDefaultInstance().getPlan();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.QueryRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.QueryRequest)
    private static final io.greptime.v1.region.Server.QueryRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.QueryRequest();
    }

    public static io.greptime.v1.region.Server.QueryRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<QueryRequest>
        PARSER = new com.google.protobuf.AbstractParser<QueryRequest>() {
      @java.lang.Override
      public QueryRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new QueryRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<QueryRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.QueryRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CreateRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.CreateRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.CreateRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.CreateRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.CreateRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.CreateRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * <pre>
   * Create a batch of regions at once, usually used to create multiple logical
   * regions at once. Different engines can choose whether to support this
   * request. Metric Engine needs it.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.CreateRequests}
   */
  public static final class CreateRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.CreateRequests)
      CreateRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateRequests.newBuilder() to construct.
    private CreateRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CreateRequests() {
      requests_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateRequests();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.CreateRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.region.Server.CreateRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.CreateRequests.class, io.greptime.v1.region.Server.CreateRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.CreateRequest> requests_;
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.CreateRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.CreateRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.CreateRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.CreateRequests other = (io.greptime.v1.region.Server.CreateRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.CreateRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Create a batch of regions at once, usually used to create multiple logical
     * regions at once. Different engines can choose whether to support this
     * request. Metric Engine needs it.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.CreateRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.CreateRequests)
        io.greptime.v1.region.Server.CreateRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.CreateRequests.class, io.greptime.v1.region.Server.CreateRequests.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.CreateRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequests getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.CreateRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequests build() {
        io.greptime.v1.region.Server.CreateRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequests buildPartial() {
        io.greptime.v1.region.Server.CreateRequests result = new io.greptime.v1.region.Server.CreateRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.CreateRequests) {
          return mergeFrom((io.greptime.v1.region.Server.CreateRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.CreateRequests other) {
        if (other == io.greptime.v1.region.Server.CreateRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.CreateRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.CreateRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.CreateRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.CreateRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.CreateRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.CreateRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.CreateRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.CreateRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.region.Server.CreateRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.CreateRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.region.Server.CreateRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.CreateRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.CreateRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.CreateRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.CreateRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.CreateRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.CreateRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.CreateRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.CreateRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.CreateRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.CreateRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.CreateRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.CreateRequest, io.greptime.v1.region.Server.CreateRequest.Builder, io.greptime.v1.region.Server.CreateRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.CreateRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.CreateRequests)
    private static final io.greptime.v1.region.Server.CreateRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.CreateRequests();
    }

    public static io.greptime.v1.region.Server.CreateRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CreateRequests>
        PARSER = new com.google.protobuf.AbstractParser<CreateRequests>() {
      @java.lang.Override
      public CreateRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateRequests(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CreateRequests> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CreateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.CreateRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The engine.
     */
    java.lang.String getEngine();
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The bytes for engine.
     */
    com.google.protobuf.ByteString
        getEngineBytes();

    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    java.util.List<io.greptime.v1.region.Server.RegionColumnDef> 
        getColumnDefsList();
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index);
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    int getColumnDefsCount();
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.RegionColumnDefOrBuilder> 
        getColumnDefsOrBuilderList();
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder(
        int index);

    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @return A list containing the primaryKey.
     */
    java.util.List<java.lang.Integer> getPrimaryKeyList();
    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @return The count of primaryKey.
     */
    int getPrimaryKeyCount();
    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @param index The index of the element to return.
     * @return The primaryKey at the given index.
     */
    int getPrimaryKey(int index);

    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 5;</code>
     * @return The path.
     */
    java.lang.String getPath();
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 5;</code>
     * @return The bytes for path.
     */
    com.google.protobuf.ByteString
        getPathBytes();

    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    int getOptionsCount();
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    boolean containsOptions(
        java.lang.String key);
    /**
     * Use {@link #getOptionsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getOptions();
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getOptionsMap();
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */

    /* nullable */
java.lang.String getOptionsOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */

    java.lang.String getOptionsOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code greptime.v1.region.CreateRequest}
   */
  public static final class CreateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.CreateRequest)
      CreateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateRequest.newBuilder() to construct.
    private CreateRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CreateRequest() {
      engine_ = "";
      columnDefs_ = java.util.Collections.emptyList();
      primaryKey_ = emptyIntList();
      path_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              engine_ = s;
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                columnDefs_ = new java.util.ArrayList<io.greptime.v1.region.Server.RegionColumnDef>();
                mutable_bitField0_ |= 0x00000001;
              }
              columnDefs_.add(
                  input.readMessage(io.greptime.v1.region.Server.RegionColumnDef.parser(), extensionRegistry));
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                primaryKey_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              primaryKey_.addInt(input.readUInt32());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                primaryKey_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                primaryKey_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              path_ = s;
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                options_ = com.google.protobuf.MapField.newMapField(
                    OptionsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000004;
              }
              com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
              options__ = input.readMessage(
                  OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              options_.getMutableMap().put(
                  options__.getKey(), options__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          columnDefs_ = java.util.Collections.unmodifiableList(columnDefs_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          primaryKey_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 6:
          return internalGetOptions();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.CreateRequest.class, io.greptime.v1.region.Server.CreateRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ENGINE_FIELD_NUMBER = 2;
    private volatile java.lang.Object engine_;
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The engine.
     */
    @java.lang.Override
    public java.lang.String getEngine() {
      java.lang.Object ref = engine_;
      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();
        engine_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The bytes for engine.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEngineBytes() {
      java.lang.Object ref = engine_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        engine_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COLUMN_DEFS_FIELD_NUMBER = 3;
    private java.util.List<io.greptime.v1.region.Server.RegionColumnDef> columnDefs_;
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.RegionColumnDef> getColumnDefsList() {
      return columnDefs_;
    }
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.RegionColumnDefOrBuilder> 
        getColumnDefsOrBuilderList() {
      return columnDefs_;
    }
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    @java.lang.Override
    public int getColumnDefsCount() {
      return columnDefs_.size();
    }
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index) {
      return columnDefs_.get(index);
    }
    /**
     * <pre>
     * Columns in this region.
     * </pre>
     *
     * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder(
        int index) {
      return columnDefs_.get(index);
    }

    public static final int PRIMARY_KEY_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.IntList primaryKey_;
    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @return A list containing the primaryKey.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getPrimaryKeyList() {
      return primaryKey_;
    }
    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @return The count of primaryKey.
     */
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    /**
     * <pre>
     * Column Id of primary keys.
     * </pre>
     *
     * <code>repeated uint32 primary_key = 4;</code>
     * @param index The index of the element to return.
     * @return The primaryKey at the given index.
     */
    public int getPrimaryKey(int index) {
      return primaryKey_.getInt(index);
    }
    private int primaryKeyMemoizedSerializedSize = -1;

    public static final int PATH_FIELD_NUMBER = 5;
    private volatile java.lang.Object path_;
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 5;</code>
     * @return The path.
     */
    @java.lang.Override
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      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();
        path_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 5;</code>
     * @return The bytes for path.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OPTIONS_FIELD_NUMBER = 6;
    private static final class OptionsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_OptionsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> options_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetOptions() {
      if (options_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            OptionsDefaultEntryHolder.defaultEntry);
      }
      return options_;
    }

    public int getOptionsCount() {
      return internalGetOptions().getMap().size();
    }
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */

    @java.lang.Override
    public boolean containsOptions(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetOptions().getMap().containsKey(key);
    }
    /**
     * Use {@link #getOptionsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getOptions() {
      return getOptionsMap();
    }
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getOptionsMap() {
      return internalGetOptions().getMap();
    }
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    @java.lang.Override

    public java.lang.String getOptionsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetOptions().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Options of the created region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 6;</code>
     */
    @java.lang.Override

    public java.lang.String getOptionsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetOptions().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(engine_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, engine_);
      }
      for (int i = 0; i < columnDefs_.size(); i++) {
        output.writeMessage(3, columnDefs_.get(i));
      }
      if (getPrimaryKeyList().size() > 0) {
        output.writeUInt32NoTag(34);
        output.writeUInt32NoTag(primaryKeyMemoizedSerializedSize);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeUInt32NoTag(primaryKey_.getInt(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(path_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, path_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetOptions(),
          OptionsDefaultEntryHolder.defaultEntry,
          6);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(engine_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, engine_);
      }
      for (int i = 0; i < columnDefs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, columnDefs_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < primaryKey_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(primaryKey_.getInt(i));
        }
        size += dataSize;
        if (!getPrimaryKeyList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        primaryKeyMemoizedSerializedSize = dataSize;
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(path_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, path_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetOptions().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, options__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.CreateRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.CreateRequest other = (io.greptime.v1.region.Server.CreateRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getEngine()
          .equals(other.getEngine())) return false;
      if (!getColumnDefsList()
          .equals(other.getColumnDefsList())) return false;
      if (!getPrimaryKeyList()
          .equals(other.getPrimaryKeyList())) return false;
      if (!getPath()
          .equals(other.getPath())) return false;
      if (!internalGetOptions().equals(
          other.internalGetOptions())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + ENGINE_FIELD_NUMBER;
      hash = (53 * hash) + getEngine().hashCode();
      if (getColumnDefsCount() > 0) {
        hash = (37 * hash) + COLUMN_DEFS_FIELD_NUMBER;
        hash = (53 * hash) + getColumnDefsList().hashCode();
      }
      if (getPrimaryKeyCount() > 0) {
        hash = (37 * hash) + PRIMARY_KEY_FIELD_NUMBER;
        hash = (53 * hash) + getPrimaryKeyList().hashCode();
      }
      hash = (37 * hash) + PATH_FIELD_NUMBER;
      hash = (53 * hash) + getPath().hashCode();
      if (!internalGetOptions().getMap().isEmpty()) {
        hash = (37 * hash) + OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetOptions().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CreateRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.CreateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.CreateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.CreateRequest)
        io.greptime.v1.region.Server.CreateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 6:
            return internalGetOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 6:
            return internalGetMutableOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.CreateRequest.class, io.greptime.v1.region.Server.CreateRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.CreateRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getColumnDefsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        engine_ = "";

        if (columnDefsBuilder_ == null) {
          columnDefs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          columnDefsBuilder_.clear();
        }
        primaryKey_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        path_ = "";

        internalGetMutableOptions().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CreateRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.CreateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequest build() {
        io.greptime.v1.region.Server.CreateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CreateRequest buildPartial() {
        io.greptime.v1.region.Server.CreateRequest result = new io.greptime.v1.region.Server.CreateRequest(this);
        int from_bitField0_ = bitField0_;
        result.regionId_ = regionId_;
        result.engine_ = engine_;
        if (columnDefsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            columnDefs_ = java.util.Collections.unmodifiableList(columnDefs_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.columnDefs_ = columnDefs_;
        } else {
          result.columnDefs_ = columnDefsBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          primaryKey_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.primaryKey_ = primaryKey_;
        result.path_ = path_;
        result.options_ = internalGetOptions();
        result.options_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.CreateRequest) {
          return mergeFrom((io.greptime.v1.region.Server.CreateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.CreateRequest other) {
        if (other == io.greptime.v1.region.Server.CreateRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (!other.getEngine().isEmpty()) {
          engine_ = other.engine_;
          onChanged();
        }
        if (columnDefsBuilder_ == null) {
          if (!other.columnDefs_.isEmpty()) {
            if (columnDefs_.isEmpty()) {
              columnDefs_ = other.columnDefs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureColumnDefsIsMutable();
              columnDefs_.addAll(other.columnDefs_);
            }
            onChanged();
          }
        } else {
          if (!other.columnDefs_.isEmpty()) {
            if (columnDefsBuilder_.isEmpty()) {
              columnDefsBuilder_.dispose();
              columnDefsBuilder_ = null;
              columnDefs_ = other.columnDefs_;
              bitField0_ = (bitField0_ & ~0x00000001);
              columnDefsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getColumnDefsFieldBuilder() : null;
            } else {
              columnDefsBuilder_.addAllMessages(other.columnDefs_);
            }
          }
        }
        if (!other.primaryKey_.isEmpty()) {
          if (primaryKey_.isEmpty()) {
            primaryKey_ = other.primaryKey_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensurePrimaryKeyIsMutable();
            primaryKey_.addAll(other.primaryKey_);
          }
          onChanged();
        }
        if (!other.getPath().isEmpty()) {
          path_ = other.path_;
          onChanged();
        }
        internalGetMutableOptions().mergeFrom(
            other.internalGetOptions());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.CreateRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.CreateRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object engine_ = "";
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return The engine.
       */
      public java.lang.String getEngine() {
        java.lang.Object ref = engine_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          engine_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return The bytes for engine.
       */
      public com.google.protobuf.ByteString
          getEngineBytes() {
        java.lang.Object ref = engine_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          engine_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @param value The engine to set.
       * @return This builder for chaining.
       */
      public Builder setEngine(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        engine_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEngine() {
        
        engine_ = getDefaultInstance().getEngine();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @param value The bytes for engine to set.
       * @return This builder for chaining.
       */
      public Builder setEngineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        engine_ = value;
        onChanged();
        return this;
      }

      private java.util.List<io.greptime.v1.region.Server.RegionColumnDef> columnDefs_ =
        java.util.Collections.emptyList();
      private void ensureColumnDefsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          columnDefs_ = new java.util.ArrayList<io.greptime.v1.region.Server.RegionColumnDef>(columnDefs_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> columnDefsBuilder_;

      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.RegionColumnDef> getColumnDefsList() {
        if (columnDefsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(columnDefs_);
        } else {
          return columnDefsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public int getColumnDefsCount() {
        if (columnDefsBuilder_ == null) {
          return columnDefs_.size();
        } else {
          return columnDefsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDef getColumnDefs(int index) {
        if (columnDefsBuilder_ == null) {
          return columnDefs_.get(index);
        } else {
          return columnDefsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder setColumnDefs(
          int index, io.greptime.v1.region.Server.RegionColumnDef value) {
        if (columnDefsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureColumnDefsIsMutable();
          columnDefs_.set(index, value);
          onChanged();
        } else {
          columnDefsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder setColumnDefs(
          int index, io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) {
        if (columnDefsBuilder_ == null) {
          ensureColumnDefsIsMutable();
          columnDefs_.set(index, builderForValue.build());
          onChanged();
        } else {
          columnDefsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder addColumnDefs(io.greptime.v1.region.Server.RegionColumnDef value) {
        if (columnDefsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureColumnDefsIsMutable();
          columnDefs_.add(value);
          onChanged();
        } else {
          columnDefsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder addColumnDefs(
          int index, io.greptime.v1.region.Server.RegionColumnDef value) {
        if (columnDefsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureColumnDefsIsMutable();
          columnDefs_.add(index, value);
          onChanged();
        } else {
          columnDefsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder addColumnDefs(
          io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) {
        if (columnDefsBuilder_ == null) {
          ensureColumnDefsIsMutable();
          columnDefs_.add(builderForValue.build());
          onChanged();
        } else {
          columnDefsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder addColumnDefs(
          int index, io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) {
        if (columnDefsBuilder_ == null) {
          ensureColumnDefsIsMutable();
          columnDefs_.add(index, builderForValue.build());
          onChanged();
        } else {
          columnDefsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder addAllColumnDefs(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.RegionColumnDef> values) {
        if (columnDefsBuilder_ == null) {
          ensureColumnDefsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, columnDefs_);
          onChanged();
        } else {
          columnDefsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder clearColumnDefs() {
        if (columnDefsBuilder_ == null) {
          columnDefs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          columnDefsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public Builder removeColumnDefs(int index) {
        if (columnDefsBuilder_ == null) {
          ensureColumnDefsIsMutable();
          columnDefs_.remove(index);
          onChanged();
        } else {
          columnDefsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDef.Builder getColumnDefsBuilder(
          int index) {
        return getColumnDefsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefsOrBuilder(
          int index) {
        if (columnDefsBuilder_ == null) {
          return columnDefs_.get(index);  } else {
          return columnDefsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.RegionColumnDefOrBuilder> 
           getColumnDefsOrBuilderList() {
        if (columnDefsBuilder_ != null) {
          return columnDefsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(columnDefs_);
        }
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDef.Builder addColumnDefsBuilder() {
        return getColumnDefsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance());
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDef.Builder addColumnDefsBuilder(
          int index) {
        return getColumnDefsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance());
      }
      /**
       * <pre>
       * Columns in this region.
       * </pre>
       *
       * <code>repeated .greptime.v1.region.RegionColumnDef column_defs = 3;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.RegionColumnDef.Builder> 
           getColumnDefsBuilderList() {
        return getColumnDefsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> 
          getColumnDefsFieldBuilder() {
        if (columnDefsBuilder_ == null) {
          columnDefsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder>(
                  columnDefs_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          columnDefs_ = null;
        }
        return columnDefsBuilder_;
      }

      private com.google.protobuf.Internal.IntList primaryKey_ = emptyIntList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          primaryKey_ = mutableCopy(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @return A list containing the primaryKey.
       */
      public java.util.List<java.lang.Integer>
          getPrimaryKeyList() {
        return ((bitField0_ & 0x00000002) != 0) ?
                 java.util.Collections.unmodifiableList(primaryKey_) : primaryKey_;
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @return The count of primaryKey.
       */
      public int getPrimaryKeyCount() {
        return primaryKey_.size();
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @param index The index of the element to return.
       * @return The primaryKey at the given index.
       */
      public int getPrimaryKey(int index) {
        return primaryKey_.getInt(index);
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @param index The index to set the value at.
       * @param value The primaryKey to set.
       * @return This builder for chaining.
       */
      public Builder setPrimaryKey(
          int index, int value) {
        ensurePrimaryKeyIsMutable();
        primaryKey_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @param value The primaryKey to add.
       * @return This builder for chaining.
       */
      public Builder addPrimaryKey(int value) {
        ensurePrimaryKeyIsMutable();
        primaryKey_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @param values The primaryKey to add.
       * @return This builder for chaining.
       */
      public Builder addAllPrimaryKey(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensurePrimaryKeyIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, primaryKey_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Column Id of primary keys.
       * </pre>
       *
       * <code>repeated uint32 primary_key = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearPrimaryKey() {
        primaryKey_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private java.lang.Object path_ = "";
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 5;</code>
       * @return The path.
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          path_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 5;</code>
       * @return The bytes for path.
       */
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 5;</code>
       * @param value The path to set.
       * @return This builder for chaining.
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearPath() {
        
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 5;</code>
       * @param value The bytes for path to set.
       * @return This builder for chaining.
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        path_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> options_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetOptions() {
        if (options_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              OptionsDefaultEntryHolder.defaultEntry);
        }
        return options_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableOptions() {
        onChanged();;
        if (options_ == null) {
          options_ = com.google.protobuf.MapField.newMapField(
              OptionsDefaultEntryHolder.defaultEntry);
        }
        if (!options_.isMutable()) {
          options_ = options_.copy();
        }
        return options_;
      }

      public int getOptionsCount() {
        return internalGetOptions().getMap().size();
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */

      @java.lang.Override
      public boolean containsOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetOptions().getMap().containsKey(key);
      }
      /**
       * Use {@link #getOptionsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getOptions() {
        return getOptionsMap();
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, java.lang.String> getOptionsMap() {
        return internalGetOptions().getMap();
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */
      @java.lang.Override

      public java.lang.String getOptionsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetOptions().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */
      @java.lang.Override

      public java.lang.String getOptionsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetOptions().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearOptions() {
        internalGetMutableOptions().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */

      public Builder removeOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableOptions().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableOptions() {
        return internalGetMutableOptions().getMutableMap();
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */
      public Builder putOptions(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableOptions().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <pre>
       * Options of the created region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 6;</code>
       */

      public Builder putAllOptions(
          java.util.Map<java.lang.String, java.lang.String> values) {
        internalGetMutableOptions().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.CreateRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.CreateRequest)
    private static final io.greptime.v1.region.Server.CreateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.CreateRequest();
    }

    public static io.greptime.v1.region.Server.CreateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CreateRequest>
        PARSER = new com.google.protobuf.AbstractParser<CreateRequest>() {
      @java.lang.Override
      public CreateRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CreateRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.CreateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DropRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.DropRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.DropRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.DropRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.DropRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * <pre>
   * Same as CreateRequests, but for dropping regions.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.DropRequests}
   */
  public static final class DropRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropRequests)
      DropRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DropRequests.newBuilder() to construct.
    private DropRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DropRequests() {
      requests_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DropRequests();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DropRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.DropRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.region.Server.DropRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DropRequests.class, io.greptime.v1.region.Server.DropRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.DropRequest> requests_;
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.DropRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.DropRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DropRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DropRequests other = (io.greptime.v1.region.Server.DropRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DropRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Same as CreateRequests, but for dropping regions.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.DropRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropRequests)
        io.greptime.v1.region.Server.DropRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DropRequests.class, io.greptime.v1.region.Server.DropRequests.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DropRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequests getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DropRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequests build() {
        io.greptime.v1.region.Server.DropRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequests buildPartial() {
        io.greptime.v1.region.Server.DropRequests result = new io.greptime.v1.region.Server.DropRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DropRequests) {
          return mergeFrom((io.greptime.v1.region.Server.DropRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DropRequests other) {
        if (other == io.greptime.v1.region.Server.DropRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DropRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DropRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.DropRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.DropRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DropRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DropRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.DropRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.DropRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.region.Server.DropRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.DropRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.region.Server.DropRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.DropRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.DropRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DropRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DropRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.DropRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DropRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.DropRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.DropRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.DropRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DropRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DropRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.DropRequest, io.greptime.v1.region.Server.DropRequest.Builder, io.greptime.v1.region.Server.DropRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropRequests)
    private static final io.greptime.v1.region.Server.DropRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropRequests();
    }

    public static io.greptime.v1.region.Server.DropRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DropRequests>
        PARSER = new com.google.protobuf.AbstractParser<DropRequests>() {
      @java.lang.Override
      public DropRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DropRequests(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DropRequests> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DropRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <pre>
     * Only used by Metric Engine, for fast path drop.
     * It only works for Metric Engine, and will be ignored by other engines.
     * If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually.
     * </pre>
     *
     * <code>bool fast_path = 2;</code>
     * @return The fastPath.
     */
    boolean getFastPath();
  }
  /**
   * Protobuf type {@code greptime.v1.region.DropRequest}
   */
  public static final class DropRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropRequest)
      DropRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DropRequest.newBuilder() to construct.
    private DropRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DropRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DropRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DropRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 16: {

              fastPath_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DropRequest.class, io.greptime.v1.region.Server.DropRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int FAST_PATH_FIELD_NUMBER = 2;
    private boolean fastPath_;
    /**
     * <pre>
     * Only used by Metric Engine, for fast path drop.
     * It only works for Metric Engine, and will be ignored by other engines.
     * If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually.
     * </pre>
     *
     * <code>bool fast_path = 2;</code>
     * @return The fastPath.
     */
    @java.lang.Override
    public boolean getFastPath() {
      return fastPath_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (fastPath_ != false) {
        output.writeBool(2, fastPath_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (fastPath_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, fastPath_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DropRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DropRequest other = (io.greptime.v1.region.Server.DropRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (getFastPath()
          != other.getFastPath()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + FAST_PATH_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getFastPath());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DropRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.DropRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropRequest)
        io.greptime.v1.region.Server.DropRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DropRequest.class, io.greptime.v1.region.Server.DropRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DropRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        fastPath_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DropRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequest build() {
        io.greptime.v1.region.Server.DropRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropRequest buildPartial() {
        io.greptime.v1.region.Server.DropRequest result = new io.greptime.v1.region.Server.DropRequest(this);
        result.regionId_ = regionId_;
        result.fastPath_ = fastPath_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DropRequest) {
          return mergeFrom((io.greptime.v1.region.Server.DropRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DropRequest other) {
        if (other == io.greptime.v1.region.Server.DropRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.getFastPath() != false) {
          setFastPath(other.getFastPath());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DropRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DropRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private boolean fastPath_ ;
      /**
       * <pre>
       * Only used by Metric Engine, for fast path drop.
       * It only works for Metric Engine, and will be ignored by other engines.
       * If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually.
       * </pre>
       *
       * <code>bool fast_path = 2;</code>
       * @return The fastPath.
       */
      @java.lang.Override
      public boolean getFastPath() {
        return fastPath_;
      }
      /**
       * <pre>
       * Only used by Metric Engine, for fast path drop.
       * It only works for Metric Engine, and will be ignored by other engines.
       * If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually.
       * </pre>
       *
       * <code>bool fast_path = 2;</code>
       * @param value The fastPath to set.
       * @return This builder for chaining.
       */
      public Builder setFastPath(boolean value) {
        
        fastPath_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Only used by Metric Engine, for fast path drop.
       * It only works for Metric Engine, and will be ignored by other engines.
       * If true, the Metric Engine will delete logical tables in memory, and drop the physical region eventually.
       * </pre>
       *
       * <code>bool fast_path = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFastPath() {
        
        fastPath_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropRequest)
    private static final io.greptime.v1.region.Server.DropRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropRequest();
    }

    public static io.greptime.v1.region.Server.DropRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DropRequest>
        PARSER = new com.google.protobuf.AbstractParser<DropRequest>() {
      @java.lang.Override
      public DropRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DropRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DropRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DropRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface OpenRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.OpenRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The engine.
     */
    java.lang.String getEngine();
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The bytes for engine.
     */
    com.google.protobuf.ByteString
        getEngineBytes();

    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 3;</code>
     * @return The path.
     */
    java.lang.String getPath();
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 3;</code>
     * @return The bytes for path.
     */
    com.google.protobuf.ByteString
        getPathBytes();

    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    int getOptionsCount();
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    boolean containsOptions(
        java.lang.String key);
    /**
     * Use {@link #getOptionsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getOptions();
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getOptionsMap();
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */

    /* nullable */
java.lang.String getOptionsOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */

    java.lang.String getOptionsOrThrow(
        java.lang.String key);
  }
  /**
   * Protobuf type {@code greptime.v1.region.OpenRequest}
   */
  public static final class OpenRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.OpenRequest)
      OpenRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use OpenRequest.newBuilder() to construct.
    private OpenRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private OpenRequest() {
      engine_ = "";
      path_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new OpenRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private OpenRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              engine_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              path_ = s;
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                options_ = com.google.protobuf.MapField.newMapField(
                    OptionsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
              options__ = input.readMessage(
                  OptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              options_.getMutableMap().put(
                  options__.getKey(), options__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 4:
          return internalGetOptions();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.OpenRequest.class, io.greptime.v1.region.Server.OpenRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ENGINE_FIELD_NUMBER = 2;
    private volatile java.lang.Object engine_;
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The engine.
     */
    @java.lang.Override
    public java.lang.String getEngine() {
      java.lang.Object ref = engine_;
      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();
        engine_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Region engine name
     * </pre>
     *
     * <code>string engine = 2;</code>
     * @return The bytes for engine.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEngineBytes() {
      java.lang.Object ref = engine_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        engine_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PATH_FIELD_NUMBER = 3;
    private volatile java.lang.Object path_;
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 3;</code>
     * @return The path.
     */
    @java.lang.Override
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      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();
        path_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Region storage path
     * </pre>
     *
     * <code>string path = 3;</code>
     * @return The bytes for path.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OPTIONS_FIELD_NUMBER = 4;
    private static final class OptionsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_OptionsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> options_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetOptions() {
      if (options_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            OptionsDefaultEntryHolder.defaultEntry);
      }
      return options_;
    }

    public int getOptionsCount() {
      return internalGetOptions().getMap().size();
    }
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */

    @java.lang.Override
    public boolean containsOptions(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetOptions().getMap().containsKey(key);
    }
    /**
     * Use {@link #getOptionsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getOptions() {
      return getOptionsMap();
    }
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getOptionsMap() {
      return internalGetOptions().getMap();
    }
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    @java.lang.Override

    public java.lang.String getOptionsOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetOptions().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Options of the opened region.
     * </pre>
     *
     * <code>map&lt;string, string&gt; options = 4;</code>
     */
    @java.lang.Override

    public java.lang.String getOptionsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetOptions().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(engine_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, engine_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(path_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, path_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetOptions(),
          OptionsDefaultEntryHolder.defaultEntry,
          4);
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(engine_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, engine_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(path_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, path_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetOptions().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        options__ = OptionsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, options__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.OpenRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.OpenRequest other = (io.greptime.v1.region.Server.OpenRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getEngine()
          .equals(other.getEngine())) return false;
      if (!getPath()
          .equals(other.getPath())) return false;
      if (!internalGetOptions().equals(
          other.internalGetOptions())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + ENGINE_FIELD_NUMBER;
      hash = (53 * hash) + getEngine().hashCode();
      hash = (37 * hash) + PATH_FIELD_NUMBER;
      hash = (53 * hash) + getPath().hashCode();
      if (!internalGetOptions().getMap().isEmpty()) {
        hash = (37 * hash) + OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetOptions().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.OpenRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.OpenRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.OpenRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.OpenRequest)
        io.greptime.v1.region.Server.OpenRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 4:
            return internalGetMutableOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.OpenRequest.class, io.greptime.v1.region.Server.OpenRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.OpenRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        engine_ = "";

        path_ = "";

        internalGetMutableOptions().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_OpenRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.OpenRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.OpenRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.OpenRequest build() {
        io.greptime.v1.region.Server.OpenRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.OpenRequest buildPartial() {
        io.greptime.v1.region.Server.OpenRequest result = new io.greptime.v1.region.Server.OpenRequest(this);
        int from_bitField0_ = bitField0_;
        result.regionId_ = regionId_;
        result.engine_ = engine_;
        result.path_ = path_;
        result.options_ = internalGetOptions();
        result.options_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.OpenRequest) {
          return mergeFrom((io.greptime.v1.region.Server.OpenRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.OpenRequest other) {
        if (other == io.greptime.v1.region.Server.OpenRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (!other.getEngine().isEmpty()) {
          engine_ = other.engine_;
          onChanged();
        }
        if (!other.getPath().isEmpty()) {
          path_ = other.path_;
          onChanged();
        }
        internalGetMutableOptions().mergeFrom(
            other.internalGetOptions());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.OpenRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.OpenRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object engine_ = "";
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return The engine.
       */
      public java.lang.String getEngine() {
        java.lang.Object ref = engine_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          engine_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return The bytes for engine.
       */
      public com.google.protobuf.ByteString
          getEngineBytes() {
        java.lang.Object ref = engine_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          engine_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @param value The engine to set.
       * @return This builder for chaining.
       */
      public Builder setEngine(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        engine_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEngine() {
        
        engine_ = getDefaultInstance().getEngine();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region engine name
       * </pre>
       *
       * <code>string engine = 2;</code>
       * @param value The bytes for engine to set.
       * @return This builder for chaining.
       */
      public Builder setEngineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        engine_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object path_ = "";
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 3;</code>
       * @return The path.
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          path_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 3;</code>
       * @return The bytes for path.
       */
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 3;</code>
       * @param value The path to set.
       * @return This builder for chaining.
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPath() {
        
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Region storage path
       * </pre>
       *
       * <code>string path = 3;</code>
       * @param value The bytes for path to set.
       * @return This builder for chaining.
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        path_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> options_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetOptions() {
        if (options_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              OptionsDefaultEntryHolder.defaultEntry);
        }
        return options_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableOptions() {
        onChanged();;
        if (options_ == null) {
          options_ = com.google.protobuf.MapField.newMapField(
              OptionsDefaultEntryHolder.defaultEntry);
        }
        if (!options_.isMutable()) {
          options_ = options_.copy();
        }
        return options_;
      }

      public int getOptionsCount() {
        return internalGetOptions().getMap().size();
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */

      @java.lang.Override
      public boolean containsOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetOptions().getMap().containsKey(key);
      }
      /**
       * Use {@link #getOptionsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getOptions() {
        return getOptionsMap();
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, java.lang.String> getOptionsMap() {
        return internalGetOptions().getMap();
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */
      @java.lang.Override

      public java.lang.String getOptionsOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetOptions().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */
      @java.lang.Override

      public java.lang.String getOptionsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetOptions().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearOptions() {
        internalGetMutableOptions().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */

      public Builder removeOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableOptions().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableOptions() {
        return internalGetMutableOptions().getMutableMap();
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */
      public Builder putOptions(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableOptions().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <pre>
       * Options of the opened region.
       * </pre>
       *
       * <code>map&lt;string, string&gt; options = 4;</code>
       */

      public Builder putAllOptions(
          java.util.Map<java.lang.String, java.lang.String> values) {
        internalGetMutableOptions().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.OpenRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.OpenRequest)
    private static final io.greptime.v1.region.Server.OpenRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.OpenRequest();
    }

    public static io.greptime.v1.region.Server.OpenRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<OpenRequest>
        PARSER = new com.google.protobuf.AbstractParser<OpenRequest>() {
      @java.lang.Override
      public OpenRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new OpenRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<OpenRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.OpenRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CloseRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.CloseRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();
  }
  /**
   * Protobuf type {@code greptime.v1.region.CloseRequest}
   */
  public static final class CloseRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.CloseRequest)
      CloseRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CloseRequest.newBuilder() to construct.
    private CloseRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CloseRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CloseRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CloseRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CloseRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CloseRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.CloseRequest.class, io.greptime.v1.region.Server.CloseRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.CloseRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.CloseRequest other = (io.greptime.v1.region.Server.CloseRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CloseRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.CloseRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.CloseRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.CloseRequest)
        io.greptime.v1.region.Server.CloseRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CloseRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CloseRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.CloseRequest.class, io.greptime.v1.region.Server.CloseRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.CloseRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CloseRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CloseRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.CloseRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CloseRequest build() {
        io.greptime.v1.region.Server.CloseRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CloseRequest buildPartial() {
        io.greptime.v1.region.Server.CloseRequest result = new io.greptime.v1.region.Server.CloseRequest(this);
        result.regionId_ = regionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.CloseRequest) {
          return mergeFrom((io.greptime.v1.region.Server.CloseRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.CloseRequest other) {
        if (other == io.greptime.v1.region.Server.CloseRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.CloseRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.CloseRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.CloseRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.CloseRequest)
    private static final io.greptime.v1.region.Server.CloseRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.CloseRequest();
    }

    public static io.greptime.v1.region.Server.CloseRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CloseRequest>
        PARSER = new com.google.protobuf.AbstractParser<CloseRequest>() {
      @java.lang.Override
      public CloseRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CloseRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CloseRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.CloseRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AlterRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AlterRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.AlterRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.AlterRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.AlterRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    io.greptime.v1.region.Server.AlterRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.region.AlterRequests}
   */
  public static final class AlterRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.AlterRequests)
      AlterRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AlterRequests.newBuilder() to construct.
    private AlterRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AlterRequests() {
      requests_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AlterRequests();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AlterRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.AlterRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.region.Server.AlterRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.AlterRequests.class, io.greptime.v1.region.Server.AlterRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.AlterRequest> requests_;
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.AlterRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.AlterRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.AlterRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.AlterRequests other = (io.greptime.v1.region.Server.AlterRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.AlterRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.AlterRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AlterRequests)
        io.greptime.v1.region.Server.AlterRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.AlterRequests.class, io.greptime.v1.region.Server.AlterRequests.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.AlterRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequests getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.AlterRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequests build() {
        io.greptime.v1.region.Server.AlterRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequests buildPartial() {
        io.greptime.v1.region.Server.AlterRequests result = new io.greptime.v1.region.Server.AlterRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.AlterRequests) {
          return mergeFrom((io.greptime.v1.region.Server.AlterRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.AlterRequests other) {
        if (other == io.greptime.v1.region.Server.AlterRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.AlterRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.AlterRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.AlterRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.region.Server.AlterRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.AlterRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.AlterRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.AlterRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.region.Server.AlterRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.region.Server.AlterRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.AlterRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.region.Server.AlterRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.region.Server.AlterRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.AlterRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.AlterRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.AlterRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.AlterRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.AlterRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.AlterRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public io.greptime.v1.region.Server.AlterRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.AlterRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.AlterRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.AlterRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.AlterRequest, io.greptime.v1.region.Server.AlterRequest.Builder, io.greptime.v1.region.Server.AlterRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AlterRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.AlterRequests)
    private static final io.greptime.v1.region.Server.AlterRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AlterRequests();
    }

    public static io.greptime.v1.region.Server.AlterRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AlterRequests>
        PARSER = new com.google.protobuf.AbstractParser<AlterRequests>() {
      @java.lang.Override
      public AlterRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AlterRequests(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<AlterRequests> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AlterRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AlterRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     * @return Whether the addColumns field is set.
     */
    boolean hasAddColumns();
    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     * @return The addColumns.
     */
    io.greptime.v1.region.Server.AddColumns getAddColumns();
    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     */
    io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder();

    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     * @return Whether the dropColumns field is set.
     */
    boolean hasDropColumns();
    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     * @return The dropColumns.
     */
    io.greptime.v1.region.Server.DropColumns getDropColumns();
    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     */
    io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder();

    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     * @return Whether the modifyColumnTypes field is set.
     */
    boolean hasModifyColumnTypes();
    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     * @return The modifyColumnTypes.
     */
    io.greptime.v1.Ddl.ModifyColumnTypes getModifyColumnTypes();
    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     */
    io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder getModifyColumnTypesOrBuilder();

    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     * @return Whether the setTableOptions field is set.
     */
    boolean hasSetTableOptions();
    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     * @return The setTableOptions.
     */
    io.greptime.v1.Ddl.SetTableOptions getSetTableOptions();
    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     */
    io.greptime.v1.Ddl.SetTableOptionsOrBuilder getSetTableOptionsOrBuilder();

    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     * @return Whether the unsetTableOptions field is set.
     */
    boolean hasUnsetTableOptions();
    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     * @return The unsetTableOptions.
     */
    io.greptime.v1.Ddl.UnsetTableOptions getUnsetTableOptions();
    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     */
    io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder getUnsetTableOptionsOrBuilder();

    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     * @return Whether the setIndex field is set.
     */
    boolean hasSetIndex();
    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     * @return The setIndex.
     */
    io.greptime.v1.Ddl.SetIndex getSetIndex();
    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     */
    io.greptime.v1.Ddl.SetIndexOrBuilder getSetIndexOrBuilder();

    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     * @return Whether the unsetIndex field is set.
     */
    boolean hasUnsetIndex();
    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     * @return The unsetIndex.
     */
    io.greptime.v1.Ddl.UnsetIndex getUnsetIndex();
    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     */
    io.greptime.v1.Ddl.UnsetIndexOrBuilder getUnsetIndexOrBuilder();

    /**
     * <pre>
     * The version of the schema before applying the alteration.
     * </pre>
     *
     * <code>uint64 schema_version = 4;</code>
     * @return The schemaVersion.
     */
    long getSchemaVersion();

    public io.greptime.v1.region.Server.AlterRequest.KindCase getKindCase();
  }
  /**
   * Protobuf type {@code greptime.v1.region.AlterRequest}
   */
  public static final class AlterRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.AlterRequest)
      AlterRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AlterRequest.newBuilder() to construct.
    private AlterRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AlterRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AlterRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AlterRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.region.Server.AddColumns.Builder subBuilder = null;
              if (kindCase_ == 2) {
                subBuilder = ((io.greptime.v1.region.Server.AddColumns) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.region.Server.AddColumns.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.AddColumns) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 2;
              break;
            }
            case 26: {
              io.greptime.v1.region.Server.DropColumns.Builder subBuilder = null;
              if (kindCase_ == 3) {
                subBuilder = ((io.greptime.v1.region.Server.DropColumns) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.region.Server.DropColumns.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.DropColumns) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 3;
              break;
            }
            case 32: {

              schemaVersion_ = input.readUInt64();
              break;
            }
            case 42: {
              io.greptime.v1.Ddl.ModifyColumnTypes.Builder subBuilder = null;
              if (kindCase_ == 5) {
                subBuilder = ((io.greptime.v1.Ddl.ModifyColumnTypes) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.Ddl.ModifyColumnTypes.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.Ddl.ModifyColumnTypes) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 5;
              break;
            }
            case 50: {
              io.greptime.v1.Ddl.SetTableOptions.Builder subBuilder = null;
              if (kindCase_ == 6) {
                subBuilder = ((io.greptime.v1.Ddl.SetTableOptions) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.Ddl.SetTableOptions.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.Ddl.SetTableOptions) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 6;
              break;
            }
            case 74: {
              io.greptime.v1.Ddl.UnsetTableOptions.Builder subBuilder = null;
              if (kindCase_ == 9) {
                subBuilder = ((io.greptime.v1.Ddl.UnsetTableOptions) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.Ddl.UnsetTableOptions.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.Ddl.UnsetTableOptions) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 9;
              break;
            }
            case 82: {
              io.greptime.v1.Ddl.SetIndex.Builder subBuilder = null;
              if (kindCase_ == 10) {
                subBuilder = ((io.greptime.v1.Ddl.SetIndex) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.Ddl.SetIndex.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.Ddl.SetIndex) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 10;
              break;
            }
            case 90: {
              io.greptime.v1.Ddl.UnsetIndex.Builder subBuilder = null;
              if (kindCase_ == 11) {
                subBuilder = ((io.greptime.v1.Ddl.UnsetIndex) kind_).toBuilder();
              }
              kind_ =
                  input.readMessage(io.greptime.v1.Ddl.UnsetIndex.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.Ddl.UnsetIndex) kind_);
                kind_ = subBuilder.buildPartial();
              }
              kindCase_ = 11;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.AlterRequest.class, io.greptime.v1.region.Server.AlterRequest.Builder.class);
    }

    private int kindCase_ = 0;
    private java.lang.Object kind_;
    public enum KindCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      ADD_COLUMNS(2),
      DROP_COLUMNS(3),
      MODIFY_COLUMN_TYPES(5),
      SET_TABLE_OPTIONS(6),
      UNSET_TABLE_OPTIONS(9),
      SET_INDEX(10),
      UNSET_INDEX(11),
      KIND_NOT_SET(0);
      private final int value;
      private KindCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static KindCase valueOf(int value) {
        return forNumber(value);
      }

      public static KindCase forNumber(int value) {
        switch (value) {
          case 2: return ADD_COLUMNS;
          case 3: return DROP_COLUMNS;
          case 5: return MODIFY_COLUMN_TYPES;
          case 6: return SET_TABLE_OPTIONS;
          case 9: return UNSET_TABLE_OPTIONS;
          case 10: return SET_INDEX;
          case 11: return UNSET_INDEX;
          case 0: return KIND_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public KindCase
    getKindCase() {
      return KindCase.forNumber(
          kindCase_);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ADD_COLUMNS_FIELD_NUMBER = 2;
    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     * @return Whether the addColumns field is set.
     */
    @java.lang.Override
    public boolean hasAddColumns() {
      return kindCase_ == 2;
    }
    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     * @return The addColumns.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumns getAddColumns() {
      if (kindCase_ == 2) {
         return (io.greptime.v1.region.Server.AddColumns) kind_;
      }
      return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder() {
      if (kindCase_ == 2) {
         return (io.greptime.v1.region.Server.AddColumns) kind_;
      }
      return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
    }

    public static final int DROP_COLUMNS_FIELD_NUMBER = 3;
    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     * @return Whether the dropColumns field is set.
     */
    @java.lang.Override
    public boolean hasDropColumns() {
      return kindCase_ == 3;
    }
    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     * @return The dropColumns.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumns getDropColumns() {
      if (kindCase_ == 3) {
         return (io.greptime.v1.region.Server.DropColumns) kind_;
      }
      return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder() {
      if (kindCase_ == 3) {
         return (io.greptime.v1.region.Server.DropColumns) kind_;
      }
      return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
    }

    public static final int MODIFY_COLUMN_TYPES_FIELD_NUMBER = 5;
    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     * @return Whether the modifyColumnTypes field is set.
     */
    @java.lang.Override
    public boolean hasModifyColumnTypes() {
      return kindCase_ == 5;
    }
    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     * @return The modifyColumnTypes.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.ModifyColumnTypes getModifyColumnTypes() {
      if (kindCase_ == 5) {
         return (io.greptime.v1.Ddl.ModifyColumnTypes) kind_;
      }
      return io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder getModifyColumnTypesOrBuilder() {
      if (kindCase_ == 5) {
         return (io.greptime.v1.Ddl.ModifyColumnTypes) kind_;
      }
      return io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
    }

    public static final int SET_TABLE_OPTIONS_FIELD_NUMBER = 6;
    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     * @return Whether the setTableOptions field is set.
     */
    @java.lang.Override
    public boolean hasSetTableOptions() {
      return kindCase_ == 6;
    }
    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     * @return The setTableOptions.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.SetTableOptions getSetTableOptions() {
      if (kindCase_ == 6) {
         return (io.greptime.v1.Ddl.SetTableOptions) kind_;
      }
      return io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.SetTableOptionsOrBuilder getSetTableOptionsOrBuilder() {
      if (kindCase_ == 6) {
         return (io.greptime.v1.Ddl.SetTableOptions) kind_;
      }
      return io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
    }

    public static final int UNSET_TABLE_OPTIONS_FIELD_NUMBER = 9;
    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     * @return Whether the unsetTableOptions field is set.
     */
    @java.lang.Override
    public boolean hasUnsetTableOptions() {
      return kindCase_ == 9;
    }
    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     * @return The unsetTableOptions.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.UnsetTableOptions getUnsetTableOptions() {
      if (kindCase_ == 9) {
         return (io.greptime.v1.Ddl.UnsetTableOptions) kind_;
      }
      return io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder getUnsetTableOptionsOrBuilder() {
      if (kindCase_ == 9) {
         return (io.greptime.v1.Ddl.UnsetTableOptions) kind_;
      }
      return io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
    }

    public static final int SET_INDEX_FIELD_NUMBER = 10;
    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     * @return Whether the setIndex field is set.
     */
    @java.lang.Override
    public boolean hasSetIndex() {
      return kindCase_ == 10;
    }
    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     * @return The setIndex.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.SetIndex getSetIndex() {
      if (kindCase_ == 10) {
         return (io.greptime.v1.Ddl.SetIndex) kind_;
      }
      return io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.SetIndex set_index = 10;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.SetIndexOrBuilder getSetIndexOrBuilder() {
      if (kindCase_ == 10) {
         return (io.greptime.v1.Ddl.SetIndex) kind_;
      }
      return io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
    }

    public static final int UNSET_INDEX_FIELD_NUMBER = 11;
    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     * @return Whether the unsetIndex field is set.
     */
    @java.lang.Override
    public boolean hasUnsetIndex() {
      return kindCase_ == 11;
    }
    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     * @return The unsetIndex.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.UnsetIndex getUnsetIndex() {
      if (kindCase_ == 11) {
         return (io.greptime.v1.Ddl.UnsetIndex) kind_;
      }
      return io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.UnsetIndexOrBuilder getUnsetIndexOrBuilder() {
      if (kindCase_ == 11) {
         return (io.greptime.v1.Ddl.UnsetIndex) kind_;
      }
      return io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
    }

    public static final int SCHEMA_VERSION_FIELD_NUMBER = 4;
    private long schemaVersion_;
    /**
     * <pre>
     * The version of the schema before applying the alteration.
     * </pre>
     *
     * <code>uint64 schema_version = 4;</code>
     * @return The schemaVersion.
     */
    @java.lang.Override
    public long getSchemaVersion() {
      return schemaVersion_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (kindCase_ == 2) {
        output.writeMessage(2, (io.greptime.v1.region.Server.AddColumns) kind_);
      }
      if (kindCase_ == 3) {
        output.writeMessage(3, (io.greptime.v1.region.Server.DropColumns) kind_);
      }
      if (schemaVersion_ != 0L) {
        output.writeUInt64(4, schemaVersion_);
      }
      if (kindCase_ == 5) {
        output.writeMessage(5, (io.greptime.v1.Ddl.ModifyColumnTypes) kind_);
      }
      if (kindCase_ == 6) {
        output.writeMessage(6, (io.greptime.v1.Ddl.SetTableOptions) kind_);
      }
      if (kindCase_ == 9) {
        output.writeMessage(9, (io.greptime.v1.Ddl.UnsetTableOptions) kind_);
      }
      if (kindCase_ == 10) {
        output.writeMessage(10, (io.greptime.v1.Ddl.SetIndex) kind_);
      }
      if (kindCase_ == 11) {
        output.writeMessage(11, (io.greptime.v1.Ddl.UnsetIndex) kind_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (kindCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (io.greptime.v1.region.Server.AddColumns) kind_);
      }
      if (kindCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (io.greptime.v1.region.Server.DropColumns) kind_);
      }
      if (schemaVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, schemaVersion_);
      }
      if (kindCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (io.greptime.v1.Ddl.ModifyColumnTypes) kind_);
      }
      if (kindCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (io.greptime.v1.Ddl.SetTableOptions) kind_);
      }
      if (kindCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (io.greptime.v1.Ddl.UnsetTableOptions) kind_);
      }
      if (kindCase_ == 10) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, (io.greptime.v1.Ddl.SetIndex) kind_);
      }
      if (kindCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (io.greptime.v1.Ddl.UnsetIndex) kind_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.AlterRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.AlterRequest other = (io.greptime.v1.region.Server.AlterRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (getSchemaVersion()
          != other.getSchemaVersion()) return false;
      if (!getKindCase().equals(other.getKindCase())) return false;
      switch (kindCase_) {
        case 2:
          if (!getAddColumns()
              .equals(other.getAddColumns())) return false;
          break;
        case 3:
          if (!getDropColumns()
              .equals(other.getDropColumns())) return false;
          break;
        case 5:
          if (!getModifyColumnTypes()
              .equals(other.getModifyColumnTypes())) return false;
          break;
        case 6:
          if (!getSetTableOptions()
              .equals(other.getSetTableOptions())) return false;
          break;
        case 9:
          if (!getUnsetTableOptions()
              .equals(other.getUnsetTableOptions())) return false;
          break;
        case 10:
          if (!getSetIndex()
              .equals(other.getSetIndex())) return false;
          break;
        case 11:
          if (!getUnsetIndex()
              .equals(other.getUnsetIndex())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + SCHEMA_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSchemaVersion());
      switch (kindCase_) {
        case 2:
          hash = (37 * hash) + ADD_COLUMNS_FIELD_NUMBER;
          hash = (53 * hash) + getAddColumns().hashCode();
          break;
        case 3:
          hash = (37 * hash) + DROP_COLUMNS_FIELD_NUMBER;
          hash = (53 * hash) + getDropColumns().hashCode();
          break;
        case 5:
          hash = (37 * hash) + MODIFY_COLUMN_TYPES_FIELD_NUMBER;
          hash = (53 * hash) + getModifyColumnTypes().hashCode();
          break;
        case 6:
          hash = (37 * hash) + SET_TABLE_OPTIONS_FIELD_NUMBER;
          hash = (53 * hash) + getSetTableOptions().hashCode();
          break;
        case 9:
          hash = (37 * hash) + UNSET_TABLE_OPTIONS_FIELD_NUMBER;
          hash = (53 * hash) + getUnsetTableOptions().hashCode();
          break;
        case 10:
          hash = (37 * hash) + SET_INDEX_FIELD_NUMBER;
          hash = (53 * hash) + getSetIndex().hashCode();
          break;
        case 11:
          hash = (37 * hash) + UNSET_INDEX_FIELD_NUMBER;
          hash = (53 * hash) + getUnsetIndex().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AlterRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.AlterRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.AlterRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AlterRequest)
        io.greptime.v1.region.Server.AlterRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.AlterRequest.class, io.greptime.v1.region.Server.AlterRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.AlterRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        schemaVersion_ = 0L;

        kindCase_ = 0;
        kind_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AlterRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.AlterRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequest build() {
        io.greptime.v1.region.Server.AlterRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AlterRequest buildPartial() {
        io.greptime.v1.region.Server.AlterRequest result = new io.greptime.v1.region.Server.AlterRequest(this);
        result.regionId_ = regionId_;
        if (kindCase_ == 2) {
          if (addColumnsBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = addColumnsBuilder_.build();
          }
        }
        if (kindCase_ == 3) {
          if (dropColumnsBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = dropColumnsBuilder_.build();
          }
        }
        if (kindCase_ == 5) {
          if (modifyColumnTypesBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = modifyColumnTypesBuilder_.build();
          }
        }
        if (kindCase_ == 6) {
          if (setTableOptionsBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = setTableOptionsBuilder_.build();
          }
        }
        if (kindCase_ == 9) {
          if (unsetTableOptionsBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = unsetTableOptionsBuilder_.build();
          }
        }
        if (kindCase_ == 10) {
          if (setIndexBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = setIndexBuilder_.build();
          }
        }
        if (kindCase_ == 11) {
          if (unsetIndexBuilder_ == null) {
            result.kind_ = kind_;
          } else {
            result.kind_ = unsetIndexBuilder_.build();
          }
        }
        result.schemaVersion_ = schemaVersion_;
        result.kindCase_ = kindCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.AlterRequest) {
          return mergeFrom((io.greptime.v1.region.Server.AlterRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.AlterRequest other) {
        if (other == io.greptime.v1.region.Server.AlterRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.getSchemaVersion() != 0L) {
          setSchemaVersion(other.getSchemaVersion());
        }
        switch (other.getKindCase()) {
          case ADD_COLUMNS: {
            mergeAddColumns(other.getAddColumns());
            break;
          }
          case DROP_COLUMNS: {
            mergeDropColumns(other.getDropColumns());
            break;
          }
          case MODIFY_COLUMN_TYPES: {
            mergeModifyColumnTypes(other.getModifyColumnTypes());
            break;
          }
          case SET_TABLE_OPTIONS: {
            mergeSetTableOptions(other.getSetTableOptions());
            break;
          }
          case UNSET_TABLE_OPTIONS: {
            mergeUnsetTableOptions(other.getUnsetTableOptions());
            break;
          }
          case SET_INDEX: {
            mergeSetIndex(other.getSetIndex());
            break;
          }
          case UNSET_INDEX: {
            mergeUnsetIndex(other.getUnsetIndex());
            break;
          }
          case KIND_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.AlterRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.AlterRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int kindCase_ = 0;
      private java.lang.Object kind_;
      public KindCase
          getKindCase() {
        return KindCase.forNumber(
            kindCase_);
      }

      public Builder clearKind() {
        kindCase_ = 0;
        kind_ = null;
        onChanged();
        return this;
      }


      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder> addColumnsBuilder_;
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       * @return Whether the addColumns field is set.
       */
      @java.lang.Override
      public boolean hasAddColumns() {
        return kindCase_ == 2;
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       * @return The addColumns.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumns getAddColumns() {
        if (addColumnsBuilder_ == null) {
          if (kindCase_ == 2) {
            return (io.greptime.v1.region.Server.AddColumns) kind_;
          }
          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
        } else {
          if (kindCase_ == 2) {
            return addColumnsBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      public Builder setAddColumns(io.greptime.v1.region.Server.AddColumns value) {
        if (addColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          addColumnsBuilder_.setMessage(value);
        }
        kindCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      public Builder setAddColumns(
          io.greptime.v1.region.Server.AddColumns.Builder builderForValue) {
        if (addColumnsBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          addColumnsBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      public Builder mergeAddColumns(io.greptime.v1.region.Server.AddColumns value) {
        if (addColumnsBuilder_ == null) {
          if (kindCase_ == 2 &&
              kind_ != io.greptime.v1.region.Server.AddColumns.getDefaultInstance()) {
            kind_ = io.greptime.v1.region.Server.AddColumns.newBuilder((io.greptime.v1.region.Server.AddColumns) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 2) {
            addColumnsBuilder_.mergeFrom(value);
          } else {
            addColumnsBuilder_.setMessage(value);
          }
        }
        kindCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      public Builder clearAddColumns() {
        if (addColumnsBuilder_ == null) {
          if (kindCase_ == 2) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 2) {
            kindCase_ = 0;
            kind_ = null;
          }
          addColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      public io.greptime.v1.region.Server.AddColumns.Builder getAddColumnsBuilder() {
        return getAddColumnsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumnsOrBuilder getAddColumnsOrBuilder() {
        if ((kindCase_ == 2) && (addColumnsBuilder_ != null)) {
          return addColumnsBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 2) {
            return (io.greptime.v1.region.Server.AddColumns) kind_;
          }
          return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.AddColumns add_columns = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder> 
          getAddColumnsFieldBuilder() {
        if (addColumnsBuilder_ == null) {
          if (!(kindCase_ == 2)) {
            kind_ = io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
          }
          addColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.AddColumns, io.greptime.v1.region.Server.AddColumns.Builder, io.greptime.v1.region.Server.AddColumnsOrBuilder>(
                  (io.greptime.v1.region.Server.AddColumns) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 2;
        onChanged();;
        return addColumnsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder> dropColumnsBuilder_;
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       * @return Whether the dropColumns field is set.
       */
      @java.lang.Override
      public boolean hasDropColumns() {
        return kindCase_ == 3;
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       * @return The dropColumns.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumns getDropColumns() {
        if (dropColumnsBuilder_ == null) {
          if (kindCase_ == 3) {
            return (io.greptime.v1.region.Server.DropColumns) kind_;
          }
          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
        } else {
          if (kindCase_ == 3) {
            return dropColumnsBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      public Builder setDropColumns(io.greptime.v1.region.Server.DropColumns value) {
        if (dropColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          dropColumnsBuilder_.setMessage(value);
        }
        kindCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      public Builder setDropColumns(
          io.greptime.v1.region.Server.DropColumns.Builder builderForValue) {
        if (dropColumnsBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          dropColumnsBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      public Builder mergeDropColumns(io.greptime.v1.region.Server.DropColumns value) {
        if (dropColumnsBuilder_ == null) {
          if (kindCase_ == 3 &&
              kind_ != io.greptime.v1.region.Server.DropColumns.getDefaultInstance()) {
            kind_ = io.greptime.v1.region.Server.DropColumns.newBuilder((io.greptime.v1.region.Server.DropColumns) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 3) {
            dropColumnsBuilder_.mergeFrom(value);
          } else {
            dropColumnsBuilder_.setMessage(value);
          }
        }
        kindCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      public Builder clearDropColumns() {
        if (dropColumnsBuilder_ == null) {
          if (kindCase_ == 3) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 3) {
            kindCase_ = 0;
            kind_ = null;
          }
          dropColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      public io.greptime.v1.region.Server.DropColumns.Builder getDropColumnsBuilder() {
        return getDropColumnsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumnsOrBuilder getDropColumnsOrBuilder() {
        if ((kindCase_ == 3) && (dropColumnsBuilder_ != null)) {
          return dropColumnsBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 3) {
            return (io.greptime.v1.region.Server.DropColumns) kind_;
          }
          return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.DropColumns drop_columns = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder> 
          getDropColumnsFieldBuilder() {
        if (dropColumnsBuilder_ == null) {
          if (!(kindCase_ == 3)) {
            kind_ = io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
          }
          dropColumnsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.DropColumns, io.greptime.v1.region.Server.DropColumns.Builder, io.greptime.v1.region.Server.DropColumnsOrBuilder>(
                  (io.greptime.v1.region.Server.DropColumns) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 3;
        onChanged();;
        return dropColumnsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.ModifyColumnTypes, io.greptime.v1.Ddl.ModifyColumnTypes.Builder, io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder> modifyColumnTypesBuilder_;
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       * @return Whether the modifyColumnTypes field is set.
       */
      @java.lang.Override
      public boolean hasModifyColumnTypes() {
        return kindCase_ == 5;
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       * @return The modifyColumnTypes.
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.ModifyColumnTypes getModifyColumnTypes() {
        if (modifyColumnTypesBuilder_ == null) {
          if (kindCase_ == 5) {
            return (io.greptime.v1.Ddl.ModifyColumnTypes) kind_;
          }
          return io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
        } else {
          if (kindCase_ == 5) {
            return modifyColumnTypesBuilder_.getMessage();
          }
          return io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      public Builder setModifyColumnTypes(io.greptime.v1.Ddl.ModifyColumnTypes value) {
        if (modifyColumnTypesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          modifyColumnTypesBuilder_.setMessage(value);
        }
        kindCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      public Builder setModifyColumnTypes(
          io.greptime.v1.Ddl.ModifyColumnTypes.Builder builderForValue) {
        if (modifyColumnTypesBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          modifyColumnTypesBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      public Builder mergeModifyColumnTypes(io.greptime.v1.Ddl.ModifyColumnTypes value) {
        if (modifyColumnTypesBuilder_ == null) {
          if (kindCase_ == 5 &&
              kind_ != io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance()) {
            kind_ = io.greptime.v1.Ddl.ModifyColumnTypes.newBuilder((io.greptime.v1.Ddl.ModifyColumnTypes) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 5) {
            modifyColumnTypesBuilder_.mergeFrom(value);
          } else {
            modifyColumnTypesBuilder_.setMessage(value);
          }
        }
        kindCase_ = 5;
        return this;
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      public Builder clearModifyColumnTypes() {
        if (modifyColumnTypesBuilder_ == null) {
          if (kindCase_ == 5) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 5) {
            kindCase_ = 0;
            kind_ = null;
          }
          modifyColumnTypesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      public io.greptime.v1.Ddl.ModifyColumnTypes.Builder getModifyColumnTypesBuilder() {
        return getModifyColumnTypesFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder getModifyColumnTypesOrBuilder() {
        if ((kindCase_ == 5) && (modifyColumnTypesBuilder_ != null)) {
          return modifyColumnTypesBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 5) {
            return (io.greptime.v1.Ddl.ModifyColumnTypes) kind_;
          }
          return io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.ModifyColumnTypes modify_column_types = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.ModifyColumnTypes, io.greptime.v1.Ddl.ModifyColumnTypes.Builder, io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder> 
          getModifyColumnTypesFieldBuilder() {
        if (modifyColumnTypesBuilder_ == null) {
          if (!(kindCase_ == 5)) {
            kind_ = io.greptime.v1.Ddl.ModifyColumnTypes.getDefaultInstance();
          }
          modifyColumnTypesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.ModifyColumnTypes, io.greptime.v1.Ddl.ModifyColumnTypes.Builder, io.greptime.v1.Ddl.ModifyColumnTypesOrBuilder>(
                  (io.greptime.v1.Ddl.ModifyColumnTypes) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 5;
        onChanged();;
        return modifyColumnTypesBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.SetTableOptions, io.greptime.v1.Ddl.SetTableOptions.Builder, io.greptime.v1.Ddl.SetTableOptionsOrBuilder> setTableOptionsBuilder_;
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       * @return Whether the setTableOptions field is set.
       */
      @java.lang.Override
      public boolean hasSetTableOptions() {
        return kindCase_ == 6;
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       * @return The setTableOptions.
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.SetTableOptions getSetTableOptions() {
        if (setTableOptionsBuilder_ == null) {
          if (kindCase_ == 6) {
            return (io.greptime.v1.Ddl.SetTableOptions) kind_;
          }
          return io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
        } else {
          if (kindCase_ == 6) {
            return setTableOptionsBuilder_.getMessage();
          }
          return io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      public Builder setSetTableOptions(io.greptime.v1.Ddl.SetTableOptions value) {
        if (setTableOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          setTableOptionsBuilder_.setMessage(value);
        }
        kindCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      public Builder setSetTableOptions(
          io.greptime.v1.Ddl.SetTableOptions.Builder builderForValue) {
        if (setTableOptionsBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          setTableOptionsBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      public Builder mergeSetTableOptions(io.greptime.v1.Ddl.SetTableOptions value) {
        if (setTableOptionsBuilder_ == null) {
          if (kindCase_ == 6 &&
              kind_ != io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance()) {
            kind_ = io.greptime.v1.Ddl.SetTableOptions.newBuilder((io.greptime.v1.Ddl.SetTableOptions) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 6) {
            setTableOptionsBuilder_.mergeFrom(value);
          } else {
            setTableOptionsBuilder_.setMessage(value);
          }
        }
        kindCase_ = 6;
        return this;
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      public Builder clearSetTableOptions() {
        if (setTableOptionsBuilder_ == null) {
          if (kindCase_ == 6) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 6) {
            kindCase_ = 0;
            kind_ = null;
          }
          setTableOptionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      public io.greptime.v1.Ddl.SetTableOptions.Builder getSetTableOptionsBuilder() {
        return getSetTableOptionsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.SetTableOptionsOrBuilder getSetTableOptionsOrBuilder() {
        if ((kindCase_ == 6) && (setTableOptionsBuilder_ != null)) {
          return setTableOptionsBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 6) {
            return (io.greptime.v1.Ddl.SetTableOptions) kind_;
          }
          return io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.SetTableOptions set_table_options = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.SetTableOptions, io.greptime.v1.Ddl.SetTableOptions.Builder, io.greptime.v1.Ddl.SetTableOptionsOrBuilder> 
          getSetTableOptionsFieldBuilder() {
        if (setTableOptionsBuilder_ == null) {
          if (!(kindCase_ == 6)) {
            kind_ = io.greptime.v1.Ddl.SetTableOptions.getDefaultInstance();
          }
          setTableOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.SetTableOptions, io.greptime.v1.Ddl.SetTableOptions.Builder, io.greptime.v1.Ddl.SetTableOptionsOrBuilder>(
                  (io.greptime.v1.Ddl.SetTableOptions) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 6;
        onChanged();;
        return setTableOptionsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.UnsetTableOptions, io.greptime.v1.Ddl.UnsetTableOptions.Builder, io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder> unsetTableOptionsBuilder_;
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       * @return Whether the unsetTableOptions field is set.
       */
      @java.lang.Override
      public boolean hasUnsetTableOptions() {
        return kindCase_ == 9;
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       * @return The unsetTableOptions.
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.UnsetTableOptions getUnsetTableOptions() {
        if (unsetTableOptionsBuilder_ == null) {
          if (kindCase_ == 9) {
            return (io.greptime.v1.Ddl.UnsetTableOptions) kind_;
          }
          return io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
        } else {
          if (kindCase_ == 9) {
            return unsetTableOptionsBuilder_.getMessage();
          }
          return io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      public Builder setUnsetTableOptions(io.greptime.v1.Ddl.UnsetTableOptions value) {
        if (unsetTableOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          unsetTableOptionsBuilder_.setMessage(value);
        }
        kindCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      public Builder setUnsetTableOptions(
          io.greptime.v1.Ddl.UnsetTableOptions.Builder builderForValue) {
        if (unsetTableOptionsBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          unsetTableOptionsBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      public Builder mergeUnsetTableOptions(io.greptime.v1.Ddl.UnsetTableOptions value) {
        if (unsetTableOptionsBuilder_ == null) {
          if (kindCase_ == 9 &&
              kind_ != io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance()) {
            kind_ = io.greptime.v1.Ddl.UnsetTableOptions.newBuilder((io.greptime.v1.Ddl.UnsetTableOptions) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 9) {
            unsetTableOptionsBuilder_.mergeFrom(value);
          } else {
            unsetTableOptionsBuilder_.setMessage(value);
          }
        }
        kindCase_ = 9;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      public Builder clearUnsetTableOptions() {
        if (unsetTableOptionsBuilder_ == null) {
          if (kindCase_ == 9) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 9) {
            kindCase_ = 0;
            kind_ = null;
          }
          unsetTableOptionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      public io.greptime.v1.Ddl.UnsetTableOptions.Builder getUnsetTableOptionsBuilder() {
        return getUnsetTableOptionsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder getUnsetTableOptionsOrBuilder() {
        if ((kindCase_ == 9) && (unsetTableOptionsBuilder_ != null)) {
          return unsetTableOptionsBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 9) {
            return (io.greptime.v1.Ddl.UnsetTableOptions) kind_;
          }
          return io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.UnsetTableOptions unset_table_options = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.UnsetTableOptions, io.greptime.v1.Ddl.UnsetTableOptions.Builder, io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder> 
          getUnsetTableOptionsFieldBuilder() {
        if (unsetTableOptionsBuilder_ == null) {
          if (!(kindCase_ == 9)) {
            kind_ = io.greptime.v1.Ddl.UnsetTableOptions.getDefaultInstance();
          }
          unsetTableOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.UnsetTableOptions, io.greptime.v1.Ddl.UnsetTableOptions.Builder, io.greptime.v1.Ddl.UnsetTableOptionsOrBuilder>(
                  (io.greptime.v1.Ddl.UnsetTableOptions) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 9;
        onChanged();;
        return unsetTableOptionsBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.SetIndex, io.greptime.v1.Ddl.SetIndex.Builder, io.greptime.v1.Ddl.SetIndexOrBuilder> setIndexBuilder_;
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       * @return Whether the setIndex field is set.
       */
      @java.lang.Override
      public boolean hasSetIndex() {
        return kindCase_ == 10;
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       * @return The setIndex.
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.SetIndex getSetIndex() {
        if (setIndexBuilder_ == null) {
          if (kindCase_ == 10) {
            return (io.greptime.v1.Ddl.SetIndex) kind_;
          }
          return io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
        } else {
          if (kindCase_ == 10) {
            return setIndexBuilder_.getMessage();
          }
          return io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      public Builder setSetIndex(io.greptime.v1.Ddl.SetIndex value) {
        if (setIndexBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          setIndexBuilder_.setMessage(value);
        }
        kindCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      public Builder setSetIndex(
          io.greptime.v1.Ddl.SetIndex.Builder builderForValue) {
        if (setIndexBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          setIndexBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      public Builder mergeSetIndex(io.greptime.v1.Ddl.SetIndex value) {
        if (setIndexBuilder_ == null) {
          if (kindCase_ == 10 &&
              kind_ != io.greptime.v1.Ddl.SetIndex.getDefaultInstance()) {
            kind_ = io.greptime.v1.Ddl.SetIndex.newBuilder((io.greptime.v1.Ddl.SetIndex) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 10) {
            setIndexBuilder_.mergeFrom(value);
          } else {
            setIndexBuilder_.setMessage(value);
          }
        }
        kindCase_ = 10;
        return this;
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      public Builder clearSetIndex() {
        if (setIndexBuilder_ == null) {
          if (kindCase_ == 10) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 10) {
            kindCase_ = 0;
            kind_ = null;
          }
          setIndexBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      public io.greptime.v1.Ddl.SetIndex.Builder getSetIndexBuilder() {
        return getSetIndexFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.SetIndexOrBuilder getSetIndexOrBuilder() {
        if ((kindCase_ == 10) && (setIndexBuilder_ != null)) {
          return setIndexBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 10) {
            return (io.greptime.v1.Ddl.SetIndex) kind_;
          }
          return io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.SetIndex set_index = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.SetIndex, io.greptime.v1.Ddl.SetIndex.Builder, io.greptime.v1.Ddl.SetIndexOrBuilder> 
          getSetIndexFieldBuilder() {
        if (setIndexBuilder_ == null) {
          if (!(kindCase_ == 10)) {
            kind_ = io.greptime.v1.Ddl.SetIndex.getDefaultInstance();
          }
          setIndexBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.SetIndex, io.greptime.v1.Ddl.SetIndex.Builder, io.greptime.v1.Ddl.SetIndexOrBuilder>(
                  (io.greptime.v1.Ddl.SetIndex) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 10;
        onChanged();;
        return setIndexBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.UnsetIndex, io.greptime.v1.Ddl.UnsetIndex.Builder, io.greptime.v1.Ddl.UnsetIndexOrBuilder> unsetIndexBuilder_;
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       * @return Whether the unsetIndex field is set.
       */
      @java.lang.Override
      public boolean hasUnsetIndex() {
        return kindCase_ == 11;
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       * @return The unsetIndex.
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.UnsetIndex getUnsetIndex() {
        if (unsetIndexBuilder_ == null) {
          if (kindCase_ == 11) {
            return (io.greptime.v1.Ddl.UnsetIndex) kind_;
          }
          return io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
        } else {
          if (kindCase_ == 11) {
            return unsetIndexBuilder_.getMessage();
          }
          return io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      public Builder setUnsetIndex(io.greptime.v1.Ddl.UnsetIndex value) {
        if (unsetIndexBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          kind_ = value;
          onChanged();
        } else {
          unsetIndexBuilder_.setMessage(value);
        }
        kindCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      public Builder setUnsetIndex(
          io.greptime.v1.Ddl.UnsetIndex.Builder builderForValue) {
        if (unsetIndexBuilder_ == null) {
          kind_ = builderForValue.build();
          onChanged();
        } else {
          unsetIndexBuilder_.setMessage(builderForValue.build());
        }
        kindCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      public Builder mergeUnsetIndex(io.greptime.v1.Ddl.UnsetIndex value) {
        if (unsetIndexBuilder_ == null) {
          if (kindCase_ == 11 &&
              kind_ != io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance()) {
            kind_ = io.greptime.v1.Ddl.UnsetIndex.newBuilder((io.greptime.v1.Ddl.UnsetIndex) kind_)
                .mergeFrom(value).buildPartial();
          } else {
            kind_ = value;
          }
          onChanged();
        } else {
          if (kindCase_ == 11) {
            unsetIndexBuilder_.mergeFrom(value);
          } else {
            unsetIndexBuilder_.setMessage(value);
          }
        }
        kindCase_ = 11;
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      public Builder clearUnsetIndex() {
        if (unsetIndexBuilder_ == null) {
          if (kindCase_ == 11) {
            kindCase_ = 0;
            kind_ = null;
            onChanged();
          }
        } else {
          if (kindCase_ == 11) {
            kindCase_ = 0;
            kind_ = null;
          }
          unsetIndexBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      public io.greptime.v1.Ddl.UnsetIndex.Builder getUnsetIndexBuilder() {
        return getUnsetIndexFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      @java.lang.Override
      public io.greptime.v1.Ddl.UnsetIndexOrBuilder getUnsetIndexOrBuilder() {
        if ((kindCase_ == 11) && (unsetIndexBuilder_ != null)) {
          return unsetIndexBuilder_.getMessageOrBuilder();
        } else {
          if (kindCase_ == 11) {
            return (io.greptime.v1.Ddl.UnsetIndex) kind_;
          }
          return io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.UnsetIndex unset_index = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.UnsetIndex, io.greptime.v1.Ddl.UnsetIndex.Builder, io.greptime.v1.Ddl.UnsetIndexOrBuilder> 
          getUnsetIndexFieldBuilder() {
        if (unsetIndexBuilder_ == null) {
          if (!(kindCase_ == 11)) {
            kind_ = io.greptime.v1.Ddl.UnsetIndex.getDefaultInstance();
          }
          unsetIndexBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.UnsetIndex, io.greptime.v1.Ddl.UnsetIndex.Builder, io.greptime.v1.Ddl.UnsetIndexOrBuilder>(
                  (io.greptime.v1.Ddl.UnsetIndex) kind_,
                  getParentForChildren(),
                  isClean());
          kind_ = null;
        }
        kindCase_ = 11;
        onChanged();;
        return unsetIndexBuilder_;
      }

      private long schemaVersion_ ;
      /**
       * <pre>
       * The version of the schema before applying the alteration.
       * </pre>
       *
       * <code>uint64 schema_version = 4;</code>
       * @return The schemaVersion.
       */
      @java.lang.Override
      public long getSchemaVersion() {
        return schemaVersion_;
      }
      /**
       * <pre>
       * The version of the schema before applying the alteration.
       * </pre>
       *
       * <code>uint64 schema_version = 4;</code>
       * @param value The schemaVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaVersion(long value) {
        
        schemaVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The version of the schema before applying the alteration.
       * </pre>
       *
       * <code>uint64 schema_version = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearSchemaVersion() {
        
        schemaVersion_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AlterRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.AlterRequest)
    private static final io.greptime.v1.region.Server.AlterRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AlterRequest();
    }

    public static io.greptime.v1.region.Server.AlterRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AlterRequest>
        PARSER = new com.google.protobuf.AbstractParser<AlterRequest>() {
      @java.lang.Override
      public AlterRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AlterRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<AlterRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.AlterRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AddColumnsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumns)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.AddColumn> 
        getAddColumnsList();
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    io.greptime.v1.region.Server.AddColumn getAddColumns(int index);
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    int getAddColumnsCount();
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.AddColumnOrBuilder> 
        getAddColumnsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.region.AddColumns}
   */
  public static final class AddColumns extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumns)
      AddColumnsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AddColumns.newBuilder() to construct.
    private AddColumns(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AddColumns() {
      addColumns_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AddColumns();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AddColumns(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                addColumns_ = new java.util.ArrayList<io.greptime.v1.region.Server.AddColumn>();
                mutable_bitField0_ |= 0x00000001;
              }
              addColumns_.add(
                  input.readMessage(io.greptime.v1.region.Server.AddColumn.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          addColumns_ = java.util.Collections.unmodifiableList(addColumns_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.AddColumns.class, io.greptime.v1.region.Server.AddColumns.Builder.class);
    }

    public static final int ADD_COLUMNS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.AddColumn> addColumns_;
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.AddColumn> getAddColumnsList() {
      return addColumns_;
    }
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.AddColumnOrBuilder> 
        getAddColumnsOrBuilderList() {
      return addColumns_;
    }
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    @java.lang.Override
    public int getAddColumnsCount() {
      return addColumns_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumn getAddColumns(int index) {
      return addColumns_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
        int index) {
      return addColumns_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < addColumns_.size(); i++) {
        output.writeMessage(1, addColumns_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < addColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, addColumns_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.AddColumns)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.AddColumns other = (io.greptime.v1.region.Server.AddColumns) obj;

      if (!getAddColumnsList()
          .equals(other.getAddColumnsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getAddColumnsCount() > 0) {
        hash = (37 * hash) + ADD_COLUMNS_FIELD_NUMBER;
        hash = (53 * hash) + getAddColumnsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumns parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumns parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumns parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.AddColumns prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.AddColumns}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumns)
        io.greptime.v1.region.Server.AddColumnsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.AddColumns.class, io.greptime.v1.region.Server.AddColumns.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.AddColumns.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAddColumnsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (addColumnsBuilder_ == null) {
          addColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          addColumnsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumns_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumns getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.AddColumns.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumns build() {
        io.greptime.v1.region.Server.AddColumns result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumns buildPartial() {
        io.greptime.v1.region.Server.AddColumns result = new io.greptime.v1.region.Server.AddColumns(this);
        int from_bitField0_ = bitField0_;
        if (addColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            addColumns_ = java.util.Collections.unmodifiableList(addColumns_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.addColumns_ = addColumns_;
        } else {
          result.addColumns_ = addColumnsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.AddColumns) {
          return mergeFrom((io.greptime.v1.region.Server.AddColumns)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.AddColumns other) {
        if (other == io.greptime.v1.region.Server.AddColumns.getDefaultInstance()) return this;
        if (addColumnsBuilder_ == null) {
          if (!other.addColumns_.isEmpty()) {
            if (addColumns_.isEmpty()) {
              addColumns_ = other.addColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAddColumnsIsMutable();
              addColumns_.addAll(other.addColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.addColumns_.isEmpty()) {
            if (addColumnsBuilder_.isEmpty()) {
              addColumnsBuilder_.dispose();
              addColumnsBuilder_ = null;
              addColumns_ = other.addColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
              addColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAddColumnsFieldBuilder() : null;
            } else {
              addColumnsBuilder_.addAllMessages(other.addColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.AddColumns parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.AddColumns) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.AddColumn> addColumns_ =
        java.util.Collections.emptyList();
      private void ensureAddColumnsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          addColumns_ = new java.util.ArrayList<io.greptime.v1.region.Server.AddColumn>(addColumns_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder> addColumnsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.AddColumn> getAddColumnsList() {
        if (addColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(addColumns_);
        } else {
          return addColumnsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public int getAddColumnsCount() {
        if (addColumnsBuilder_ == null) {
          return addColumns_.size();
        } else {
          return addColumnsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.AddColumn getAddColumns(int index) {
        if (addColumnsBuilder_ == null) {
          return addColumns_.get(index);
        } else {
          return addColumnsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder setAddColumns(
          int index, io.greptime.v1.region.Server.AddColumn value) {
        if (addColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAddColumnsIsMutable();
          addColumns_.set(index, value);
          onChanged();
        } else {
          addColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder setAddColumns(
          int index, io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
        if (addColumnsBuilder_ == null) {
          ensureAddColumnsIsMutable();
          addColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          addColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder addAddColumns(io.greptime.v1.region.Server.AddColumn value) {
        if (addColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAddColumnsIsMutable();
          addColumns_.add(value);
          onChanged();
        } else {
          addColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder addAddColumns(
          int index, io.greptime.v1.region.Server.AddColumn value) {
        if (addColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAddColumnsIsMutable();
          addColumns_.add(index, value);
          onChanged();
        } else {
          addColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder addAddColumns(
          io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
        if (addColumnsBuilder_ == null) {
          ensureAddColumnsIsMutable();
          addColumns_.add(builderForValue.build());
          onChanged();
        } else {
          addColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder addAddColumns(
          int index, io.greptime.v1.region.Server.AddColumn.Builder builderForValue) {
        if (addColumnsBuilder_ == null) {
          ensureAddColumnsIsMutable();
          addColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          addColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder addAllAddColumns(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.AddColumn> values) {
        if (addColumnsBuilder_ == null) {
          ensureAddColumnsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, addColumns_);
          onChanged();
        } else {
          addColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder clearAddColumns() {
        if (addColumnsBuilder_ == null) {
          addColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          addColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public Builder removeAddColumns(int index) {
        if (addColumnsBuilder_ == null) {
          ensureAddColumnsIsMutable();
          addColumns_.remove(index);
          onChanged();
        } else {
          addColumnsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.AddColumn.Builder getAddColumnsBuilder(
          int index) {
        return getAddColumnsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.AddColumnOrBuilder getAddColumnsOrBuilder(
          int index) {
        if (addColumnsBuilder_ == null) {
          return addColumns_.get(index);  } else {
          return addColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.AddColumnOrBuilder> 
           getAddColumnsOrBuilderList() {
        if (addColumnsBuilder_ != null) {
          return addColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(addColumns_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.AddColumn.Builder addAddColumnsBuilder() {
        return getAddColumnsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.AddColumn.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.AddColumn.Builder addAddColumnsBuilder(
          int index) {
        return getAddColumnsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.AddColumn.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.AddColumn add_columns = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.AddColumn.Builder> 
           getAddColumnsBuilderList() {
        return getAddColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder> 
          getAddColumnsFieldBuilder() {
        if (addColumnsBuilder_ == null) {
          addColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.AddColumn, io.greptime.v1.region.Server.AddColumn.Builder, io.greptime.v1.region.Server.AddColumnOrBuilder>(
                  addColumns_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          addColumns_ = null;
        }
        return addColumnsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumns)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumns)
    private static final io.greptime.v1.region.Server.AddColumns DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumns();
    }

    public static io.greptime.v1.region.Server.AddColumns getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AddColumns>
        PARSER = new com.google.protobuf.AbstractParser<AddColumns>() {
      @java.lang.Override
      public AddColumns parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AddColumns(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<AddColumns> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumns getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DropColumnsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropColumns)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    java.util.List<io.greptime.v1.region.Server.DropColumn> 
        getDropColumnsList();
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    io.greptime.v1.region.Server.DropColumn getDropColumns(int index);
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    int getDropColumnsCount();
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.region.Server.DropColumnOrBuilder> 
        getDropColumnsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.region.DropColumns}
   */
  public static final class DropColumns extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropColumns)
      DropColumnsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DropColumns.newBuilder() to construct.
    private DropColumns(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DropColumns() {
      dropColumns_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DropColumns();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DropColumns(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                dropColumns_ = new java.util.ArrayList<io.greptime.v1.region.Server.DropColumn>();
                mutable_bitField0_ |= 0x00000001;
              }
              dropColumns_.add(
                  input.readMessage(io.greptime.v1.region.Server.DropColumn.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          dropColumns_ = java.util.Collections.unmodifiableList(dropColumns_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DropColumns.class, io.greptime.v1.region.Server.DropColumns.Builder.class);
    }

    public static final int DROP_COLUMNS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.region.Server.DropColumn> dropColumns_;
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.region.Server.DropColumn> getDropColumnsList() {
      return dropColumns_;
    }
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.region.Server.DropColumnOrBuilder> 
        getDropColumnsOrBuilderList() {
      return dropColumns_;
    }
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    @java.lang.Override
    public int getDropColumnsCount() {
      return dropColumns_.size();
    }
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumn getDropColumns(int index) {
      return dropColumns_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
        int index) {
      return dropColumns_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < dropColumns_.size(); i++) {
        output.writeMessage(1, dropColumns_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < dropColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, dropColumns_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DropColumns)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DropColumns other = (io.greptime.v1.region.Server.DropColumns) obj;

      if (!getDropColumnsList()
          .equals(other.getDropColumnsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getDropColumnsCount() > 0) {
        hash = (37 * hash) + DROP_COLUMNS_FIELD_NUMBER;
        hash = (53 * hash) + getDropColumnsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumns parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumns parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumns parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DropColumns prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.DropColumns}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropColumns)
        io.greptime.v1.region.Server.DropColumnsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DropColumns.class, io.greptime.v1.region.Server.DropColumns.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DropColumns.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDropColumnsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (dropColumnsBuilder_ == null) {
          dropColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          dropColumnsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumns_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumns getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DropColumns.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumns build() {
        io.greptime.v1.region.Server.DropColumns result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumns buildPartial() {
        io.greptime.v1.region.Server.DropColumns result = new io.greptime.v1.region.Server.DropColumns(this);
        int from_bitField0_ = bitField0_;
        if (dropColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            dropColumns_ = java.util.Collections.unmodifiableList(dropColumns_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.dropColumns_ = dropColumns_;
        } else {
          result.dropColumns_ = dropColumnsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DropColumns) {
          return mergeFrom((io.greptime.v1.region.Server.DropColumns)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DropColumns other) {
        if (other == io.greptime.v1.region.Server.DropColumns.getDefaultInstance()) return this;
        if (dropColumnsBuilder_ == null) {
          if (!other.dropColumns_.isEmpty()) {
            if (dropColumns_.isEmpty()) {
              dropColumns_ = other.dropColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDropColumnsIsMutable();
              dropColumns_.addAll(other.dropColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.dropColumns_.isEmpty()) {
            if (dropColumnsBuilder_.isEmpty()) {
              dropColumnsBuilder_.dispose();
              dropColumnsBuilder_ = null;
              dropColumns_ = other.dropColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
              dropColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDropColumnsFieldBuilder() : null;
            } else {
              dropColumnsBuilder_.addAllMessages(other.dropColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DropColumns parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DropColumns) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.region.Server.DropColumn> dropColumns_ =
        java.util.Collections.emptyList();
      private void ensureDropColumnsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          dropColumns_ = new java.util.ArrayList<io.greptime.v1.region.Server.DropColumn>(dropColumns_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder> dropColumnsBuilder_;

      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DropColumn> getDropColumnsList() {
        if (dropColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(dropColumns_);
        } else {
          return dropColumnsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public int getDropColumnsCount() {
        if (dropColumnsBuilder_ == null) {
          return dropColumns_.size();
        } else {
          return dropColumnsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.DropColumn getDropColumns(int index) {
        if (dropColumnsBuilder_ == null) {
          return dropColumns_.get(index);
        } else {
          return dropColumnsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder setDropColumns(
          int index, io.greptime.v1.region.Server.DropColumn value) {
        if (dropColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDropColumnsIsMutable();
          dropColumns_.set(index, value);
          onChanged();
        } else {
          dropColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder setDropColumns(
          int index, io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
        if (dropColumnsBuilder_ == null) {
          ensureDropColumnsIsMutable();
          dropColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          dropColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder addDropColumns(io.greptime.v1.region.Server.DropColumn value) {
        if (dropColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDropColumnsIsMutable();
          dropColumns_.add(value);
          onChanged();
        } else {
          dropColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder addDropColumns(
          int index, io.greptime.v1.region.Server.DropColumn value) {
        if (dropColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDropColumnsIsMutable();
          dropColumns_.add(index, value);
          onChanged();
        } else {
          dropColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder addDropColumns(
          io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
        if (dropColumnsBuilder_ == null) {
          ensureDropColumnsIsMutable();
          dropColumns_.add(builderForValue.build());
          onChanged();
        } else {
          dropColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder addDropColumns(
          int index, io.greptime.v1.region.Server.DropColumn.Builder builderForValue) {
        if (dropColumnsBuilder_ == null) {
          ensureDropColumnsIsMutable();
          dropColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          dropColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder addAllDropColumns(
          java.lang.Iterable<? extends io.greptime.v1.region.Server.DropColumn> values) {
        if (dropColumnsBuilder_ == null) {
          ensureDropColumnsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, dropColumns_);
          onChanged();
        } else {
          dropColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder clearDropColumns() {
        if (dropColumnsBuilder_ == null) {
          dropColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          dropColumnsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public Builder removeDropColumns(int index) {
        if (dropColumnsBuilder_ == null) {
          ensureDropColumnsIsMutable();
          dropColumns_.remove(index);
          onChanged();
        } else {
          dropColumnsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.DropColumn.Builder getDropColumnsBuilder(
          int index) {
        return getDropColumnsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.DropColumnOrBuilder getDropColumnsOrBuilder(
          int index) {
        if (dropColumnsBuilder_ == null) {
          return dropColumns_.get(index);  } else {
          return dropColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.region.Server.DropColumnOrBuilder> 
           getDropColumnsOrBuilderList() {
        if (dropColumnsBuilder_ != null) {
          return dropColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(dropColumns_);
        }
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.DropColumn.Builder addDropColumnsBuilder() {
        return getDropColumnsFieldBuilder().addBuilder(
            io.greptime.v1.region.Server.DropColumn.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public io.greptime.v1.region.Server.DropColumn.Builder addDropColumnsBuilder(
          int index) {
        return getDropColumnsFieldBuilder().addBuilder(
            index, io.greptime.v1.region.Server.DropColumn.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.region.DropColumn drop_columns = 1;</code>
       */
      public java.util.List<io.greptime.v1.region.Server.DropColumn.Builder> 
           getDropColumnsBuilderList() {
        return getDropColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder> 
          getDropColumnsFieldBuilder() {
        if (dropColumnsBuilder_ == null) {
          dropColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.region.Server.DropColumn, io.greptime.v1.region.Server.DropColumn.Builder, io.greptime.v1.region.Server.DropColumnOrBuilder>(
                  dropColumns_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          dropColumns_ = null;
        }
        return dropColumnsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropColumns)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumns)
    private static final io.greptime.v1.region.Server.DropColumns DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropColumns();
    }

    public static io.greptime.v1.region.Server.DropColumns getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DropColumns>
        PARSER = new com.google.protobuf.AbstractParser<DropColumns>() {
      @java.lang.Override
      public DropColumns parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DropColumns(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DropColumns> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumns getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AddColumnOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.AddColumn)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     * @return Whether the columnDef field is set.
     */
    boolean hasColumnDef();
    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     * @return The columnDef.
     */
    io.greptime.v1.region.Server.RegionColumnDef getColumnDef();
    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     */
    io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder();

    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     * @return Whether the location field is set.
     */
    boolean hasLocation();
    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     * @return The location.
     */
    io.greptime.v1.Ddl.AddColumnLocation getLocation();
    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     */
    io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.region.AddColumn}
   */
  public static final class AddColumn extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.AddColumn)
      AddColumnOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AddColumn.newBuilder() to construct.
    private AddColumn(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AddColumn() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AddColumn();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AddColumn(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.region.Server.RegionColumnDef.Builder subBuilder = null;
              if (columnDef_ != null) {
                subBuilder = columnDef_.toBuilder();
              }
              columnDef_ = input.readMessage(io.greptime.v1.region.Server.RegionColumnDef.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(columnDef_);
                columnDef_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              io.greptime.v1.Ddl.AddColumnLocation.Builder subBuilder = null;
              if (location_ != null) {
                subBuilder = location_.toBuilder();
              }
              location_ = input.readMessage(io.greptime.v1.Ddl.AddColumnLocation.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(location_);
                location_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.AddColumn.class, io.greptime.v1.region.Server.AddColumn.Builder.class);
    }

    public static final int COLUMN_DEF_FIELD_NUMBER = 1;
    private io.greptime.v1.region.Server.RegionColumnDef columnDef_;
    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     * @return Whether the columnDef field is set.
     */
    @java.lang.Override
    public boolean hasColumnDef() {
      return columnDef_ != null;
    }
    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     * @return The columnDef.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionColumnDef getColumnDef() {
      return columnDef_ == null ? io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_;
    }
    /**
     * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder() {
      return getColumnDef();
    }

    public static final int LOCATION_FIELD_NUMBER = 3;
    private io.greptime.v1.Ddl.AddColumnLocation location_;
    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     * @return Whether the location field is set.
     */
    @java.lang.Override
    public boolean hasLocation() {
      return location_ != null;
    }
    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     * @return The location.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
      return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
    }
    /**
     * <code>.greptime.v1.AddColumnLocation location = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
      return getLocation();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (columnDef_ != null) {
        output.writeMessage(1, getColumnDef());
      }
      if (location_ != null) {
        output.writeMessage(3, getLocation());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (columnDef_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getColumnDef());
      }
      if (location_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLocation());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.AddColumn)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.AddColumn other = (io.greptime.v1.region.Server.AddColumn) obj;

      if (hasColumnDef() != other.hasColumnDef()) return false;
      if (hasColumnDef()) {
        if (!getColumnDef()
            .equals(other.getColumnDef())) return false;
      }
      if (hasLocation() != other.hasLocation()) return false;
      if (hasLocation()) {
        if (!getLocation()
            .equals(other.getLocation())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasColumnDef()) {
        hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER;
        hash = (53 * hash) + getColumnDef().hashCode();
      }
      if (hasLocation()) {
        hash = (37 * hash) + LOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getLocation().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumn parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumn parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.AddColumn parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.AddColumn prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.AddColumn}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.AddColumn)
        io.greptime.v1.region.Server.AddColumnOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.AddColumn.class, io.greptime.v1.region.Server.AddColumn.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.AddColumn.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (columnDefBuilder_ == null) {
          columnDef_ = null;
        } else {
          columnDef_ = null;
          columnDefBuilder_ = null;
        }
        if (locationBuilder_ == null) {
          location_ = null;
        } else {
          location_ = null;
          locationBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_AddColumn_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumn getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.AddColumn.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumn build() {
        io.greptime.v1.region.Server.AddColumn result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.AddColumn buildPartial() {
        io.greptime.v1.region.Server.AddColumn result = new io.greptime.v1.region.Server.AddColumn(this);
        if (columnDefBuilder_ == null) {
          result.columnDef_ = columnDef_;
        } else {
          result.columnDef_ = columnDefBuilder_.build();
        }
        if (locationBuilder_ == null) {
          result.location_ = location_;
        } else {
          result.location_ = locationBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.AddColumn) {
          return mergeFrom((io.greptime.v1.region.Server.AddColumn)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.AddColumn other) {
        if (other == io.greptime.v1.region.Server.AddColumn.getDefaultInstance()) return this;
        if (other.hasColumnDef()) {
          mergeColumnDef(other.getColumnDef());
        }
        if (other.hasLocation()) {
          mergeLocation(other.getLocation());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.AddColumn parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.AddColumn) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private io.greptime.v1.region.Server.RegionColumnDef columnDef_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> columnDefBuilder_;
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       * @return Whether the columnDef field is set.
       */
      public boolean hasColumnDef() {
        return columnDefBuilder_ != null || columnDef_ != null;
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       * @return The columnDef.
       */
      public io.greptime.v1.region.Server.RegionColumnDef getColumnDef() {
        if (columnDefBuilder_ == null) {
          return columnDef_ == null ? io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_;
        } else {
          return columnDefBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public Builder setColumnDef(io.greptime.v1.region.Server.RegionColumnDef value) {
        if (columnDefBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          columnDef_ = value;
          onChanged();
        } else {
          columnDefBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public Builder setColumnDef(
          io.greptime.v1.region.Server.RegionColumnDef.Builder builderForValue) {
        if (columnDefBuilder_ == null) {
          columnDef_ = builderForValue.build();
          onChanged();
        } else {
          columnDefBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public Builder mergeColumnDef(io.greptime.v1.region.Server.RegionColumnDef value) {
        if (columnDefBuilder_ == null) {
          if (columnDef_ != null) {
            columnDef_ =
              io.greptime.v1.region.Server.RegionColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial();
          } else {
            columnDef_ = value;
          }
          onChanged();
        } else {
          columnDefBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public Builder clearColumnDef() {
        if (columnDefBuilder_ == null) {
          columnDef_ = null;
          onChanged();
        } else {
          columnDef_ = null;
          columnDefBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDef.Builder getColumnDefBuilder() {
        
        onChanged();
        return getColumnDefFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      public io.greptime.v1.region.Server.RegionColumnDefOrBuilder getColumnDefOrBuilder() {
        if (columnDefBuilder_ != null) {
          return columnDefBuilder_.getMessageOrBuilder();
        } else {
          return columnDef_ == null ?
              io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance() : columnDef_;
        }
      }
      /**
       * <code>.greptime.v1.region.RegionColumnDef column_def = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder> 
          getColumnDefFieldBuilder() {
        if (columnDefBuilder_ == null) {
          columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.RegionColumnDef, io.greptime.v1.region.Server.RegionColumnDef.Builder, io.greptime.v1.region.Server.RegionColumnDefOrBuilder>(
                  getColumnDef(),
                  getParentForChildren(),
                  isClean());
          columnDef_ = null;
        }
        return columnDefBuilder_;
      }

      private io.greptime.v1.Ddl.AddColumnLocation location_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> locationBuilder_;
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       * @return Whether the location field is set.
       */
      public boolean hasLocation() {
        return locationBuilder_ != null || location_ != null;
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       * @return The location.
       */
      public io.greptime.v1.Ddl.AddColumnLocation getLocation() {
        if (locationBuilder_ == null) {
          return location_ == null ? io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
        } else {
          return locationBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public Builder setLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
        if (locationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          location_ = value;
          onChanged();
        } else {
          locationBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public Builder setLocation(
          io.greptime.v1.Ddl.AddColumnLocation.Builder builderForValue) {
        if (locationBuilder_ == null) {
          location_ = builderForValue.build();
          onChanged();
        } else {
          locationBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public Builder mergeLocation(io.greptime.v1.Ddl.AddColumnLocation value) {
        if (locationBuilder_ == null) {
          if (location_ != null) {
            location_ =
              io.greptime.v1.Ddl.AddColumnLocation.newBuilder(location_).mergeFrom(value).buildPartial();
          } else {
            location_ = value;
          }
          onChanged();
        } else {
          locationBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public Builder clearLocation() {
        if (locationBuilder_ == null) {
          location_ = null;
          onChanged();
        } else {
          location_ = null;
          locationBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public io.greptime.v1.Ddl.AddColumnLocation.Builder getLocationBuilder() {
        
        onChanged();
        return getLocationFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      public io.greptime.v1.Ddl.AddColumnLocationOrBuilder getLocationOrBuilder() {
        if (locationBuilder_ != null) {
          return locationBuilder_.getMessageOrBuilder();
        } else {
          return location_ == null ?
              io.greptime.v1.Ddl.AddColumnLocation.getDefaultInstance() : location_;
        }
      }
      /**
       * <code>.greptime.v1.AddColumnLocation location = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder> 
          getLocationFieldBuilder() {
        if (locationBuilder_ == null) {
          locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.AddColumnLocation, io.greptime.v1.Ddl.AddColumnLocation.Builder, io.greptime.v1.Ddl.AddColumnLocationOrBuilder>(
                  getLocation(),
                  getParentForChildren(),
                  isClean());
          location_ = null;
        }
        return locationBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.AddColumn)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.AddColumn)
    private static final io.greptime.v1.region.Server.AddColumn DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.AddColumn();
    }

    public static io.greptime.v1.region.Server.AddColumn getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AddColumn>
        PARSER = new com.google.protobuf.AbstractParser<AddColumn>() {
      @java.lang.Override
      public AddColumn parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AddColumn(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<AddColumn> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.AddColumn getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DropColumnOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.DropColumn)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string name = 1;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <code>string name = 1;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
  }
  /**
   * Protobuf type {@code greptime.v1.region.DropColumn}
   */
  public static final class DropColumn extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.DropColumn)
      DropColumnOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DropColumn.newBuilder() to construct.
    private DropColumn(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DropColumn() {
      name_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DropColumn();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DropColumn(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.DropColumn.class, io.greptime.v1.region.Server.DropColumn.Builder.class);
    }

    public static final int NAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object name_;
    /**
     * <code>string name = 1;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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();
        name_ = s;
        return s;
      }
    }
    /**
     * <code>string name = 1;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.DropColumn)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.DropColumn other = (io.greptime.v1.region.Server.DropColumn) obj;

      if (!getName()
          .equals(other.getName())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumn parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumn parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.DropColumn parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.DropColumn prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.DropColumn}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.DropColumn)
        io.greptime.v1.region.Server.DropColumnOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.DropColumn.class, io.greptime.v1.region.Server.DropColumn.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.DropColumn.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        name_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_DropColumn_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumn getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.DropColumn.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumn build() {
        io.greptime.v1.region.Server.DropColumn result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.DropColumn buildPartial() {
        io.greptime.v1.region.Server.DropColumn result = new io.greptime.v1.region.Server.DropColumn(this);
        result.name_ = name_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.DropColumn) {
          return mergeFrom((io.greptime.v1.region.Server.DropColumn)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.DropColumn other) {
        if (other == io.greptime.v1.region.Server.DropColumn.getDefaultInstance()) return this;
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.DropColumn parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.DropColumn) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <code>string name = 1;</code>
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string name = 1;</code>
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string name = 1;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string name = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <code>string name = 1;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.DropColumn)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.DropColumn)
    private static final io.greptime.v1.region.Server.DropColumn DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.DropColumn();
    }

    public static io.greptime.v1.region.Server.DropColumn getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DropColumn>
        PARSER = new com.google.protobuf.AbstractParser<DropColumn>() {
      @java.lang.Override
      public DropColumn parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new DropColumn(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<DropColumn> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.DropColumn getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FlushRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.FlushRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();
  }
  /**
   * Protobuf type {@code greptime.v1.region.FlushRequest}
   */
  public static final class FlushRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.FlushRequest)
      FlushRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FlushRequest.newBuilder() to construct.
    private FlushRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FlushRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new FlushRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FlushRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_FlushRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_FlushRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.FlushRequest.class, io.greptime.v1.region.Server.FlushRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.FlushRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.FlushRequest other = (io.greptime.v1.region.Server.FlushRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.FlushRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.FlushRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.FlushRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.FlushRequest)
        io.greptime.v1.region.Server.FlushRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_FlushRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_FlushRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.FlushRequest.class, io.greptime.v1.region.Server.FlushRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.FlushRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_FlushRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.FlushRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.FlushRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.FlushRequest build() {
        io.greptime.v1.region.Server.FlushRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.FlushRequest buildPartial() {
        io.greptime.v1.region.Server.FlushRequest result = new io.greptime.v1.region.Server.FlushRequest(this);
        result.regionId_ = regionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.FlushRequest) {
          return mergeFrom((io.greptime.v1.region.Server.FlushRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.FlushRequest other) {
        if (other == io.greptime.v1.region.Server.FlushRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.FlushRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.FlushRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.FlushRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.FlushRequest)
    private static final io.greptime.v1.region.Server.FlushRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.FlushRequest();
    }

    public static io.greptime.v1.region.Server.FlushRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FlushRequest>
        PARSER = new com.google.protobuf.AbstractParser<FlushRequest>() {
      @java.lang.Override
      public FlushRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FlushRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<FlushRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.FlushRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegularOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.Regular)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   *&#47; Regular compaction
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.Regular}
   */
  public static final class Regular extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.Regular)
      RegularOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Regular.newBuilder() to construct.
    private Regular(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Regular() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new Regular();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Regular(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_Regular_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_Regular_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.Regular.class, io.greptime.v1.region.Server.Regular.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.Regular)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.Regular other = (io.greptime.v1.region.Server.Regular) obj;

      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.Regular parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.Regular parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.Regular parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.Regular parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.Regular prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *&#47; Regular compaction
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.Regular}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.Regular)
        io.greptime.v1.region.Server.RegularOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_Regular_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_Regular_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.Regular.class, io.greptime.v1.region.Server.Regular.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.Regular.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_Regular_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.Regular getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.Regular.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.Regular build() {
        io.greptime.v1.region.Server.Regular result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.Regular buildPartial() {
        io.greptime.v1.region.Server.Regular result = new io.greptime.v1.region.Server.Regular(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.Regular) {
          return mergeFrom((io.greptime.v1.region.Server.Regular)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.Regular other) {
        if (other == io.greptime.v1.region.Server.Regular.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.Regular parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.Regular) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.Regular)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.Regular)
    private static final io.greptime.v1.region.Server.Regular DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.Regular();
    }

    public static io.greptime.v1.region.Server.Regular getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<Regular>
        PARSER = new com.google.protobuf.AbstractParser<Regular>() {
      @java.lang.Override
      public Regular parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Regular(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<Regular> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.Regular getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StrictWindowOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.StrictWindow)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int64 window_seconds = 1;</code>
     * @return The windowSeconds.
     */
    long getWindowSeconds();
  }
  /**
   * <pre>
   *&#47; Strictly-windowed compaction.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.StrictWindow}
   */
  public static final class StrictWindow extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.StrictWindow)
      StrictWindowOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StrictWindow.newBuilder() to construct.
    private StrictWindow(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StrictWindow() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StrictWindow();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StrictWindow(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              windowSeconds_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_StrictWindow_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_StrictWindow_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.StrictWindow.class, io.greptime.v1.region.Server.StrictWindow.Builder.class);
    }

    public static final int WINDOW_SECONDS_FIELD_NUMBER = 1;
    private long windowSeconds_;
    /**
     * <code>int64 window_seconds = 1;</code>
     * @return The windowSeconds.
     */
    @java.lang.Override
    public long getWindowSeconds() {
      return windowSeconds_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (windowSeconds_ != 0L) {
        output.writeInt64(1, windowSeconds_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (windowSeconds_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, windowSeconds_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.StrictWindow)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.StrictWindow other = (io.greptime.v1.region.Server.StrictWindow) obj;

      if (getWindowSeconds()
          != other.getWindowSeconds()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + WINDOW_SECONDS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getWindowSeconds());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.StrictWindow parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.StrictWindow prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *&#47; Strictly-windowed compaction.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.StrictWindow}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.StrictWindow)
        io.greptime.v1.region.Server.StrictWindowOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_StrictWindow_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_StrictWindow_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.StrictWindow.class, io.greptime.v1.region.Server.StrictWindow.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.StrictWindow.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        windowSeconds_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_StrictWindow_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.StrictWindow getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.StrictWindow build() {
        io.greptime.v1.region.Server.StrictWindow result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.StrictWindow buildPartial() {
        io.greptime.v1.region.Server.StrictWindow result = new io.greptime.v1.region.Server.StrictWindow(this);
        result.windowSeconds_ = windowSeconds_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.StrictWindow) {
          return mergeFrom((io.greptime.v1.region.Server.StrictWindow)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.StrictWindow other) {
        if (other == io.greptime.v1.region.Server.StrictWindow.getDefaultInstance()) return this;
        if (other.getWindowSeconds() != 0L) {
          setWindowSeconds(other.getWindowSeconds());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.StrictWindow parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.StrictWindow) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long windowSeconds_ ;
      /**
       * <code>int64 window_seconds = 1;</code>
       * @return The windowSeconds.
       */
      @java.lang.Override
      public long getWindowSeconds() {
        return windowSeconds_;
      }
      /**
       * <code>int64 window_seconds = 1;</code>
       * @param value The windowSeconds to set.
       * @return This builder for chaining.
       */
      public Builder setWindowSeconds(long value) {
        
        windowSeconds_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 window_seconds = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearWindowSeconds() {
        
        windowSeconds_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.StrictWindow)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.StrictWindow)
    private static final io.greptime.v1.region.Server.StrictWindow DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.StrictWindow();
    }

    public static io.greptime.v1.region.Server.StrictWindow getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<StrictWindow>
        PARSER = new com.google.protobuf.AbstractParser<StrictWindow>() {
      @java.lang.Override
      public StrictWindow parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new StrictWindow(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<StrictWindow> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.StrictWindow getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CompactRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.CompactRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     * @return Whether the regular field is set.
     */
    boolean hasRegular();
    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     * @return The regular.
     */
    io.greptime.v1.region.Server.Regular getRegular();
    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     */
    io.greptime.v1.region.Server.RegularOrBuilder getRegularOrBuilder();

    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     * @return Whether the strictWindow field is set.
     */
    boolean hasStrictWindow();
    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     * @return The strictWindow.
     */
    io.greptime.v1.region.Server.StrictWindow getStrictWindow();
    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     */
    io.greptime.v1.region.Server.StrictWindowOrBuilder getStrictWindowOrBuilder();

    public io.greptime.v1.region.Server.CompactRequest.OptionsCase getOptionsCase();
  }
  /**
   * Protobuf type {@code greptime.v1.region.CompactRequest}
   */
  public static final class CompactRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.CompactRequest)
      CompactRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CompactRequest.newBuilder() to construct.
    private CompactRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CompactRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CompactRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CompactRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.region.Server.Regular.Builder subBuilder = null;
              if (optionsCase_ == 2) {
                subBuilder = ((io.greptime.v1.region.Server.Regular) options_).toBuilder();
              }
              options_ =
                  input.readMessage(io.greptime.v1.region.Server.Regular.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.Regular) options_);
                options_ = subBuilder.buildPartial();
              }
              optionsCase_ = 2;
              break;
            }
            case 26: {
              io.greptime.v1.region.Server.StrictWindow.Builder subBuilder = null;
              if (optionsCase_ == 3) {
                subBuilder = ((io.greptime.v1.region.Server.StrictWindow) options_).toBuilder();
              }
              options_ =
                  input.readMessage(io.greptime.v1.region.Server.StrictWindow.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.StrictWindow) options_);
                options_ = subBuilder.buildPartial();
              }
              optionsCase_ = 3;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CompactRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CompactRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.CompactRequest.class, io.greptime.v1.region.Server.CompactRequest.Builder.class);
    }

    private int optionsCase_ = 0;
    private java.lang.Object options_;
    public enum OptionsCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      REGULAR(2),
      STRICT_WINDOW(3),
      OPTIONS_NOT_SET(0);
      private final int value;
      private OptionsCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static OptionsCase valueOf(int value) {
        return forNumber(value);
      }

      public static OptionsCase forNumber(int value) {
        switch (value) {
          case 2: return REGULAR;
          case 3: return STRICT_WINDOW;
          case 0: return OPTIONS_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public OptionsCase
    getOptionsCase() {
      return OptionsCase.forNumber(
          optionsCase_);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int REGULAR_FIELD_NUMBER = 2;
    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     * @return Whether the regular field is set.
     */
    @java.lang.Override
    public boolean hasRegular() {
      return optionsCase_ == 2;
    }
    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     * @return The regular.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.Regular getRegular() {
      if (optionsCase_ == 2) {
         return (io.greptime.v1.region.Server.Regular) options_;
      }
      return io.greptime.v1.region.Server.Regular.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.Regular regular = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.RegularOrBuilder getRegularOrBuilder() {
      if (optionsCase_ == 2) {
         return (io.greptime.v1.region.Server.Regular) options_;
      }
      return io.greptime.v1.region.Server.Regular.getDefaultInstance();
    }

    public static final int STRICT_WINDOW_FIELD_NUMBER = 3;
    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     * @return Whether the strictWindow field is set.
     */
    @java.lang.Override
    public boolean hasStrictWindow() {
      return optionsCase_ == 3;
    }
    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     * @return The strictWindow.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.StrictWindow getStrictWindow() {
      if (optionsCase_ == 3) {
         return (io.greptime.v1.region.Server.StrictWindow) options_;
      }
      return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.StrictWindowOrBuilder getStrictWindowOrBuilder() {
      if (optionsCase_ == 3) {
         return (io.greptime.v1.region.Server.StrictWindow) options_;
      }
      return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (optionsCase_ == 2) {
        output.writeMessage(2, (io.greptime.v1.region.Server.Regular) options_);
      }
      if (optionsCase_ == 3) {
        output.writeMessage(3, (io.greptime.v1.region.Server.StrictWindow) options_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (optionsCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (io.greptime.v1.region.Server.Regular) options_);
      }
      if (optionsCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (io.greptime.v1.region.Server.StrictWindow) options_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.CompactRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.CompactRequest other = (io.greptime.v1.region.Server.CompactRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getOptionsCase().equals(other.getOptionsCase())) return false;
      switch (optionsCase_) {
        case 2:
          if (!getRegular()
              .equals(other.getRegular())) return false;
          break;
        case 3:
          if (!getStrictWindow()
              .equals(other.getStrictWindow())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      switch (optionsCase_) {
        case 2:
          hash = (37 * hash) + REGULAR_FIELD_NUMBER;
          hash = (53 * hash) + getRegular().hashCode();
          break;
        case 3:
          hash = (37 * hash) + STRICT_WINDOW_FIELD_NUMBER;
          hash = (53 * hash) + getStrictWindow().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.CompactRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.CompactRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.CompactRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.CompactRequest)
        io.greptime.v1.region.Server.CompactRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CompactRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CompactRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.CompactRequest.class, io.greptime.v1.region.Server.CompactRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.CompactRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        optionsCase_ = 0;
        options_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_CompactRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CompactRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.CompactRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CompactRequest build() {
        io.greptime.v1.region.Server.CompactRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.CompactRequest buildPartial() {
        io.greptime.v1.region.Server.CompactRequest result = new io.greptime.v1.region.Server.CompactRequest(this);
        result.regionId_ = regionId_;
        if (optionsCase_ == 2) {
          if (regularBuilder_ == null) {
            result.options_ = options_;
          } else {
            result.options_ = regularBuilder_.build();
          }
        }
        if (optionsCase_ == 3) {
          if (strictWindowBuilder_ == null) {
            result.options_ = options_;
          } else {
            result.options_ = strictWindowBuilder_.build();
          }
        }
        result.optionsCase_ = optionsCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.CompactRequest) {
          return mergeFrom((io.greptime.v1.region.Server.CompactRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.CompactRequest other) {
        if (other == io.greptime.v1.region.Server.CompactRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        switch (other.getOptionsCase()) {
          case REGULAR: {
            mergeRegular(other.getRegular());
            break;
          }
          case STRICT_WINDOW: {
            mergeStrictWindow(other.getStrictWindow());
            break;
          }
          case OPTIONS_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.CompactRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.CompactRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int optionsCase_ = 0;
      private java.lang.Object options_;
      public OptionsCase
          getOptionsCase() {
        return OptionsCase.forNumber(
            optionsCase_);
      }

      public Builder clearOptions() {
        optionsCase_ = 0;
        options_ = null;
        onChanged();
        return this;
      }


      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.Regular, io.greptime.v1.region.Server.Regular.Builder, io.greptime.v1.region.Server.RegularOrBuilder> regularBuilder_;
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       * @return Whether the regular field is set.
       */
      @java.lang.Override
      public boolean hasRegular() {
        return optionsCase_ == 2;
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       * @return The regular.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.Regular getRegular() {
        if (regularBuilder_ == null) {
          if (optionsCase_ == 2) {
            return (io.greptime.v1.region.Server.Regular) options_;
          }
          return io.greptime.v1.region.Server.Regular.getDefaultInstance();
        } else {
          if (optionsCase_ == 2) {
            return regularBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.Regular.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      public Builder setRegular(io.greptime.v1.region.Server.Regular value) {
        if (regularBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          options_ = value;
          onChanged();
        } else {
          regularBuilder_.setMessage(value);
        }
        optionsCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      public Builder setRegular(
          io.greptime.v1.region.Server.Regular.Builder builderForValue) {
        if (regularBuilder_ == null) {
          options_ = builderForValue.build();
          onChanged();
        } else {
          regularBuilder_.setMessage(builderForValue.build());
        }
        optionsCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      public Builder mergeRegular(io.greptime.v1.region.Server.Regular value) {
        if (regularBuilder_ == null) {
          if (optionsCase_ == 2 &&
              options_ != io.greptime.v1.region.Server.Regular.getDefaultInstance()) {
            options_ = io.greptime.v1.region.Server.Regular.newBuilder((io.greptime.v1.region.Server.Regular) options_)
                .mergeFrom(value).buildPartial();
          } else {
            options_ = value;
          }
          onChanged();
        } else {
          if (optionsCase_ == 2) {
            regularBuilder_.mergeFrom(value);
          } else {
            regularBuilder_.setMessage(value);
          }
        }
        optionsCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      public Builder clearRegular() {
        if (regularBuilder_ == null) {
          if (optionsCase_ == 2) {
            optionsCase_ = 0;
            options_ = null;
            onChanged();
          }
        } else {
          if (optionsCase_ == 2) {
            optionsCase_ = 0;
            options_ = null;
          }
          regularBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      public io.greptime.v1.region.Server.Regular.Builder getRegularBuilder() {
        return getRegularFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.RegularOrBuilder getRegularOrBuilder() {
        if ((optionsCase_ == 2) && (regularBuilder_ != null)) {
          return regularBuilder_.getMessageOrBuilder();
        } else {
          if (optionsCase_ == 2) {
            return (io.greptime.v1.region.Server.Regular) options_;
          }
          return io.greptime.v1.region.Server.Regular.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.Regular regular = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.Regular, io.greptime.v1.region.Server.Regular.Builder, io.greptime.v1.region.Server.RegularOrBuilder> 
          getRegularFieldBuilder() {
        if (regularBuilder_ == null) {
          if (!(optionsCase_ == 2)) {
            options_ = io.greptime.v1.region.Server.Regular.getDefaultInstance();
          }
          regularBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.Regular, io.greptime.v1.region.Server.Regular.Builder, io.greptime.v1.region.Server.RegularOrBuilder>(
                  (io.greptime.v1.region.Server.Regular) options_,
                  getParentForChildren(),
                  isClean());
          options_ = null;
        }
        optionsCase_ = 2;
        onChanged();;
        return regularBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.StrictWindow, io.greptime.v1.region.Server.StrictWindow.Builder, io.greptime.v1.region.Server.StrictWindowOrBuilder> strictWindowBuilder_;
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       * @return Whether the strictWindow field is set.
       */
      @java.lang.Override
      public boolean hasStrictWindow() {
        return optionsCase_ == 3;
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       * @return The strictWindow.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.StrictWindow getStrictWindow() {
        if (strictWindowBuilder_ == null) {
          if (optionsCase_ == 3) {
            return (io.greptime.v1.region.Server.StrictWindow) options_;
          }
          return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
        } else {
          if (optionsCase_ == 3) {
            return strictWindowBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      public Builder setStrictWindow(io.greptime.v1.region.Server.StrictWindow value) {
        if (strictWindowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          options_ = value;
          onChanged();
        } else {
          strictWindowBuilder_.setMessage(value);
        }
        optionsCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      public Builder setStrictWindow(
          io.greptime.v1.region.Server.StrictWindow.Builder builderForValue) {
        if (strictWindowBuilder_ == null) {
          options_ = builderForValue.build();
          onChanged();
        } else {
          strictWindowBuilder_.setMessage(builderForValue.build());
        }
        optionsCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      public Builder mergeStrictWindow(io.greptime.v1.region.Server.StrictWindow value) {
        if (strictWindowBuilder_ == null) {
          if (optionsCase_ == 3 &&
              options_ != io.greptime.v1.region.Server.StrictWindow.getDefaultInstance()) {
            options_ = io.greptime.v1.region.Server.StrictWindow.newBuilder((io.greptime.v1.region.Server.StrictWindow) options_)
                .mergeFrom(value).buildPartial();
          } else {
            options_ = value;
          }
          onChanged();
        } else {
          if (optionsCase_ == 3) {
            strictWindowBuilder_.mergeFrom(value);
          } else {
            strictWindowBuilder_.setMessage(value);
          }
        }
        optionsCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      public Builder clearStrictWindow() {
        if (strictWindowBuilder_ == null) {
          if (optionsCase_ == 3) {
            optionsCase_ = 0;
            options_ = null;
            onChanged();
          }
        } else {
          if (optionsCase_ == 3) {
            optionsCase_ = 0;
            options_ = null;
          }
          strictWindowBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      public io.greptime.v1.region.Server.StrictWindow.Builder getStrictWindowBuilder() {
        return getStrictWindowFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.StrictWindowOrBuilder getStrictWindowOrBuilder() {
        if ((optionsCase_ == 3) && (strictWindowBuilder_ != null)) {
          return strictWindowBuilder_.getMessageOrBuilder();
        } else {
          if (optionsCase_ == 3) {
            return (io.greptime.v1.region.Server.StrictWindow) options_;
          }
          return io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.StrictWindow strict_window = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.StrictWindow, io.greptime.v1.region.Server.StrictWindow.Builder, io.greptime.v1.region.Server.StrictWindowOrBuilder> 
          getStrictWindowFieldBuilder() {
        if (strictWindowBuilder_ == null) {
          if (!(optionsCase_ == 3)) {
            options_ = io.greptime.v1.region.Server.StrictWindow.getDefaultInstance();
          }
          strictWindowBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.StrictWindow, io.greptime.v1.region.Server.StrictWindow.Builder, io.greptime.v1.region.Server.StrictWindowOrBuilder>(
                  (io.greptime.v1.region.Server.StrictWindow) options_,
                  getParentForChildren(),
                  isClean());
          options_ = null;
        }
        optionsCase_ = 3;
        onChanged();;
        return strictWindowBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.CompactRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.CompactRequest)
    private static final io.greptime.v1.region.Server.CompactRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.CompactRequest();
    }

    public static io.greptime.v1.region.Server.CompactRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CompactRequest>
        PARSER = new com.google.protobuf.AbstractParser<CompactRequest>() {
      @java.lang.Override
      public CompactRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CompactRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CompactRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.CompactRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TruncateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.TruncateRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();
  }
  /**
   * Protobuf type {@code greptime.v1.region.TruncateRequest}
   */
  public static final class TruncateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.TruncateRequest)
      TruncateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TruncateRequest.newBuilder() to construct.
    private TruncateRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TruncateRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TruncateRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private TruncateRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_TruncateRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_TruncateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.TruncateRequest.class, io.greptime.v1.region.Server.TruncateRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.TruncateRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.TruncateRequest other = (io.greptime.v1.region.Server.TruncateRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.TruncateRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.TruncateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.TruncateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.TruncateRequest)
        io.greptime.v1.region.Server.TruncateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_TruncateRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_TruncateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.TruncateRequest.class, io.greptime.v1.region.Server.TruncateRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.TruncateRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_TruncateRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.TruncateRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.TruncateRequest build() {
        io.greptime.v1.region.Server.TruncateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.TruncateRequest buildPartial() {
        io.greptime.v1.region.Server.TruncateRequest result = new io.greptime.v1.region.Server.TruncateRequest(this);
        result.regionId_ = regionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.TruncateRequest) {
          return mergeFrom((io.greptime.v1.region.Server.TruncateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.TruncateRequest other) {
        if (other == io.greptime.v1.region.Server.TruncateRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.TruncateRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.TruncateRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.TruncateRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.TruncateRequest)
    private static final io.greptime.v1.region.Server.TruncateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.TruncateRequest();
    }

    public static io.greptime.v1.region.Server.TruncateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<TruncateRequest>
        PARSER = new com.google.protobuf.AbstractParser<TruncateRequest>() {
      @java.lang.Override
      public TruncateRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new TruncateRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<TruncateRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.TruncateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RegionColumnDefOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.RegionColumnDef)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     * @return Whether the columnDef field is set.
     */
    boolean hasColumnDef();
    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     * @return The columnDef.
     */
    io.greptime.v1.Ddl.ColumnDef getColumnDef();
    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     */
    io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder();

    /**
     * <code>uint32 column_id = 2;</code>
     * @return The columnId.
     */
    int getColumnId();
  }
  /**
   * <pre>
   * The column definition of a region. Unlike the message `ColumnDef` in
   * `ddl.proto` which is for clients outside GreptimeDB, this `RegionColumnDef`
   * is for region requests use only. So it carries an extra field `column_id`
   * that is known internally.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.RegionColumnDef}
   */
  public static final class RegionColumnDef extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.RegionColumnDef)
      RegionColumnDefOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RegionColumnDef.newBuilder() to construct.
    private RegionColumnDef(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RegionColumnDef() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RegionColumnDef();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RegionColumnDef(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.Ddl.ColumnDef.Builder subBuilder = null;
              if (columnDef_ != null) {
                subBuilder = columnDef_.toBuilder();
              }
              columnDef_ = input.readMessage(io.greptime.v1.Ddl.ColumnDef.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(columnDef_);
                columnDef_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              columnId_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.RegionColumnDef.class, io.greptime.v1.region.Server.RegionColumnDef.Builder.class);
    }

    public static final int COLUMN_DEF_FIELD_NUMBER = 1;
    private io.greptime.v1.Ddl.ColumnDef columnDef_;
    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     * @return Whether the columnDef field is set.
     */
    @java.lang.Override
    public boolean hasColumnDef() {
      return columnDef_ != null;
    }
    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     * @return The columnDef.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.ColumnDef getColumnDef() {
      return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_;
    }
    /**
     * <code>.greptime.v1.ColumnDef column_def = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() {
      return getColumnDef();
    }

    public static final int COLUMN_ID_FIELD_NUMBER = 2;
    private int columnId_;
    /**
     * <code>uint32 column_id = 2;</code>
     * @return The columnId.
     */
    @java.lang.Override
    public int getColumnId() {
      return columnId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (columnDef_ != null) {
        output.writeMessage(1, getColumnDef());
      }
      if (columnId_ != 0) {
        output.writeUInt32(2, columnId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (columnDef_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getColumnDef());
      }
      if (columnId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, columnId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.RegionColumnDef)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.RegionColumnDef other = (io.greptime.v1.region.Server.RegionColumnDef) obj;

      if (hasColumnDef() != other.hasColumnDef()) return false;
      if (hasColumnDef()) {
        if (!getColumnDef()
            .equals(other.getColumnDef())) return false;
      }
      if (getColumnId()
          != other.getColumnId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasColumnDef()) {
        hash = (37 * hash) + COLUMN_DEF_FIELD_NUMBER;
        hash = (53 * hash) + getColumnDef().hashCode();
      }
      hash = (37 * hash) + COLUMN_ID_FIELD_NUMBER;
      hash = (53 * hash) + getColumnId();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.RegionColumnDef parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.RegionColumnDef prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * The column definition of a region. Unlike the message `ColumnDef` in
     * `ddl.proto` which is for clients outside GreptimeDB, this `RegionColumnDef`
     * is for region requests use only. So it carries an extra field `column_id`
     * that is known internally.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.RegionColumnDef}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.RegionColumnDef)
        io.greptime.v1.region.Server.RegionColumnDefOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.RegionColumnDef.class, io.greptime.v1.region.Server.RegionColumnDef.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.RegionColumnDef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (columnDefBuilder_ == null) {
          columnDef_ = null;
        } else {
          columnDef_ = null;
          columnDefBuilder_ = null;
        }
        columnId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_RegionColumnDef_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionColumnDef getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionColumnDef build() {
        io.greptime.v1.region.Server.RegionColumnDef result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.RegionColumnDef buildPartial() {
        io.greptime.v1.region.Server.RegionColumnDef result = new io.greptime.v1.region.Server.RegionColumnDef(this);
        if (columnDefBuilder_ == null) {
          result.columnDef_ = columnDef_;
        } else {
          result.columnDef_ = columnDefBuilder_.build();
        }
        result.columnId_ = columnId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.RegionColumnDef) {
          return mergeFrom((io.greptime.v1.region.Server.RegionColumnDef)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.RegionColumnDef other) {
        if (other == io.greptime.v1.region.Server.RegionColumnDef.getDefaultInstance()) return this;
        if (other.hasColumnDef()) {
          mergeColumnDef(other.getColumnDef());
        }
        if (other.getColumnId() != 0) {
          setColumnId(other.getColumnId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.RegionColumnDef parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.RegionColumnDef) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private io.greptime.v1.Ddl.ColumnDef columnDef_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> columnDefBuilder_;
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       * @return Whether the columnDef field is set.
       */
      public boolean hasColumnDef() {
        return columnDefBuilder_ != null || columnDef_ != null;
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       * @return The columnDef.
       */
      public io.greptime.v1.Ddl.ColumnDef getColumnDef() {
        if (columnDefBuilder_ == null) {
          return columnDef_ == null ? io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_;
        } else {
          return columnDefBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public Builder setColumnDef(io.greptime.v1.Ddl.ColumnDef value) {
        if (columnDefBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          columnDef_ = value;
          onChanged();
        } else {
          columnDefBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public Builder setColumnDef(
          io.greptime.v1.Ddl.ColumnDef.Builder builderForValue) {
        if (columnDefBuilder_ == null) {
          columnDef_ = builderForValue.build();
          onChanged();
        } else {
          columnDefBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public Builder mergeColumnDef(io.greptime.v1.Ddl.ColumnDef value) {
        if (columnDefBuilder_ == null) {
          if (columnDef_ != null) {
            columnDef_ =
              io.greptime.v1.Ddl.ColumnDef.newBuilder(columnDef_).mergeFrom(value).buildPartial();
          } else {
            columnDef_ = value;
          }
          onChanged();
        } else {
          columnDefBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public Builder clearColumnDef() {
        if (columnDefBuilder_ == null) {
          columnDef_ = null;
          onChanged();
        } else {
          columnDef_ = null;
          columnDefBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public io.greptime.v1.Ddl.ColumnDef.Builder getColumnDefBuilder() {
        
        onChanged();
        return getColumnDefFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      public io.greptime.v1.Ddl.ColumnDefOrBuilder getColumnDefOrBuilder() {
        if (columnDefBuilder_ != null) {
          return columnDefBuilder_.getMessageOrBuilder();
        } else {
          return columnDef_ == null ?
              io.greptime.v1.Ddl.ColumnDef.getDefaultInstance() : columnDef_;
        }
      }
      /**
       * <code>.greptime.v1.ColumnDef column_def = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder> 
          getColumnDefFieldBuilder() {
        if (columnDefBuilder_ == null) {
          columnDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.ColumnDef, io.greptime.v1.Ddl.ColumnDef.Builder, io.greptime.v1.Ddl.ColumnDefOrBuilder>(
                  getColumnDef(),
                  getParentForChildren(),
                  isClean());
          columnDef_ = null;
        }
        return columnDefBuilder_;
      }

      private int columnId_ ;
      /**
       * <code>uint32 column_id = 2;</code>
       * @return The columnId.
       */
      @java.lang.Override
      public int getColumnId() {
        return columnId_;
      }
      /**
       * <code>uint32 column_id = 2;</code>
       * @param value The columnId to set.
       * @return This builder for chaining.
       */
      public Builder setColumnId(int value) {
        
        columnId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 column_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearColumnId() {
        
        columnId_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.RegionColumnDef)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.RegionColumnDef)
    private static final io.greptime.v1.region.Server.RegionColumnDef DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.RegionColumnDef();
    }

    public static io.greptime.v1.region.Server.RegionColumnDef getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RegionColumnDef>
        PARSER = new com.google.protobuf.AbstractParser<RegionColumnDef>() {
      @java.lang.Override
      public RegionColumnDef parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RegionColumnDef(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RegionColumnDef> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.RegionColumnDef getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface BulkInsertRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.BulkInsertRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     * @return Whether the arrowIpc field is set.
     */
    boolean hasArrowIpc();
    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     * @return The arrowIpc.
     */
    io.greptime.v1.region.Server.ArrowIpc getArrowIpc();
    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     */
    io.greptime.v1.region.Server.ArrowIpcOrBuilder getArrowIpcOrBuilder();

    public io.greptime.v1.region.Server.BulkInsertRequest.BodyCase getBodyCase();
  }
  /**
   * <pre>
   * Request of bulk ingestion API.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.BulkInsertRequest}
   */
  public static final class BulkInsertRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.BulkInsertRequest)
      BulkInsertRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use BulkInsertRequest.newBuilder() to construct.
    private BulkInsertRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private BulkInsertRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new BulkInsertRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private BulkInsertRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 10: {
              io.greptime.v1.region.Server.ArrowIpc.Builder subBuilder = null;
              if (bodyCase_ == 1) {
                subBuilder = ((io.greptime.v1.region.Server.ArrowIpc) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.region.Server.ArrowIpc.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.ArrowIpc) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 1;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_BulkInsertRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_BulkInsertRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.BulkInsertRequest.class, io.greptime.v1.region.Server.BulkInsertRequest.Builder.class);
    }

    private int bodyCase_ = 0;
    private java.lang.Object body_;
    public enum BodyCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      ARROW_IPC(1),
      BODY_NOT_SET(0);
      private final int value;
      private BodyCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static BodyCase valueOf(int value) {
        return forNumber(value);
      }

      public static BodyCase forNumber(int value) {
        switch (value) {
          case 1: return ARROW_IPC;
          case 0: return BODY_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public BodyCase
    getBodyCase() {
      return BodyCase.forNumber(
          bodyCase_);
    }

    public static final int ARROW_IPC_FIELD_NUMBER = 1;
    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     * @return Whether the arrowIpc field is set.
     */
    @java.lang.Override
    public boolean hasArrowIpc() {
      return bodyCase_ == 1;
    }
    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     * @return The arrowIpc.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.ArrowIpc getArrowIpc() {
      if (bodyCase_ == 1) {
         return (io.greptime.v1.region.Server.ArrowIpc) body_;
      }
      return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.ArrowIpcOrBuilder getArrowIpcOrBuilder() {
      if (bodyCase_ == 1) {
         return (io.greptime.v1.region.Server.ArrowIpc) body_;
      }
      return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (bodyCase_ == 1) {
        output.writeMessage(1, (io.greptime.v1.region.Server.ArrowIpc) body_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (bodyCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (io.greptime.v1.region.Server.ArrowIpc) body_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.BulkInsertRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.BulkInsertRequest other = (io.greptime.v1.region.Server.BulkInsertRequest) obj;

      if (!getBodyCase().equals(other.getBodyCase())) return false;
      switch (bodyCase_) {
        case 1:
          if (!getArrowIpc()
              .equals(other.getArrowIpc())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (bodyCase_) {
        case 1:
          hash = (37 * hash) + ARROW_IPC_FIELD_NUMBER;
          hash = (53 * hash) + getArrowIpc().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.BulkInsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.BulkInsertRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request of bulk ingestion API.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.BulkInsertRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.BulkInsertRequest)
        io.greptime.v1.region.Server.BulkInsertRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_BulkInsertRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_BulkInsertRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.BulkInsertRequest.class, io.greptime.v1.region.Server.BulkInsertRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.BulkInsertRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bodyCase_ = 0;
        body_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_BulkInsertRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.BulkInsertRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.BulkInsertRequest build() {
        io.greptime.v1.region.Server.BulkInsertRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.BulkInsertRequest buildPartial() {
        io.greptime.v1.region.Server.BulkInsertRequest result = new io.greptime.v1.region.Server.BulkInsertRequest(this);
        if (bodyCase_ == 1) {
          if (arrowIpcBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = arrowIpcBuilder_.build();
          }
        }
        result.bodyCase_ = bodyCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.BulkInsertRequest) {
          return mergeFrom((io.greptime.v1.region.Server.BulkInsertRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.BulkInsertRequest other) {
        if (other == io.greptime.v1.region.Server.BulkInsertRequest.getDefaultInstance()) return this;
        switch (other.getBodyCase()) {
          case ARROW_IPC: {
            mergeArrowIpc(other.getArrowIpc());
            break;
          }
          case BODY_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.BulkInsertRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.BulkInsertRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bodyCase_ = 0;
      private java.lang.Object body_;
      public BodyCase
          getBodyCase() {
        return BodyCase.forNumber(
            bodyCase_);
      }

      public Builder clearBody() {
        bodyCase_ = 0;
        body_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.ArrowIpc, io.greptime.v1.region.Server.ArrowIpc.Builder, io.greptime.v1.region.Server.ArrowIpcOrBuilder> arrowIpcBuilder_;
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       * @return Whether the arrowIpc field is set.
       */
      @java.lang.Override
      public boolean hasArrowIpc() {
        return bodyCase_ == 1;
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       * @return The arrowIpc.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.ArrowIpc getArrowIpc() {
        if (arrowIpcBuilder_ == null) {
          if (bodyCase_ == 1) {
            return (io.greptime.v1.region.Server.ArrowIpc) body_;
          }
          return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
        } else {
          if (bodyCase_ == 1) {
            return arrowIpcBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      public Builder setArrowIpc(io.greptime.v1.region.Server.ArrowIpc value) {
        if (arrowIpcBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          arrowIpcBuilder_.setMessage(value);
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      public Builder setArrowIpc(
          io.greptime.v1.region.Server.ArrowIpc.Builder builderForValue) {
        if (arrowIpcBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          arrowIpcBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      public Builder mergeArrowIpc(io.greptime.v1.region.Server.ArrowIpc value) {
        if (arrowIpcBuilder_ == null) {
          if (bodyCase_ == 1 &&
              body_ != io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance()) {
            body_ = io.greptime.v1.region.Server.ArrowIpc.newBuilder((io.greptime.v1.region.Server.ArrowIpc) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 1) {
            arrowIpcBuilder_.mergeFrom(value);
          } else {
            arrowIpcBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      public Builder clearArrowIpc() {
        if (arrowIpcBuilder_ == null) {
          if (bodyCase_ == 1) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 1) {
            bodyCase_ = 0;
            body_ = null;
          }
          arrowIpcBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      public io.greptime.v1.region.Server.ArrowIpc.Builder getArrowIpcBuilder() {
        return getArrowIpcFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.ArrowIpcOrBuilder getArrowIpcOrBuilder() {
        if ((bodyCase_ == 1) && (arrowIpcBuilder_ != null)) {
          return arrowIpcBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 1) {
            return (io.greptime.v1.region.Server.ArrowIpc) body_;
          }
          return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.ArrowIpc arrow_ipc = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.ArrowIpc, io.greptime.v1.region.Server.ArrowIpc.Builder, io.greptime.v1.region.Server.ArrowIpcOrBuilder> 
          getArrowIpcFieldBuilder() {
        if (arrowIpcBuilder_ == null) {
          if (!(bodyCase_ == 1)) {
            body_ = io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
          }
          arrowIpcBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.ArrowIpc, io.greptime.v1.region.Server.ArrowIpc.Builder, io.greptime.v1.region.Server.ArrowIpcOrBuilder>(
                  (io.greptime.v1.region.Server.ArrowIpc) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 1;
        onChanged();;
        return arrowIpcBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.BulkInsertRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.BulkInsertRequest)
    private static final io.greptime.v1.region.Server.BulkInsertRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.BulkInsertRequest();
    }

    public static io.greptime.v1.region.Server.BulkInsertRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<BulkInsertRequest>
        PARSER = new com.google.protobuf.AbstractParser<BulkInsertRequest>() {
      @java.lang.Override
      public BulkInsertRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new BulkInsertRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<BulkInsertRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.BulkInsertRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ArrowIpcOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.ArrowIpc)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>bytes schema = 2;</code>
     * @return The schema.
     */
    com.google.protobuf.ByteString getSchema();

    /**
     * <code>bytes data_header = 3;</code>
     * @return The dataHeader.
     */
    com.google.protobuf.ByteString getDataHeader();

    /**
     * <code>bytes payload = 4;</code>
     * @return The payload.
     */
    com.google.protobuf.ByteString getPayload();
  }
  /**
   * Protobuf type {@code greptime.v1.region.ArrowIpc}
   */
  public static final class ArrowIpc extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.ArrowIpc)
      ArrowIpcOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ArrowIpc.newBuilder() to construct.
    private ArrowIpc(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ArrowIpc() {
      schema_ = com.google.protobuf.ByteString.EMPTY;
      dataHeader_ = com.google.protobuf.ByteString.EMPTY;
      payload_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ArrowIpc();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ArrowIpc(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {

              schema_ = input.readBytes();
              break;
            }
            case 26: {

              dataHeader_ = input.readBytes();
              break;
            }
            case 34: {

              payload_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ArrowIpc_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ArrowIpc_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.ArrowIpc.class, io.greptime.v1.region.Server.ArrowIpc.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int SCHEMA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString schema_;
    /**
     * <code>bytes schema = 2;</code>
     * @return The schema.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getSchema() {
      return schema_;
    }

    public static final int DATA_HEADER_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString dataHeader_;
    /**
     * <code>bytes data_header = 3;</code>
     * @return The dataHeader.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getDataHeader() {
      return dataHeader_;
    }

    public static final int PAYLOAD_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString payload_;
    /**
     * <code>bytes payload = 4;</code>
     * @return The payload.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getPayload() {
      return payload_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (!schema_.isEmpty()) {
        output.writeBytes(2, schema_);
      }
      if (!dataHeader_.isEmpty()) {
        output.writeBytes(3, dataHeader_);
      }
      if (!payload_.isEmpty()) {
        output.writeBytes(4, payload_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (!schema_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, schema_);
      }
      if (!dataHeader_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, dataHeader_);
      }
      if (!payload_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, payload_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.ArrowIpc)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.ArrowIpc other = (io.greptime.v1.region.Server.ArrowIpc) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getSchema()
          .equals(other.getSchema())) return false;
      if (!getDataHeader()
          .equals(other.getDataHeader())) return false;
      if (!getPayload()
          .equals(other.getPayload())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
      hash = (53 * hash) + getSchema().hashCode();
      hash = (37 * hash) + DATA_HEADER_FIELD_NUMBER;
      hash = (53 * hash) + getDataHeader().hashCode();
      hash = (37 * hash) + PAYLOAD_FIELD_NUMBER;
      hash = (53 * hash) + getPayload().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.ArrowIpc parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.ArrowIpc prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.region.ArrowIpc}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.ArrowIpc)
        io.greptime.v1.region.Server.ArrowIpcOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ArrowIpc_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ArrowIpc_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.ArrowIpc.class, io.greptime.v1.region.Server.ArrowIpc.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.ArrowIpc.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        schema_ = com.google.protobuf.ByteString.EMPTY;

        dataHeader_ = com.google.protobuf.ByteString.EMPTY;

        payload_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_ArrowIpc_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.ArrowIpc getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.ArrowIpc build() {
        io.greptime.v1.region.Server.ArrowIpc result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.ArrowIpc buildPartial() {
        io.greptime.v1.region.Server.ArrowIpc result = new io.greptime.v1.region.Server.ArrowIpc(this);
        result.regionId_ = regionId_;
        result.schema_ = schema_;
        result.dataHeader_ = dataHeader_;
        result.payload_ = payload_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.ArrowIpc) {
          return mergeFrom((io.greptime.v1.region.Server.ArrowIpc)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.ArrowIpc other) {
        if (other == io.greptime.v1.region.Server.ArrowIpc.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.getSchema() != com.google.protobuf.ByteString.EMPTY) {
          setSchema(other.getSchema());
        }
        if (other.getDataHeader() != com.google.protobuf.ByteString.EMPTY) {
          setDataHeader(other.getDataHeader());
        }
        if (other.getPayload() != com.google.protobuf.ByteString.EMPTY) {
          setPayload(other.getPayload());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.ArrowIpc parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.ArrowIpc) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString schema_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes schema = 2;</code>
       * @return The schema.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getSchema() {
        return schema_;
      }
      /**
       * <code>bytes schema = 2;</code>
       * @param value The schema to set.
       * @return This builder for chaining.
       */
      public Builder setSchema(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        schema_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes schema = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSchema() {
        
        schema_ = getDefaultInstance().getSchema();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString dataHeader_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes data_header = 3;</code>
       * @return The dataHeader.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getDataHeader() {
        return dataHeader_;
      }
      /**
       * <code>bytes data_header = 3;</code>
       * @param value The dataHeader to set.
       * @return This builder for chaining.
       */
      public Builder setDataHeader(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        dataHeader_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes data_header = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearDataHeader() {
        
        dataHeader_ = getDefaultInstance().getDataHeader();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes payload = 4;</code>
       * @return The payload.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getPayload() {
        return payload_;
      }
      /**
       * <code>bytes payload = 4;</code>
       * @param value The payload to set.
       * @return This builder for chaining.
       */
      public Builder setPayload(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        payload_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes payload = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearPayload() {
        
        payload_ = getDefaultInstance().getPayload();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.ArrowIpc)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.ArrowIpc)
    private static final io.greptime.v1.region.Server.ArrowIpc DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.ArrowIpc();
    }

    public static io.greptime.v1.region.Server.ArrowIpc getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ArrowIpc>
        PARSER = new com.google.protobuf.AbstractParser<ArrowIpc>() {
      @java.lang.Override
      public ArrowIpc parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new ArrowIpc(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<ArrowIpc> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.ArrowIpc getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MitoManifestInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.MitoManifestInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 data_manifest_version = 1;</code>
     * @return The dataManifestVersion.
     */
    long getDataManifestVersion();
  }
  /**
   * <pre>
   * Manifest info for mito engine.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.MitoManifestInfo}
   */
  public static final class MitoManifestInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.MitoManifestInfo)
      MitoManifestInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MitoManifestInfo.newBuilder() to construct.
    private MitoManifestInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MitoManifestInfo() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MitoManifestInfo();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MitoManifestInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              dataManifestVersion_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MitoManifestInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MitoManifestInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.MitoManifestInfo.class, io.greptime.v1.region.Server.MitoManifestInfo.Builder.class);
    }

    public static final int DATA_MANIFEST_VERSION_FIELD_NUMBER = 1;
    private long dataManifestVersion_;
    /**
     * <code>uint64 data_manifest_version = 1;</code>
     * @return The dataManifestVersion.
     */
    @java.lang.Override
    public long getDataManifestVersion() {
      return dataManifestVersion_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (dataManifestVersion_ != 0L) {
        output.writeUInt64(1, dataManifestVersion_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (dataManifestVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, dataManifestVersion_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.MitoManifestInfo)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.MitoManifestInfo other = (io.greptime.v1.region.Server.MitoManifestInfo) obj;

      if (getDataManifestVersion()
          != other.getDataManifestVersion()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DATA_MANIFEST_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDataManifestVersion());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MitoManifestInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.MitoManifestInfo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Manifest info for mito engine.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.MitoManifestInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.MitoManifestInfo)
        io.greptime.v1.region.Server.MitoManifestInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MitoManifestInfo_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MitoManifestInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.MitoManifestInfo.class, io.greptime.v1.region.Server.MitoManifestInfo.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.MitoManifestInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        dataManifestVersion_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MitoManifestInfo_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MitoManifestInfo getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MitoManifestInfo build() {
        io.greptime.v1.region.Server.MitoManifestInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MitoManifestInfo buildPartial() {
        io.greptime.v1.region.Server.MitoManifestInfo result = new io.greptime.v1.region.Server.MitoManifestInfo(this);
        result.dataManifestVersion_ = dataManifestVersion_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.MitoManifestInfo) {
          return mergeFrom((io.greptime.v1.region.Server.MitoManifestInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.MitoManifestInfo other) {
        if (other == io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance()) return this;
        if (other.getDataManifestVersion() != 0L) {
          setDataManifestVersion(other.getDataManifestVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.MitoManifestInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.MitoManifestInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long dataManifestVersion_ ;
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @return The dataManifestVersion.
       */
      @java.lang.Override
      public long getDataManifestVersion() {
        return dataManifestVersion_;
      }
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @param value The dataManifestVersion to set.
       * @return This builder for chaining.
       */
      public Builder setDataManifestVersion(long value) {
        
        dataManifestVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDataManifestVersion() {
        
        dataManifestVersion_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.MitoManifestInfo)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.MitoManifestInfo)
    private static final io.greptime.v1.region.Server.MitoManifestInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.MitoManifestInfo();
    }

    public static io.greptime.v1.region.Server.MitoManifestInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MitoManifestInfo>
        PARSER = new com.google.protobuf.AbstractParser<MitoManifestInfo>() {
      @java.lang.Override
      public MitoManifestInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MitoManifestInfo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MitoManifestInfo> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.MitoManifestInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MetricManifestInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.MetricManifestInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 data_manifest_version = 1;</code>
     * @return The dataManifestVersion.
     */
    long getDataManifestVersion();

    /**
     * <code>uint64 metadata_manifest_version = 2;</code>
     * @return The metadataManifestVersion.
     */
    long getMetadataManifestVersion();
  }
  /**
   * <pre>
   * Manifest info for metric engine.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.MetricManifestInfo}
   */
  public static final class MetricManifestInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.MetricManifestInfo)
      MetricManifestInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MetricManifestInfo.newBuilder() to construct.
    private MetricManifestInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MetricManifestInfo() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MetricManifestInfo();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MetricManifestInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              dataManifestVersion_ = input.readUInt64();
              break;
            }
            case 16: {

              metadataManifestVersion_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MetricManifestInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MetricManifestInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.MetricManifestInfo.class, io.greptime.v1.region.Server.MetricManifestInfo.Builder.class);
    }

    public static final int DATA_MANIFEST_VERSION_FIELD_NUMBER = 1;
    private long dataManifestVersion_;
    /**
     * <code>uint64 data_manifest_version = 1;</code>
     * @return The dataManifestVersion.
     */
    @java.lang.Override
    public long getDataManifestVersion() {
      return dataManifestVersion_;
    }

    public static final int METADATA_MANIFEST_VERSION_FIELD_NUMBER = 2;
    private long metadataManifestVersion_;
    /**
     * <code>uint64 metadata_manifest_version = 2;</code>
     * @return The metadataManifestVersion.
     */
    @java.lang.Override
    public long getMetadataManifestVersion() {
      return metadataManifestVersion_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (dataManifestVersion_ != 0L) {
        output.writeUInt64(1, dataManifestVersion_);
      }
      if (metadataManifestVersion_ != 0L) {
        output.writeUInt64(2, metadataManifestVersion_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (dataManifestVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, dataManifestVersion_);
      }
      if (metadataManifestVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, metadataManifestVersion_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.MetricManifestInfo)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.MetricManifestInfo other = (io.greptime.v1.region.Server.MetricManifestInfo) obj;

      if (getDataManifestVersion()
          != other.getDataManifestVersion()) return false;
      if (getMetadataManifestVersion()
          != other.getMetadataManifestVersion()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DATA_MANIFEST_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDataManifestVersion());
      hash = (37 * hash) + METADATA_MANIFEST_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMetadataManifestVersion());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.MetricManifestInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.MetricManifestInfo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Manifest info for metric engine.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.MetricManifestInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.MetricManifestInfo)
        io.greptime.v1.region.Server.MetricManifestInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MetricManifestInfo_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MetricManifestInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.MetricManifestInfo.class, io.greptime.v1.region.Server.MetricManifestInfo.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.MetricManifestInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        dataManifestVersion_ = 0L;

        metadataManifestVersion_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_MetricManifestInfo_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MetricManifestInfo getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MetricManifestInfo build() {
        io.greptime.v1.region.Server.MetricManifestInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.MetricManifestInfo buildPartial() {
        io.greptime.v1.region.Server.MetricManifestInfo result = new io.greptime.v1.region.Server.MetricManifestInfo(this);
        result.dataManifestVersion_ = dataManifestVersion_;
        result.metadataManifestVersion_ = metadataManifestVersion_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.MetricManifestInfo) {
          return mergeFrom((io.greptime.v1.region.Server.MetricManifestInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.MetricManifestInfo other) {
        if (other == io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance()) return this;
        if (other.getDataManifestVersion() != 0L) {
          setDataManifestVersion(other.getDataManifestVersion());
        }
        if (other.getMetadataManifestVersion() != 0L) {
          setMetadataManifestVersion(other.getMetadataManifestVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.MetricManifestInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.MetricManifestInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long dataManifestVersion_ ;
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @return The dataManifestVersion.
       */
      @java.lang.Override
      public long getDataManifestVersion() {
        return dataManifestVersion_;
      }
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @param value The dataManifestVersion to set.
       * @return This builder for chaining.
       */
      public Builder setDataManifestVersion(long value) {
        
        dataManifestVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 data_manifest_version = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDataManifestVersion() {
        
        dataManifestVersion_ = 0L;
        onChanged();
        return this;
      }

      private long metadataManifestVersion_ ;
      /**
       * <code>uint64 metadata_manifest_version = 2;</code>
       * @return The metadataManifestVersion.
       */
      @java.lang.Override
      public long getMetadataManifestVersion() {
        return metadataManifestVersion_;
      }
      /**
       * <code>uint64 metadata_manifest_version = 2;</code>
       * @param value The metadataManifestVersion to set.
       * @return This builder for chaining.
       */
      public Builder setMetadataManifestVersion(long value) {
        
        metadataManifestVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 metadata_manifest_version = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMetadataManifestVersion() {
        
        metadataManifestVersion_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.MetricManifestInfo)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.MetricManifestInfo)
    private static final io.greptime.v1.region.Server.MetricManifestInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.MetricManifestInfo();
    }

    public static io.greptime.v1.region.Server.MetricManifestInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MetricManifestInfo>
        PARSER = new com.google.protobuf.AbstractParser<MetricManifestInfo>() {
      @java.lang.Override
      public MetricManifestInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MetricManifestInfo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MetricManifestInfo> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.MetricManifestInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SyncRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.region.SyncRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     * @return Whether the mitoManifestInfo field is set.
     */
    boolean hasMitoManifestInfo();
    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     * @return The mitoManifestInfo.
     */
    io.greptime.v1.region.Server.MitoManifestInfo getMitoManifestInfo();
    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     */
    io.greptime.v1.region.Server.MitoManifestInfoOrBuilder getMitoManifestInfoOrBuilder();

    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     * @return Whether the metricManifestInfo field is set.
     */
    boolean hasMetricManifestInfo();
    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     * @return The metricManifestInfo.
     */
    io.greptime.v1.region.Server.MetricManifestInfo getMetricManifestInfo();
    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     */
    io.greptime.v1.region.Server.MetricManifestInfoOrBuilder getMetricManifestInfoOrBuilder();

    public io.greptime.v1.region.Server.SyncRequest.ManifestInfoCase getManifestInfoCase();
  }
  /**
   * <pre>
   * Sync request for region.
   * </pre>
   *
   * Protobuf type {@code greptime.v1.region.SyncRequest}
   */
  public static final class SyncRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.region.SyncRequest)
      SyncRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SyncRequest.newBuilder() to construct.
    private SyncRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SyncRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SyncRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SyncRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      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;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.region.Server.MitoManifestInfo.Builder subBuilder = null;
              if (manifestInfoCase_ == 2) {
                subBuilder = ((io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_).toBuilder();
              }
              manifestInfo_ =
                  input.readMessage(io.greptime.v1.region.Server.MitoManifestInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_);
                manifestInfo_ = subBuilder.buildPartial();
              }
              manifestInfoCase_ = 2;
              break;
            }
            case 26: {
              io.greptime.v1.region.Server.MetricManifestInfo.Builder subBuilder = null;
              if (manifestInfoCase_ == 3) {
                subBuilder = ((io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_).toBuilder();
              }
              manifestInfo_ =
                  input.readMessage(io.greptime.v1.region.Server.MetricManifestInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_);
                manifestInfo_ = subBuilder.buildPartial();
              }
              manifestInfoCase_ = 3;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_SyncRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.region.Server.internal_static_greptime_v1_region_SyncRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.region.Server.SyncRequest.class, io.greptime.v1.region.Server.SyncRequest.Builder.class);
    }

    private int manifestInfoCase_ = 0;
    private java.lang.Object manifestInfo_;
    public enum ManifestInfoCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      MITO_MANIFEST_INFO(2),
      METRIC_MANIFEST_INFO(3),
      MANIFESTINFO_NOT_SET(0);
      private final int value;
      private ManifestInfoCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ManifestInfoCase valueOf(int value) {
        return forNumber(value);
      }

      public static ManifestInfoCase forNumber(int value) {
        switch (value) {
          case 2: return MITO_MANIFEST_INFO;
          case 3: return METRIC_MANIFEST_INFO;
          case 0: return MANIFESTINFO_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ManifestInfoCase
    getManifestInfoCase() {
      return ManifestInfoCase.forNumber(
          manifestInfoCase_);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int MITO_MANIFEST_INFO_FIELD_NUMBER = 2;
    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     * @return Whether the mitoManifestInfo field is set.
     */
    @java.lang.Override
    public boolean hasMitoManifestInfo() {
      return manifestInfoCase_ == 2;
    }
    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     * @return The mitoManifestInfo.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.MitoManifestInfo getMitoManifestInfo() {
      if (manifestInfoCase_ == 2) {
         return (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_;
      }
      return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.MitoManifestInfoOrBuilder getMitoManifestInfoOrBuilder() {
      if (manifestInfoCase_ == 2) {
         return (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_;
      }
      return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
    }

    public static final int METRIC_MANIFEST_INFO_FIELD_NUMBER = 3;
    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     * @return Whether the metricManifestInfo field is set.
     */
    @java.lang.Override
    public boolean hasMetricManifestInfo() {
      return manifestInfoCase_ == 3;
    }
    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     * @return The metricManifestInfo.
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.MetricManifestInfo getMetricManifestInfo() {
      if (manifestInfoCase_ == 3) {
         return (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_;
      }
      return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.region.Server.MetricManifestInfoOrBuilder getMetricManifestInfoOrBuilder() {
      if (manifestInfoCase_ == 3) {
         return (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_;
      }
      return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (manifestInfoCase_ == 2) {
        output.writeMessage(2, (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_);
      }
      if (manifestInfoCase_ == 3) {
        output.writeMessage(3, (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (manifestInfoCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_);
      }
      if (manifestInfoCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.region.Server.SyncRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.region.Server.SyncRequest other = (io.greptime.v1.region.Server.SyncRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (!getManifestInfoCase().equals(other.getManifestInfoCase())) return false;
      switch (manifestInfoCase_) {
        case 2:
          if (!getMitoManifestInfo()
              .equals(other.getMitoManifestInfo())) return false;
          break;
        case 3:
          if (!getMetricManifestInfo()
              .equals(other.getMetricManifestInfo())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      switch (manifestInfoCase_) {
        case 2:
          hash = (37 * hash) + MITO_MANIFEST_INFO_FIELD_NUMBER;
          hash = (53 * hash) + getMitoManifestInfo().hashCode();
          break;
        case 3:
          hash = (37 * hash) + METRIC_MANIFEST_INFO_FIELD_NUMBER;
          hash = (53 * hash) + getMetricManifestInfo().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.region.Server.SyncRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.region.Server.SyncRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Sync request for region.
     * </pre>
     *
     * Protobuf type {@code greptime.v1.region.SyncRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.region.SyncRequest)
        io.greptime.v1.region.Server.SyncRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_SyncRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_SyncRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.region.Server.SyncRequest.class, io.greptime.v1.region.Server.SyncRequest.Builder.class);
      }

      // Construct using io.greptime.v1.region.Server.SyncRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        manifestInfoCase_ = 0;
        manifestInfo_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.region.Server.internal_static_greptime_v1_region_SyncRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.SyncRequest getDefaultInstanceForType() {
        return io.greptime.v1.region.Server.SyncRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.SyncRequest build() {
        io.greptime.v1.region.Server.SyncRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.region.Server.SyncRequest buildPartial() {
        io.greptime.v1.region.Server.SyncRequest result = new io.greptime.v1.region.Server.SyncRequest(this);
        result.regionId_ = regionId_;
        if (manifestInfoCase_ == 2) {
          if (mitoManifestInfoBuilder_ == null) {
            result.manifestInfo_ = manifestInfo_;
          } else {
            result.manifestInfo_ = mitoManifestInfoBuilder_.build();
          }
        }
        if (manifestInfoCase_ == 3) {
          if (metricManifestInfoBuilder_ == null) {
            result.manifestInfo_ = manifestInfo_;
          } else {
            result.manifestInfo_ = metricManifestInfoBuilder_.build();
          }
        }
        result.manifestInfoCase_ = manifestInfoCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.region.Server.SyncRequest) {
          return mergeFrom((io.greptime.v1.region.Server.SyncRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.region.Server.SyncRequest other) {
        if (other == io.greptime.v1.region.Server.SyncRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        switch (other.getManifestInfoCase()) {
          case MITO_MANIFEST_INFO: {
            mergeMitoManifestInfo(other.getMitoManifestInfo());
            break;
          }
          case METRIC_MANIFEST_INFO: {
            mergeMetricManifestInfo(other.getMetricManifestInfo());
            break;
          }
          case MANIFESTINFO_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.region.Server.SyncRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.region.Server.SyncRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int manifestInfoCase_ = 0;
      private java.lang.Object manifestInfo_;
      public ManifestInfoCase
          getManifestInfoCase() {
        return ManifestInfoCase.forNumber(
            manifestInfoCase_);
      }

      public Builder clearManifestInfo() {
        manifestInfoCase_ = 0;
        manifestInfo_ = null;
        onChanged();
        return this;
      }


      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.MitoManifestInfo, io.greptime.v1.region.Server.MitoManifestInfo.Builder, io.greptime.v1.region.Server.MitoManifestInfoOrBuilder> mitoManifestInfoBuilder_;
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       * @return Whether the mitoManifestInfo field is set.
       */
      @java.lang.Override
      public boolean hasMitoManifestInfo() {
        return manifestInfoCase_ == 2;
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       * @return The mitoManifestInfo.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.MitoManifestInfo getMitoManifestInfo() {
        if (mitoManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 2) {
            return (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_;
          }
          return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
        } else {
          if (manifestInfoCase_ == 2) {
            return mitoManifestInfoBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      public Builder setMitoManifestInfo(io.greptime.v1.region.Server.MitoManifestInfo value) {
        if (mitoManifestInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          manifestInfo_ = value;
          onChanged();
        } else {
          mitoManifestInfoBuilder_.setMessage(value);
        }
        manifestInfoCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      public Builder setMitoManifestInfo(
          io.greptime.v1.region.Server.MitoManifestInfo.Builder builderForValue) {
        if (mitoManifestInfoBuilder_ == null) {
          manifestInfo_ = builderForValue.build();
          onChanged();
        } else {
          mitoManifestInfoBuilder_.setMessage(builderForValue.build());
        }
        manifestInfoCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      public Builder mergeMitoManifestInfo(io.greptime.v1.region.Server.MitoManifestInfo value) {
        if (mitoManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 2 &&
              manifestInfo_ != io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance()) {
            manifestInfo_ = io.greptime.v1.region.Server.MitoManifestInfo.newBuilder((io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_)
                .mergeFrom(value).buildPartial();
          } else {
            manifestInfo_ = value;
          }
          onChanged();
        } else {
          if (manifestInfoCase_ == 2) {
            mitoManifestInfoBuilder_.mergeFrom(value);
          } else {
            mitoManifestInfoBuilder_.setMessage(value);
          }
        }
        manifestInfoCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      public Builder clearMitoManifestInfo() {
        if (mitoManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 2) {
            manifestInfoCase_ = 0;
            manifestInfo_ = null;
            onChanged();
          }
        } else {
          if (manifestInfoCase_ == 2) {
            manifestInfoCase_ = 0;
            manifestInfo_ = null;
          }
          mitoManifestInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      public io.greptime.v1.region.Server.MitoManifestInfo.Builder getMitoManifestInfoBuilder() {
        return getMitoManifestInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.MitoManifestInfoOrBuilder getMitoManifestInfoOrBuilder() {
        if ((manifestInfoCase_ == 2) && (mitoManifestInfoBuilder_ != null)) {
          return mitoManifestInfoBuilder_.getMessageOrBuilder();
        } else {
          if (manifestInfoCase_ == 2) {
            return (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_;
          }
          return io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.MitoManifestInfo mito_manifest_info = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.MitoManifestInfo, io.greptime.v1.region.Server.MitoManifestInfo.Builder, io.greptime.v1.region.Server.MitoManifestInfoOrBuilder> 
          getMitoManifestInfoFieldBuilder() {
        if (mitoManifestInfoBuilder_ == null) {
          if (!(manifestInfoCase_ == 2)) {
            manifestInfo_ = io.greptime.v1.region.Server.MitoManifestInfo.getDefaultInstance();
          }
          mitoManifestInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.MitoManifestInfo, io.greptime.v1.region.Server.MitoManifestInfo.Builder, io.greptime.v1.region.Server.MitoManifestInfoOrBuilder>(
                  (io.greptime.v1.region.Server.MitoManifestInfo) manifestInfo_,
                  getParentForChildren(),
                  isClean());
          manifestInfo_ = null;
        }
        manifestInfoCase_ = 2;
        onChanged();;
        return mitoManifestInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.MetricManifestInfo, io.greptime.v1.region.Server.MetricManifestInfo.Builder, io.greptime.v1.region.Server.MetricManifestInfoOrBuilder> metricManifestInfoBuilder_;
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       * @return Whether the metricManifestInfo field is set.
       */
      @java.lang.Override
      public boolean hasMetricManifestInfo() {
        return manifestInfoCase_ == 3;
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       * @return The metricManifestInfo.
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.MetricManifestInfo getMetricManifestInfo() {
        if (metricManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 3) {
            return (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_;
          }
          return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
        } else {
          if (manifestInfoCase_ == 3) {
            return metricManifestInfoBuilder_.getMessage();
          }
          return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      public Builder setMetricManifestInfo(io.greptime.v1.region.Server.MetricManifestInfo value) {
        if (metricManifestInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          manifestInfo_ = value;
          onChanged();
        } else {
          metricManifestInfoBuilder_.setMessage(value);
        }
        manifestInfoCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      public Builder setMetricManifestInfo(
          io.greptime.v1.region.Server.MetricManifestInfo.Builder builderForValue) {
        if (metricManifestInfoBuilder_ == null) {
          manifestInfo_ = builderForValue.build();
          onChanged();
        } else {
          metricManifestInfoBuilder_.setMessage(builderForValue.build());
        }
        manifestInfoCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      public Builder mergeMetricManifestInfo(io.greptime.v1.region.Server.MetricManifestInfo value) {
        if (metricManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 3 &&
              manifestInfo_ != io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance()) {
            manifestInfo_ = io.greptime.v1.region.Server.MetricManifestInfo.newBuilder((io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_)
                .mergeFrom(value).buildPartial();
          } else {
            manifestInfo_ = value;
          }
          onChanged();
        } else {
          if (manifestInfoCase_ == 3) {
            metricManifestInfoBuilder_.mergeFrom(value);
          } else {
            metricManifestInfoBuilder_.setMessage(value);
          }
        }
        manifestInfoCase_ = 3;
        return this;
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      public Builder clearMetricManifestInfo() {
        if (metricManifestInfoBuilder_ == null) {
          if (manifestInfoCase_ == 3) {
            manifestInfoCase_ = 0;
            manifestInfo_ = null;
            onChanged();
          }
        } else {
          if (manifestInfoCase_ == 3) {
            manifestInfoCase_ = 0;
            manifestInfo_ = null;
          }
          metricManifestInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      public io.greptime.v1.region.Server.MetricManifestInfo.Builder getMetricManifestInfoBuilder() {
        return getMetricManifestInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      @java.lang.Override
      public io.greptime.v1.region.Server.MetricManifestInfoOrBuilder getMetricManifestInfoOrBuilder() {
        if ((manifestInfoCase_ == 3) && (metricManifestInfoBuilder_ != null)) {
          return metricManifestInfoBuilder_.getMessageOrBuilder();
        } else {
          if (manifestInfoCase_ == 3) {
            return (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_;
          }
          return io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.region.MetricManifestInfo metric_manifest_info = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.region.Server.MetricManifestInfo, io.greptime.v1.region.Server.MetricManifestInfo.Builder, io.greptime.v1.region.Server.MetricManifestInfoOrBuilder> 
          getMetricManifestInfoFieldBuilder() {
        if (metricManifestInfoBuilder_ == null) {
          if (!(manifestInfoCase_ == 3)) {
            manifestInfo_ = io.greptime.v1.region.Server.MetricManifestInfo.getDefaultInstance();
          }
          metricManifestInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.region.Server.MetricManifestInfo, io.greptime.v1.region.Server.MetricManifestInfo.Builder, io.greptime.v1.region.Server.MetricManifestInfoOrBuilder>(
                  (io.greptime.v1.region.Server.MetricManifestInfo) manifestInfo_,
                  getParentForChildren(),
                  isClean());
          manifestInfo_ = null;
        }
        manifestInfoCase_ = 3;
        onChanged();;
        return metricManifestInfoBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:greptime.v1.region.SyncRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.region.SyncRequest)
    private static final io.greptime.v1.region.Server.SyncRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.region.Server.SyncRequest();
    }

    public static io.greptime.v1.region.Server.SyncRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<SyncRequest>
        PARSER = new com.google.protobuf.AbstractParser<SyncRequest>() {
      @java.lang.Override
      public SyncRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new SyncRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<SyncRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public io.greptime.v1.region.Server.SyncRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionRequestHeader_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionRequestHeader_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_InsertRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_InsertRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DeleteRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DeleteRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_InsertRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_InsertRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DeleteRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DeleteRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_QueryRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_QueryRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_CreateRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_CreateRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_CreateRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_CreateRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_CreateRequest_OptionsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_CreateRequest_OptionsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DropRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DropRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DropRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DropRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_OpenRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_OpenRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_OpenRequest_OptionsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_OpenRequest_OptionsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_CloseRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_CloseRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_AlterRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_AlterRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_AlterRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_AlterRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_AddColumns_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_AddColumns_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DropColumns_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DropColumns_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_AddColumn_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_AddColumn_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_DropColumn_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_DropColumn_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_FlushRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_FlushRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_Regular_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_Regular_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_StrictWindow_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_StrictWindow_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_CompactRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_CompactRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_TruncateRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_TruncateRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_RegionColumnDef_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_BulkInsertRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_BulkInsertRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_ArrowIpc_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_ArrowIpc_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_MitoManifestInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_MitoManifestInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_MetricManifestInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_MetricManifestInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_region_SyncRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_region_SyncRequest_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\037greptime/v1/region/server.proto\022\022grept" +
      "ime.v1.region\032\030greptime/v1/common.proto\032" +
      "\025greptime/v1/row.proto\032\025greptime/v1/ddl." +
      "proto\"\344\001\n\023RegionRequestHeader\022T\n\017tracing" +
      "_context\030\005 \003(\0132;.greptime.v1.region.Regi" +
      "onRequestHeader.TracingContextEntry\022\016\n\006d" +
      "bname\030\003 \001(\t\0220\n\rquery_context\030\006 \001(\0132\031.gre" +
      "ptime.v1.QueryContext\0325\n\023TracingContextE" +
      "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\354\006\n" +
      "\rRegionRequest\0227\n\006header\030\001 \001(\0132\'.greptim" +
      "e.v1.region.RegionRequestHeader\0225\n\007inser" +
      "ts\030\003 \001(\0132\".greptime.v1.region.InsertRequ" +
      "estsH\000\0225\n\007deletes\030\004 \001(\0132\".greptime.v1.re" +
      "gion.DeleteRequestsH\000\0223\n\006create\030\005 \001(\0132!." +
      "greptime.v1.region.CreateRequestH\000\022/\n\004dr" +
      "op\030\006 \001(\0132\037.greptime.v1.region.DropReques" +
      "tH\000\022/\n\004open\030\007 \001(\0132\037.greptime.v1.region.O" +
      "penRequestH\000\0221\n\005close\030\010 \001(\0132 .greptime.v" +
      "1.region.CloseRequestH\000\0221\n\005alter\030\t \001(\0132 " +
      ".greptime.v1.region.AlterRequestH\000\0221\n\005fl" +
      "ush\030\n \001(\0132 .greptime.v1.region.FlushRequ" +
      "estH\000\0225\n\007compact\030\013 \001(\0132\".greptime.v1.reg" +
      "ion.CompactRequestH\000\0227\n\010truncate\030\014 \001(\0132#" +
      ".greptime.v1.region.TruncateRequestH\000\0225\n" +
      "\007creates\030\r \001(\0132\".greptime.v1.region.Crea" +
      "teRequestsH\000\0221\n\005drops\030\016 \001(\0132 .greptime.v" +
      "1.region.DropRequestsH\000\0223\n\006alters\030\017 \001(\0132" +
      "!.greptime.v1.region.AlterRequestsH\000\022<\n\013" +
      "bulk_insert\030\020 \001(\0132%.greptime.v1.region.B" +
      "ulkInsertRequestH\000\022/\n\004sync\030\021 \001(\0132\037.grept" +
      "ime.v1.region.SyncRequestH\000B\006\n\004body\"\317\001\n\016" +
      "RegionResponse\022+\n\006header\030\001 \001(\0132\033.greptim" +
      "e.v1.ResponseHeader\022\025\n\raffected_rows\030\002 \001" +
      "(\004\022F\n\nextensions\030\003 \003(\01322.greptime.v1.reg" +
      "ion.RegionResponse.ExtensionsEntry\0321\n\017Ex" +
      "tensionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" +
      "\014:\0028\001\"E\n\016InsertRequests\0223\n\010requests\030\001 \003(" +
      "\0132!.greptime.v1.region.InsertRequest\"E\n\016" +
      "DeleteRequests\0223\n\010requests\030\001 \003(\0132!.grept" +
      "ime.v1.region.DeleteRequest\"C\n\rInsertReq" +
      "uest\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021." +
      "greptime.v1.Rows\"C\n\rDeleteRequest\022\021\n\treg" +
      "ion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\0132\021.greptime.v1" +
      ".Rows\"h\n\014QueryRequest\0227\n\006header\030\001 \001(\0132\'." +
      "greptime.v1.region.RegionRequestHeader\022\021" +
      "\n\tregion_id\030\002 \001(\004\022\014\n\004plan\030\003 \001(\014\"E\n\016Creat" +
      "eRequests\0223\n\010requests\030\001 \003(\0132!.greptime.v" +
      "1.region.CreateRequest\"\200\002\n\rCreateRequest" +
      "\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006engine\030\002 \001(\t\0228\n\013c" +
      "olumn_defs\030\003 \003(\0132#.greptime.v1.region.Re" +
      "gionColumnDef\022\023\n\013primary_key\030\004 \003(\r\022\014\n\004pa" +
      "th\030\005 \001(\t\022?\n\007options\030\006 \003(\0132..greptime.v1." +
      "region.CreateRequest.OptionsEntry\032.\n\014Opt" +
      "ionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" +
      "\001\"A\n\014DropRequests\0221\n\010requests\030\001 \003(\0132\037.gr" +
      "eptime.v1.region.DropRequest\"3\n\013DropRequ" +
      "est\022\021\n\tregion_id\030\001 \001(\004\022\021\n\tfast_path\030\002 \001(" +
      "\010\"\255\001\n\013OpenRequest\022\021\n\tregion_id\030\001 \001(\004\022\016\n\006" +
      "engine\030\002 \001(\t\022\014\n\004path\030\003 \001(\t\022=\n\007options\030\004 " +
      "\003(\0132,.greptime.v1.region.OpenRequest.Opt" +
      "ionsEntry\032.\n\014OptionsEntry\022\013\n\003key\030\001 \001(\t\022\r" +
      "\n\005value\030\002 \001(\t:\0028\001\"!\n\014CloseRequest\022\021\n\treg" +
      "ion_id\030\001 \001(\004\"C\n\rAlterRequests\0222\n\010request" +
      "s\030\001 \003(\0132 .greptime.v1.region.AlterReques" +
      "t\"\306\003\n\014AlterRequest\022\021\n\tregion_id\030\001 \001(\004\0225\n" +
      "\013add_columns\030\002 \001(\0132\036.greptime.v1.region." +
      "AddColumnsH\000\0227\n\014drop_columns\030\003 \001(\0132\037.gre" +
      "ptime.v1.region.DropColumnsH\000\022=\n\023modify_" +
      "column_types\030\005 \001(\0132\036.greptime.v1.ModifyC" +
      "olumnTypesH\000\0229\n\021set_table_options\030\006 \001(\0132" +
      "\034.greptime.v1.SetTableOptionsH\000\022=\n\023unset" +
      "_table_options\030\t \001(\0132\036.greptime.v1.Unset" +
      "TableOptionsH\000\022*\n\tset_index\030\n \001(\0132\025.grep" +
      "time.v1.SetIndexH\000\022.\n\013unset_index\030\013 \001(\0132" +
      "\027.greptime.v1.UnsetIndexH\000\022\026\n\016schema_ver" +
      "sion\030\004 \001(\004B\006\n\004kind\"@\n\nAddColumns\0222\n\013add_" +
      "columns\030\001 \003(\0132\035.greptime.v1.region.AddCo" +
      "lumn\"C\n\013DropColumns\0224\n\014drop_columns\030\001 \003(" +
      "\0132\036.greptime.v1.region.DropColumn\"v\n\tAdd" +
      "Column\0227\n\ncolumn_def\030\001 \001(\0132#.greptime.v1" +
      ".region.RegionColumnDef\0220\n\010location\030\003 \001(" +
      "\0132\036.greptime.v1.AddColumnLocation\"\032\n\nDro" +
      "pColumn\022\014\n\004name\030\001 \001(\t\"!\n\014FlushRequest\022\021\n" +
      "\tregion_id\030\001 \001(\004\"\t\n\007Regular\"&\n\014StrictWin" +
      "dow\022\026\n\016window_seconds\030\001 \001(\003\"\231\001\n\016CompactR" +
      "equest\022\021\n\tregion_id\030\001 \001(\004\022.\n\007regular\030\002 \001" +
      "(\0132\033.greptime.v1.region.RegularH\000\0229\n\rstr" +
      "ict_window\030\003 \001(\0132 .greptime.v1.region.St" +
      "rictWindowH\000B\t\n\007options\"$\n\017TruncateReque" +
      "st\022\021\n\tregion_id\030\001 \001(\004\"P\n\017RegionColumnDef" +
      "\022*\n\ncolumn_def\030\001 \001(\0132\026.greptime.v1.Colum" +
      "nDef\022\021\n\tcolumn_id\030\002 \001(\r\"N\n\021BulkInsertReq" +
      "uest\0221\n\tarrow_ipc\030\001 \001(\0132\034.greptime.v1.re" +
      "gion.ArrowIpcH\000B\006\n\004body\"S\n\010ArrowIpc\022\021\n\tr" +
      "egion_id\030\001 \001(\004\022\016\n\006schema\030\002 \001(\014\022\023\n\013data_h" +
      "eader\030\003 \001(\014\022\017\n\007payload\030\004 \001(\014\"1\n\020MitoMani" +
      "festInfo\022\035\n\025data_manifest_version\030\001 \001(\004\"" +
      "V\n\022MetricManifestInfo\022\035\n\025data_manifest_v" +
      "ersion\030\001 \001(\004\022!\n\031metadata_manifest_versio" +
      "n\030\002 \001(\004\"\275\001\n\013SyncRequest\022\021\n\tregion_id\030\001 \001" +
      "(\004\022B\n\022mito_manifest_info\030\002 \001(\0132$.greptim" +
      "e.v1.region.MitoManifestInfoH\000\022F\n\024metric" +
      "_manifest_info\030\003 \001(\0132&.greptime.v1.regio" +
      "n.MetricManifestInfoH\000B\017\n\rmanifest_info2" +
      "Y\n\006Region\022O\n\006Handle\022!.greptime.v1.region" +
      ".RegionRequest\032\".greptime.v1.region.Regi" +
      "onResponseB]\n\025io.greptime.v1.regionB\006Ser" +
      "verZ<github.com/GreptimeTeam/greptime-pr" +
      "oto/go/greptime/v1/regionb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          io.greptime.v1.Common.getDescriptor(),
          io.greptime.v1.RowData.getDescriptor(),
          io.greptime.v1.Ddl.getDescriptor(),
        });
    internal_static_greptime_v1_region_RegionRequestHeader_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_greptime_v1_region_RegionRequestHeader_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionRequestHeader_descriptor,
        new java.lang.String[] { "TracingContext", "Dbname", "QueryContext", });
    internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_descriptor =
      internal_static_greptime_v1_region_RegionRequestHeader_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionRequestHeader_TracingContextEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_region_RegionRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_greptime_v1_region_RegionRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionRequest_descriptor,
        new java.lang.String[] { "Header", "Inserts", "Deletes", "Create", "Drop", "Open", "Close", "Alter", "Flush", "Compact", "Truncate", "Creates", "Drops", "Alters", "BulkInsert", "Sync", "Body", });
    internal_static_greptime_v1_region_RegionResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_greptime_v1_region_RegionResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionResponse_descriptor,
        new java.lang.String[] { "Header", "AffectedRows", "Extensions", });
    internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_descriptor =
      internal_static_greptime_v1_region_RegionResponse_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionResponse_ExtensionsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_region_InsertRequests_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_greptime_v1_region_InsertRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_InsertRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_region_DeleteRequests_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_greptime_v1_region_DeleteRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DeleteRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_region_InsertRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_greptime_v1_region_InsertRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_InsertRequest_descriptor,
        new java.lang.String[] { "RegionId", "Rows", });
    internal_static_greptime_v1_region_DeleteRequest_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_greptime_v1_region_DeleteRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DeleteRequest_descriptor,
        new java.lang.String[] { "RegionId", "Rows", });
    internal_static_greptime_v1_region_QueryRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_greptime_v1_region_QueryRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_QueryRequest_descriptor,
        new java.lang.String[] { "Header", "RegionId", "Plan", });
    internal_static_greptime_v1_region_CreateRequests_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_greptime_v1_region_CreateRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_CreateRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_region_CreateRequest_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_greptime_v1_region_CreateRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_CreateRequest_descriptor,
        new java.lang.String[] { "RegionId", "Engine", "ColumnDefs", "PrimaryKey", "Path", "Options", });
    internal_static_greptime_v1_region_CreateRequest_OptionsEntry_descriptor =
      internal_static_greptime_v1_region_CreateRequest_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_region_CreateRequest_OptionsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_CreateRequest_OptionsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_region_DropRequests_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_greptime_v1_region_DropRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DropRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_region_DropRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_greptime_v1_region_DropRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DropRequest_descriptor,
        new java.lang.String[] { "RegionId", "FastPath", });
    internal_static_greptime_v1_region_OpenRequest_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_greptime_v1_region_OpenRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_OpenRequest_descriptor,
        new java.lang.String[] { "RegionId", "Engine", "Path", "Options", });
    internal_static_greptime_v1_region_OpenRequest_OptionsEntry_descriptor =
      internal_static_greptime_v1_region_OpenRequest_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_region_OpenRequest_OptionsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_OpenRequest_OptionsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_region_CloseRequest_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_greptime_v1_region_CloseRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_CloseRequest_descriptor,
        new java.lang.String[] { "RegionId", });
    internal_static_greptime_v1_region_AlterRequests_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_greptime_v1_region_AlterRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_AlterRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_region_AlterRequest_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_greptime_v1_region_AlterRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_AlterRequest_descriptor,
        new java.lang.String[] { "RegionId", "AddColumns", "DropColumns", "ModifyColumnTypes", "SetTableOptions", "UnsetTableOptions", "SetIndex", "UnsetIndex", "SchemaVersion", "Kind", });
    internal_static_greptime_v1_region_AddColumns_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_greptime_v1_region_AddColumns_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_AddColumns_descriptor,
        new java.lang.String[] { "AddColumns", });
    internal_static_greptime_v1_region_DropColumns_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_greptime_v1_region_DropColumns_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DropColumns_descriptor,
        new java.lang.String[] { "DropColumns", });
    internal_static_greptime_v1_region_AddColumn_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_greptime_v1_region_AddColumn_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_AddColumn_descriptor,
        new java.lang.String[] { "ColumnDef", "Location", });
    internal_static_greptime_v1_region_DropColumn_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_greptime_v1_region_DropColumn_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_DropColumn_descriptor,
        new java.lang.String[] { "Name", });
    internal_static_greptime_v1_region_FlushRequest_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_greptime_v1_region_FlushRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_FlushRequest_descriptor,
        new java.lang.String[] { "RegionId", });
    internal_static_greptime_v1_region_Regular_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_greptime_v1_region_Regular_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_Regular_descriptor,
        new java.lang.String[] { });
    internal_static_greptime_v1_region_StrictWindow_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_greptime_v1_region_StrictWindow_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_StrictWindow_descriptor,
        new java.lang.String[] { "WindowSeconds", });
    internal_static_greptime_v1_region_CompactRequest_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_greptime_v1_region_CompactRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_CompactRequest_descriptor,
        new java.lang.String[] { "RegionId", "Regular", "StrictWindow", "Options", });
    internal_static_greptime_v1_region_TruncateRequest_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_greptime_v1_region_TruncateRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_TruncateRequest_descriptor,
        new java.lang.String[] { "RegionId", });
    internal_static_greptime_v1_region_RegionColumnDef_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_greptime_v1_region_RegionColumnDef_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_RegionColumnDef_descriptor,
        new java.lang.String[] { "ColumnDef", "ColumnId", });
    internal_static_greptime_v1_region_BulkInsertRequest_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_greptime_v1_region_BulkInsertRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_BulkInsertRequest_descriptor,
        new java.lang.String[] { "ArrowIpc", "Body", });
    internal_static_greptime_v1_region_ArrowIpc_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_greptime_v1_region_ArrowIpc_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_ArrowIpc_descriptor,
        new java.lang.String[] { "RegionId", "Schema", "DataHeader", "Payload", });
    internal_static_greptime_v1_region_MitoManifestInfo_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_greptime_v1_region_MitoManifestInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_MitoManifestInfo_descriptor,
        new java.lang.String[] { "DataManifestVersion", });
    internal_static_greptime_v1_region_MetricManifestInfo_descriptor =
      getDescriptor().getMessageTypes().get(29);
    internal_static_greptime_v1_region_MetricManifestInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_MetricManifestInfo_descriptor,
        new java.lang.String[] { "DataManifestVersion", "MetadataManifestVersion", });
    internal_static_greptime_v1_region_SyncRequest_descriptor =
      getDescriptor().getMessageTypes().get(30);
    internal_static_greptime_v1_region_SyncRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_region_SyncRequest_descriptor,
        new java.lang.String[] { "RegionId", "MitoManifestInfo", "MetricManifestInfo", "ManifestInfo", });
    io.greptime.v1.Common.getDescriptor();
    io.greptime.v1.RowData.getDescriptor();
    io.greptime.v1.Ddl.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
