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

package greptime.v1.meta;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code greptime.v1.meta.Role}
   */
  public enum Role
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>DATANODE = 0;</code>
     */
    DATANODE(0),
    /**
     * <code>FRONTEND = 1;</code>
     */
    FRONTEND(1),
    /**
     * <code>FLOWNODE = 2;</code>
     */
    FLOWNODE(2),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>DATANODE = 0;</code>
     */
    public static final int DATANODE_VALUE = 0;
    /**
     * <code>FRONTEND = 1;</code>
     */
    public static final int FRONTEND_VALUE = 1;
    /**
     * <code>FLOWNODE = 2;</code>
     */
    public static final int FLOWNODE_VALUE = 2;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static Role valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static Role forNumber(int value) {
      switch (value) {
        case 0: return DATANODE;
        case 1: return FRONTEND;
        case 2: return FLOWNODE;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalStateException(
            "Can't get the descriptor of an unrecognized enum value.");
      }
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return greptime.v1.meta.Common.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

    private Role(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:greptime.v1.meta.Role)
  }

  public interface RequestHeaderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.RequestHeader)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 protocol_version = 1;</code>
     * @return The protocolVersion.
     */
    long getProtocolVersion();

    /**
     * <pre>
     * member_id is the ID of the sender server.
     * </pre>
     *
     * <code>uint64 member_id = 3;</code>
     * @return The memberId.
     */
    long getMemberId();

    /**
     * <pre>
     * The role of the sender server.
     * </pre>
     *
     * <code>.greptime.v1.meta.Role role = 4;</code>
     * @return The enum numeric value on the wire for role.
     */
    int getRoleValue();
    /**
     * <pre>
     * The role of the sender server.
     * </pre>
     *
     * <code>.greptime.v1.meta.Role role = 4;</code>
     * @return The role.
     */
    greptime.v1.meta.Common.Role getRole();

    /**
     * <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);
  }
  /**
   * Protobuf type {@code greptime.v1.meta.RequestHeader}
   */
  public static final class RequestHeader extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.RequestHeader)
      RequestHeaderOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RequestHeader.newBuilder() to construct.
    private RequestHeader(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestHeader() {
      role_ = 0;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RequestHeader(
        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: {

              protocolVersion_ = input.readUInt64();
              break;
            }
            case 24: {

              memberId_ = input.readUInt64();
              break;
            }
            case 32: {
              int rawValue = input.readEnum();

              role_ = rawValue;
              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;
            }
            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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.RequestHeader.class, greptime.v1.meta.Common.RequestHeader.Builder.class);
    }

    public static final int PROTOCOL_VERSION_FIELD_NUMBER = 1;
    private long protocolVersion_;
    /**
     * <code>uint64 protocol_version = 1;</code>
     * @return The protocolVersion.
     */
    @java.lang.Override
    public long getProtocolVersion() {
      return protocolVersion_;
    }

    public static final int MEMBER_ID_FIELD_NUMBER = 3;
    private long memberId_;
    /**
     * <pre>
     * member_id is the ID of the sender server.
     * </pre>
     *
     * <code>uint64 member_id = 3;</code>
     * @return The memberId.
     */
    @java.lang.Override
    public long getMemberId() {
      return memberId_;
    }

    public static final int ROLE_FIELD_NUMBER = 4;
    private int role_;
    /**
     * <pre>
     * The role of the sender server.
     * </pre>
     *
     * <code>.greptime.v1.meta.Role role = 4;</code>
     * @return The enum numeric value on the wire for role.
     */
    @java.lang.Override public int getRoleValue() {
      return role_;
    }
    /**
     * <pre>
     * The role of the sender server.
     * </pre>
     *
     * <code>.greptime.v1.meta.Role role = 4;</code>
     * @return The role.
     */
    @java.lang.Override public greptime.v1.meta.Common.Role getRole() {
      @SuppressWarnings("deprecation")
      greptime.v1.meta.Common.Role result = greptime.v1.meta.Common.Role.valueOf(role_);
      return result == null ? greptime.v1.meta.Common.Role.UNRECOGNIZED : result;
    }

    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(
                  greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_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);
    }

    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 (protocolVersion_ != 0L) {
        output.writeUInt64(1, protocolVersion_);
      }
      if (memberId_ != 0L) {
        output.writeUInt64(3, memberId_);
      }
      if (role_ != greptime.v1.meta.Common.Role.DATANODE.getNumber()) {
        output.writeEnum(4, role_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetTracingContext(),
          TracingContextDefaultEntryHolder.defaultEntry,
          5);
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (protocolVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, protocolVersion_);
      }
      if (memberId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, memberId_);
      }
      if (role_ != greptime.v1.meta.Common.Role.DATANODE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, role_);
      }
      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__);
      }
      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 greptime.v1.meta.Common.RequestHeader)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.RequestHeader other = (greptime.v1.meta.Common.RequestHeader) obj;

      if (getProtocolVersion()
          != other.getProtocolVersion()) return false;
      if (getMemberId()
          != other.getMemberId()) return false;
      if (role_ != other.role_) return false;
      if (!internalGetTracingContext().equals(
          other.internalGetTracingContext())) 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) + PROTOCOL_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getProtocolVersion());
      hash = (37 * hash) + MEMBER_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMemberId());
      hash = (37 * hash) + ROLE_FIELD_NUMBER;
      hash = (53 * hash) + role_;
      if (!internalGetTracingContext().getMap().isEmpty()) {
        hash = (37 * hash) + TRACING_CONTEXT_FIELD_NUMBER;
        hash = (53 * hash) + internalGetTracingContext().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.RequestHeader parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.RequestHeader parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.RequestHeader 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 greptime.v1.meta.Common.RequestHeader parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.RequestHeader 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 greptime.v1.meta.Common.RequestHeader parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.RequestHeader 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(greptime.v1.meta.Common.RequestHeader 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.meta.RequestHeader}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.RequestHeader)
        greptime.v1.meta.Common.RequestHeaderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.RequestHeader.class, greptime.v1.meta.Common.RequestHeader.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.RequestHeader.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();
        protocolVersion_ = 0L;

        memberId_ = 0L;

        role_ = 0;

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_RequestHeader_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.RequestHeader getDefaultInstanceForType() {
        return greptime.v1.meta.Common.RequestHeader.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.RequestHeader build() {
        greptime.v1.meta.Common.RequestHeader result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.RequestHeader buildPartial() {
        greptime.v1.meta.Common.RequestHeader result = new greptime.v1.meta.Common.RequestHeader(this);
        int from_bitField0_ = bitField0_;
        result.protocolVersion_ = protocolVersion_;
        result.memberId_ = memberId_;
        result.role_ = role_;
        result.tracingContext_ = internalGetTracingContext();
        result.tracingContext_.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 greptime.v1.meta.Common.RequestHeader) {
          return mergeFrom((greptime.v1.meta.Common.RequestHeader)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.RequestHeader other) {
        if (other == greptime.v1.meta.Common.RequestHeader.getDefaultInstance()) return this;
        if (other.getProtocolVersion() != 0L) {
          setProtocolVersion(other.getProtocolVersion());
        }
        if (other.getMemberId() != 0L) {
          setMemberId(other.getMemberId());
        }
        if (other.role_ != 0) {
          setRoleValue(other.getRoleValue());
        }
        internalGetMutableTracingContext().mergeFrom(
            other.internalGetTracingContext());
        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 {
        greptime.v1.meta.Common.RequestHeader parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.RequestHeader) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long protocolVersion_ ;
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @return The protocolVersion.
       */
      @java.lang.Override
      public long getProtocolVersion() {
        return protocolVersion_;
      }
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @param value The protocolVersion to set.
       * @return This builder for chaining.
       */
      public Builder setProtocolVersion(long value) {
        
        protocolVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtocolVersion() {
        
        protocolVersion_ = 0L;
        onChanged();
        return this;
      }

      private long memberId_ ;
      /**
       * <pre>
       * member_id is the ID of the sender server.
       * </pre>
       *
       * <code>uint64 member_id = 3;</code>
       * @return The memberId.
       */
      @java.lang.Override
      public long getMemberId() {
        return memberId_;
      }
      /**
       * <pre>
       * member_id is the ID of the sender server.
       * </pre>
       *
       * <code>uint64 member_id = 3;</code>
       * @param value The memberId to set.
       * @return This builder for chaining.
       */
      public Builder setMemberId(long value) {
        
        memberId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * member_id is the ID of the sender server.
       * </pre>
       *
       * <code>uint64 member_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMemberId() {
        
        memberId_ = 0L;
        onChanged();
        return this;
      }

      private int role_ = 0;
      /**
       * <pre>
       * The role of the sender server.
       * </pre>
       *
       * <code>.greptime.v1.meta.Role role = 4;</code>
       * @return The enum numeric value on the wire for role.
       */
      @java.lang.Override public int getRoleValue() {
        return role_;
      }
      /**
       * <pre>
       * The role of the sender server.
       * </pre>
       *
       * <code>.greptime.v1.meta.Role role = 4;</code>
       * @param value The enum numeric value on the wire for role to set.
       * @return This builder for chaining.
       */
      public Builder setRoleValue(int value) {
        
        role_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The role of the sender server.
       * </pre>
       *
       * <code>.greptime.v1.meta.Role role = 4;</code>
       * @return The role.
       */
      @java.lang.Override
      public greptime.v1.meta.Common.Role getRole() {
        @SuppressWarnings("deprecation")
        greptime.v1.meta.Common.Role result = greptime.v1.meta.Common.Role.valueOf(role_);
        return result == null ? greptime.v1.meta.Common.Role.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * The role of the sender server.
       * </pre>
       *
       * <code>.greptime.v1.meta.Role role = 4;</code>
       * @param value The role to set.
       * @return This builder for chaining.
       */
      public Builder setRole(greptime.v1.meta.Common.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        role_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The role of the sender server.
       * </pre>
       *
       * <code>.greptime.v1.meta.Role role = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearRole() {
        
        role_ = 0;
        onChanged();
        return this;
      }

      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;
      }
      @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.meta.RequestHeader)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.RequestHeader)
    private static final greptime.v1.meta.Common.RequestHeader DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.RequestHeader();
    }

    public static greptime.v1.meta.Common.RequestHeader getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.RequestHeader getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseHeaderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.ResponseHeader)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 protocol_version = 1;</code>
     * @return The protocolVersion.
     */
    long getProtocolVersion();

    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     * @return The error.
     */
    greptime.v1.meta.Common.Error getError();
    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     */
    greptime.v1.meta.Common.ErrorOrBuilder getErrorOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.meta.ResponseHeader}
   */
  public static final class ResponseHeader extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.ResponseHeader)
      ResponseHeaderOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ResponseHeader.newBuilder() to construct.
    private ResponseHeader(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseHeader() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ResponseHeader(
        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: {

              protocolVersion_ = input.readUInt64();
              break;
            }
            case 26: {
              greptime.v1.meta.Common.Error.Builder subBuilder = null;
              if (error_ != null) {
                subBuilder = error_.toBuilder();
              }
              error_ = input.readMessage(greptime.v1.meta.Common.Error.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(error_);
                error_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_ResponseHeader_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ResponseHeader_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.ResponseHeader.class, greptime.v1.meta.Common.ResponseHeader.Builder.class);
    }

    public static final int PROTOCOL_VERSION_FIELD_NUMBER = 1;
    private long protocolVersion_;
    /**
     * <code>uint64 protocol_version = 1;</code>
     * @return The protocolVersion.
     */
    @java.lang.Override
    public long getProtocolVersion() {
      return protocolVersion_;
    }

    public static final int ERROR_FIELD_NUMBER = 3;
    private greptime.v1.meta.Common.Error error_;
    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     * @return Whether the error field is set.
     */
    @java.lang.Override
    public boolean hasError() {
      return error_ != null;
    }
    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     * @return The error.
     */
    @java.lang.Override
    public greptime.v1.meta.Common.Error getError() {
      return error_ == null ? greptime.v1.meta.Common.Error.getDefaultInstance() : error_;
    }
    /**
     * <code>.greptime.v1.meta.Error error = 3;</code>
     */
    @java.lang.Override
    public greptime.v1.meta.Common.ErrorOrBuilder getErrorOrBuilder() {
      return getError();
    }

    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 (protocolVersion_ != 0L) {
        output.writeUInt64(1, protocolVersion_);
      }
      if (error_ != null) {
        output.writeMessage(3, getError());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (protocolVersion_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, protocolVersion_);
      }
      if (error_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getError());
      }
      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 greptime.v1.meta.Common.ResponseHeader)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.ResponseHeader other = (greptime.v1.meta.Common.ResponseHeader) obj;

      if (getProtocolVersion()
          != other.getProtocolVersion()) return false;
      if (hasError() != other.hasError()) return false;
      if (hasError()) {
        if (!getError()
            .equals(other.getError())) 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) + PROTOCOL_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getProtocolVersion());
      if (hasError()) {
        hash = (37 * hash) + ERROR_FIELD_NUMBER;
        hash = (53 * hash) + getError().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.ResponseHeader parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ResponseHeader parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ResponseHeader 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 greptime.v1.meta.Common.ResponseHeader parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ResponseHeader 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 greptime.v1.meta.Common.ResponseHeader parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ResponseHeader 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(greptime.v1.meta.Common.ResponseHeader 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.meta.ResponseHeader}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.ResponseHeader)
        greptime.v1.meta.Common.ResponseHeaderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ResponseHeader_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ResponseHeader_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.ResponseHeader.class, greptime.v1.meta.Common.ResponseHeader.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.ResponseHeader.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();
        protocolVersion_ = 0L;

        if (errorBuilder_ == null) {
          error_ = null;
        } else {
          error_ = null;
          errorBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ResponseHeader_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ResponseHeader getDefaultInstanceForType() {
        return greptime.v1.meta.Common.ResponseHeader.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ResponseHeader build() {
        greptime.v1.meta.Common.ResponseHeader result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ResponseHeader buildPartial() {
        greptime.v1.meta.Common.ResponseHeader result = new greptime.v1.meta.Common.ResponseHeader(this);
        result.protocolVersion_ = protocolVersion_;
        if (errorBuilder_ == null) {
          result.error_ = error_;
        } else {
          result.error_ = errorBuilder_.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 greptime.v1.meta.Common.ResponseHeader) {
          return mergeFrom((greptime.v1.meta.Common.ResponseHeader)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.ResponseHeader other) {
        if (other == greptime.v1.meta.Common.ResponseHeader.getDefaultInstance()) return this;
        if (other.getProtocolVersion() != 0L) {
          setProtocolVersion(other.getProtocolVersion());
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        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 {
        greptime.v1.meta.Common.ResponseHeader parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.ResponseHeader) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long protocolVersion_ ;
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @return The protocolVersion.
       */
      @java.lang.Override
      public long getProtocolVersion() {
        return protocolVersion_;
      }
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @param value The protocolVersion to set.
       * @return This builder for chaining.
       */
      public Builder setProtocolVersion(long value) {
        
        protocolVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 protocol_version = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtocolVersion() {
        
        protocolVersion_ = 0L;
        onChanged();
        return this;
      }

      private greptime.v1.meta.Common.Error error_;
      private com.google.protobuf.SingleFieldBuilderV3<
          greptime.v1.meta.Common.Error, greptime.v1.meta.Common.Error.Builder, greptime.v1.meta.Common.ErrorOrBuilder> errorBuilder_;
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       * @return Whether the error field is set.
       */
      public boolean hasError() {
        return errorBuilder_ != null || error_ != null;
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       * @return The error.
       */
      public greptime.v1.meta.Common.Error getError() {
        if (errorBuilder_ == null) {
          return error_ == null ? greptime.v1.meta.Common.Error.getDefaultInstance() : error_;
        } else {
          return errorBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public Builder setError(greptime.v1.meta.Common.Error value) {
        if (errorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          error_ = value;
          onChanged();
        } else {
          errorBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public Builder setError(
          greptime.v1.meta.Common.Error.Builder builderForValue) {
        if (errorBuilder_ == null) {
          error_ = builderForValue.build();
          onChanged();
        } else {
          errorBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public Builder mergeError(greptime.v1.meta.Common.Error value) {
        if (errorBuilder_ == null) {
          if (error_ != null) {
            error_ =
              greptime.v1.meta.Common.Error.newBuilder(error_).mergeFrom(value).buildPartial();
          } else {
            error_ = value;
          }
          onChanged();
        } else {
          errorBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public Builder clearError() {
        if (errorBuilder_ == null) {
          error_ = null;
          onChanged();
        } else {
          error_ = null;
          errorBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public greptime.v1.meta.Common.Error.Builder getErrorBuilder() {
        
        onChanged();
        return getErrorFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      public greptime.v1.meta.Common.ErrorOrBuilder getErrorOrBuilder() {
        if (errorBuilder_ != null) {
          return errorBuilder_.getMessageOrBuilder();
        } else {
          return error_ == null ?
              greptime.v1.meta.Common.Error.getDefaultInstance() : error_;
        }
      }
      /**
       * <code>.greptime.v1.meta.Error error = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          greptime.v1.meta.Common.Error, greptime.v1.meta.Common.Error.Builder, greptime.v1.meta.Common.ErrorOrBuilder> 
          getErrorFieldBuilder() {
        if (errorBuilder_ == null) {
          errorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              greptime.v1.meta.Common.Error, greptime.v1.meta.Common.Error.Builder, greptime.v1.meta.Common.ErrorOrBuilder>(
                  getError(),
                  getParentForChildren(),
                  isClean());
          error_ = null;
        }
        return errorBuilder_;
      }
      @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.meta.ResponseHeader)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.ResponseHeader)
    private static final greptime.v1.meta.Common.ResponseHeader DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.ResponseHeader();
    }

    public static greptime.v1.meta.Common.ResponseHeader getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.ResponseHeader getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ErrorOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.Error)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 code = 1;</code>
     * @return The code.
     */
    int getCode();

    /**
     * <code>string err_msg = 2;</code>
     * @return The errMsg.
     */
    java.lang.String getErrMsg();
    /**
     * <code>string err_msg = 2;</code>
     * @return The bytes for errMsg.
     */
    com.google.protobuf.ByteString
        getErrMsgBytes();
  }
  /**
   * Protobuf type {@code greptime.v1.meta.Error}
   */
  public static final class Error extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.Error)
      ErrorOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Error.newBuilder() to construct.
    private Error(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Error() {
      errMsg_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Error(
        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: {

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

              errMsg_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_Error_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Error_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.Error.class, greptime.v1.meta.Common.Error.Builder.class);
    }

    public static final int CODE_FIELD_NUMBER = 1;
    private int code_;
    /**
     * <code>int32 code = 1;</code>
     * @return The code.
     */
    @java.lang.Override
    public int getCode() {
      return code_;
    }

    public static final int ERR_MSG_FIELD_NUMBER = 2;
    private volatile java.lang.Object errMsg_;
    /**
     * <code>string err_msg = 2;</code>
     * @return The errMsg.
     */
    @java.lang.Override
    public java.lang.String getErrMsg() {
      java.lang.Object ref = errMsg_;
      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();
        errMsg_ = s;
        return s;
      }
    }
    /**
     * <code>string err_msg = 2;</code>
     * @return The bytes for errMsg.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getErrMsgBytes() {
      java.lang.Object ref = errMsg_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errMsg_ = 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 (code_ != 0) {
        output.writeInt32(1, code_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(errMsg_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, errMsg_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (code_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, code_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(errMsg_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, errMsg_);
      }
      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 greptime.v1.meta.Common.Error)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.Error other = (greptime.v1.meta.Common.Error) obj;

      if (getCode()
          != other.getCode()) return false;
      if (!getErrMsg()
          .equals(other.getErrMsg())) 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) + CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCode();
      hash = (37 * hash) + ERR_MSG_FIELD_NUMBER;
      hash = (53 * hash) + getErrMsg().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.Error parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Error parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Error parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Error parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Error parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Error parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Error parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Error 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 greptime.v1.meta.Common.Error parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Error 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 greptime.v1.meta.Common.Error parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Error 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(greptime.v1.meta.Common.Error 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.meta.Error}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.Error)
        greptime.v1.meta.Common.ErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Error_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Error_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.Error.class, greptime.v1.meta.Common.Error.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.Error.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();
        code_ = 0;

        errMsg_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Error_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Error getDefaultInstanceForType() {
        return greptime.v1.meta.Common.Error.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Error build() {
        greptime.v1.meta.Common.Error result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Error buildPartial() {
        greptime.v1.meta.Common.Error result = new greptime.v1.meta.Common.Error(this);
        result.code_ = code_;
        result.errMsg_ = errMsg_;
        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 greptime.v1.meta.Common.Error) {
          return mergeFrom((greptime.v1.meta.Common.Error)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.Error other) {
        if (other == greptime.v1.meta.Common.Error.getDefaultInstance()) return this;
        if (other.getCode() != 0) {
          setCode(other.getCode());
        }
        if (!other.getErrMsg().isEmpty()) {
          errMsg_ = other.errMsg_;
          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 {
        greptime.v1.meta.Common.Error parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.Error) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int code_ ;
      /**
       * <code>int32 code = 1;</code>
       * @return The code.
       */
      @java.lang.Override
      public int getCode() {
        return code_;
      }
      /**
       * <code>int32 code = 1;</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(int value) {
        
        code_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 code = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        
        code_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object errMsg_ = "";
      /**
       * <code>string err_msg = 2;</code>
       * @return The errMsg.
       */
      public java.lang.String getErrMsg() {
        java.lang.Object ref = errMsg_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          errMsg_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string err_msg = 2;</code>
       * @return The bytes for errMsg.
       */
      public com.google.protobuf.ByteString
          getErrMsgBytes() {
        java.lang.Object ref = errMsg_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errMsg_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string err_msg = 2;</code>
       * @param value The errMsg to set.
       * @return This builder for chaining.
       */
      public Builder setErrMsg(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        errMsg_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string err_msg = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearErrMsg() {
        
        errMsg_ = getDefaultInstance().getErrMsg();
        onChanged();
        return this;
      }
      /**
       * <code>string err_msg = 2;</code>
       * @param value The bytes for errMsg to set.
       * @return This builder for chaining.
       */
      public Builder setErrMsgBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        errMsg_ = 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.meta.Error)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.Error)
    private static final greptime.v1.meta.Common.Error DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.Error();
    }

    public static greptime.v1.meta.Common.Error getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.Error getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PeerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.Peer)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 id = 1;</code>
     * @return The id.
     */
    long getId();

    /**
     * <code>string addr = 2;</code>
     * @return The addr.
     */
    java.lang.String getAddr();
    /**
     * <code>string addr = 2;</code>
     * @return The bytes for addr.
     */
    com.google.protobuf.ByteString
        getAddrBytes();
  }
  /**
   * Protobuf type {@code greptime.v1.meta.Peer}
   */
  public static final class Peer extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.Peer)
      PeerOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Peer.newBuilder() to construct.
    private Peer(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Peer() {
      addr_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Peer(
        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: {

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

              addr_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_Peer_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Peer_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.Peer.class, greptime.v1.meta.Common.Peer.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <code>uint64 id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public long getId() {
      return id_;
    }

    public static final int ADDR_FIELD_NUMBER = 2;
    private volatile java.lang.Object addr_;
    /**
     * <code>string addr = 2;</code>
     * @return The addr.
     */
    @java.lang.Override
    public java.lang.String getAddr() {
      java.lang.Object ref = addr_;
      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();
        addr_ = s;
        return s;
      }
    }
    /**
     * <code>string addr = 2;</code>
     * @return The bytes for addr.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAddrBytes() {
      java.lang.Object ref = addr_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addr_ = 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 (id_ != 0L) {
        output.writeUInt64(1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(addr_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, addr_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, id_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(addr_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, addr_);
      }
      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 greptime.v1.meta.Common.Peer)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.Peer other = (greptime.v1.meta.Common.Peer) obj;

      if (getId()
          != other.getId()) return false;
      if (!getAddr()
          .equals(other.getAddr())) 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) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + ADDR_FIELD_NUMBER;
      hash = (53 * hash) + getAddr().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.Peer parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.Peer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Peer 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 greptime.v1.meta.Common.Peer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Peer 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 greptime.v1.meta.Common.Peer parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.Peer 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(greptime.v1.meta.Common.Peer 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.meta.Peer}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.Peer)
        greptime.v1.meta.Common.PeerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Peer_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Peer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.Peer.class, greptime.v1.meta.Common.Peer.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.Peer.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();
        id_ = 0L;

        addr_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_Peer_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Peer getDefaultInstanceForType() {
        return greptime.v1.meta.Common.Peer.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Peer build() {
        greptime.v1.meta.Common.Peer result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.Peer buildPartial() {
        greptime.v1.meta.Common.Peer result = new greptime.v1.meta.Common.Peer(this);
        result.id_ = id_;
        result.addr_ = addr_;
        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 greptime.v1.meta.Common.Peer) {
          return mergeFrom((greptime.v1.meta.Common.Peer)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.Peer other) {
        if (other == greptime.v1.meta.Common.Peer.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getAddr().isEmpty()) {
          addr_ = other.addr_;
          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 {
        greptime.v1.meta.Common.Peer parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.Peer) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <code>uint64 id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public long getId() {
        return id_;
      }
      /**
       * <code>uint64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object addr_ = "";
      /**
       * <code>string addr = 2;</code>
       * @return The addr.
       */
      public java.lang.String getAddr() {
        java.lang.Object ref = addr_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          addr_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string addr = 2;</code>
       * @return The bytes for addr.
       */
      public com.google.protobuf.ByteString
          getAddrBytes() {
        java.lang.Object ref = addr_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addr_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string addr = 2;</code>
       * @param value The addr to set.
       * @return This builder for chaining.
       */
      public Builder setAddr(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        addr_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string addr = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAddr() {
        
        addr_ = getDefaultInstance().getAddr();
        onChanged();
        return this;
      }
      /**
       * <code>string addr = 2;</code>
       * @param value The bytes for addr to set.
       * @return This builder for chaining.
       */
      public Builder setAddrBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        addr_ = 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.meta.Peer)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.Peer)
    private static final greptime.v1.meta.Common.Peer DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.Peer();
    }

    public static greptime.v1.meta.Common.Peer getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.Peer getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TimeIntervalOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.TimeInterval)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * The unix timestamp in millis of the start of this period.
     * </pre>
     *
     * <code>int64 start_timestamp_millis = 1;</code>
     * @return The startTimestampMillis.
     */
    long getStartTimestampMillis();

    /**
     * <pre>
     * The unix timestamp in millis of the end of this period.
     * </pre>
     *
     * <code>int64 end_timestamp_millis = 2;</code>
     * @return The endTimestampMillis.
     */
    long getEndTimestampMillis();
  }
  /**
   * Protobuf type {@code greptime.v1.meta.TimeInterval}
   */
  public static final class TimeInterval extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.TimeInterval)
      TimeIntervalOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TimeInterval.newBuilder() to construct.
    private TimeInterval(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TimeInterval() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private TimeInterval(
        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: {

              startTimestampMillis_ = input.readInt64();
              break;
            }
            case 16: {

              endTimestampMillis_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_TimeInterval_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_TimeInterval_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.TimeInterval.class, greptime.v1.meta.Common.TimeInterval.Builder.class);
    }

    public static final int START_TIMESTAMP_MILLIS_FIELD_NUMBER = 1;
    private long startTimestampMillis_;
    /**
     * <pre>
     * The unix timestamp in millis of the start of this period.
     * </pre>
     *
     * <code>int64 start_timestamp_millis = 1;</code>
     * @return The startTimestampMillis.
     */
    @java.lang.Override
    public long getStartTimestampMillis() {
      return startTimestampMillis_;
    }

    public static final int END_TIMESTAMP_MILLIS_FIELD_NUMBER = 2;
    private long endTimestampMillis_;
    /**
     * <pre>
     * The unix timestamp in millis of the end of this period.
     * </pre>
     *
     * <code>int64 end_timestamp_millis = 2;</code>
     * @return The endTimestampMillis.
     */
    @java.lang.Override
    public long getEndTimestampMillis() {
      return endTimestampMillis_;
    }

    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 (startTimestampMillis_ != 0L) {
        output.writeInt64(1, startTimestampMillis_);
      }
      if (endTimestampMillis_ != 0L) {
        output.writeInt64(2, endTimestampMillis_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (startTimestampMillis_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, startTimestampMillis_);
      }
      if (endTimestampMillis_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, endTimestampMillis_);
      }
      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 greptime.v1.meta.Common.TimeInterval)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.TimeInterval other = (greptime.v1.meta.Common.TimeInterval) obj;

      if (getStartTimestampMillis()
          != other.getStartTimestampMillis()) return false;
      if (getEndTimestampMillis()
          != other.getEndTimestampMillis()) 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) + START_TIMESTAMP_MILLIS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getStartTimestampMillis());
      hash = (37 * hash) + END_TIMESTAMP_MILLIS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEndTimestampMillis());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.TimeInterval parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.TimeInterval parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.TimeInterval 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 greptime.v1.meta.Common.TimeInterval parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.TimeInterval 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 greptime.v1.meta.Common.TimeInterval parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.TimeInterval 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(greptime.v1.meta.Common.TimeInterval 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.meta.TimeInterval}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.TimeInterval)
        greptime.v1.meta.Common.TimeIntervalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_TimeInterval_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_TimeInterval_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.TimeInterval.class, greptime.v1.meta.Common.TimeInterval.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.TimeInterval.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();
        startTimestampMillis_ = 0L;

        endTimestampMillis_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_TimeInterval_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.TimeInterval getDefaultInstanceForType() {
        return greptime.v1.meta.Common.TimeInterval.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.TimeInterval build() {
        greptime.v1.meta.Common.TimeInterval result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.TimeInterval buildPartial() {
        greptime.v1.meta.Common.TimeInterval result = new greptime.v1.meta.Common.TimeInterval(this);
        result.startTimestampMillis_ = startTimestampMillis_;
        result.endTimestampMillis_ = endTimestampMillis_;
        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 greptime.v1.meta.Common.TimeInterval) {
          return mergeFrom((greptime.v1.meta.Common.TimeInterval)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.TimeInterval other) {
        if (other == greptime.v1.meta.Common.TimeInterval.getDefaultInstance()) return this;
        if (other.getStartTimestampMillis() != 0L) {
          setStartTimestampMillis(other.getStartTimestampMillis());
        }
        if (other.getEndTimestampMillis() != 0L) {
          setEndTimestampMillis(other.getEndTimestampMillis());
        }
        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 {
        greptime.v1.meta.Common.TimeInterval parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.TimeInterval) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long startTimestampMillis_ ;
      /**
       * <pre>
       * The unix timestamp in millis of the start of this period.
       * </pre>
       *
       * <code>int64 start_timestamp_millis = 1;</code>
       * @return The startTimestampMillis.
       */
      @java.lang.Override
      public long getStartTimestampMillis() {
        return startTimestampMillis_;
      }
      /**
       * <pre>
       * The unix timestamp in millis of the start of this period.
       * </pre>
       *
       * <code>int64 start_timestamp_millis = 1;</code>
       * @param value The startTimestampMillis to set.
       * @return This builder for chaining.
       */
      public Builder setStartTimestampMillis(long value) {
        
        startTimestampMillis_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The unix timestamp in millis of the start of this period.
       * </pre>
       *
       * <code>int64 start_timestamp_millis = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearStartTimestampMillis() {
        
        startTimestampMillis_ = 0L;
        onChanged();
        return this;
      }

      private long endTimestampMillis_ ;
      /**
       * <pre>
       * The unix timestamp in millis of the end of this period.
       * </pre>
       *
       * <code>int64 end_timestamp_millis = 2;</code>
       * @return The endTimestampMillis.
       */
      @java.lang.Override
      public long getEndTimestampMillis() {
        return endTimestampMillis_;
      }
      /**
       * <pre>
       * The unix timestamp in millis of the end of this period.
       * </pre>
       *
       * <code>int64 end_timestamp_millis = 2;</code>
       * @param value The endTimestampMillis to set.
       * @return This builder for chaining.
       */
      public Builder setEndTimestampMillis(long value) {
        
        endTimestampMillis_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The unix timestamp in millis of the end of this period.
       * </pre>
       *
       * <code>int64 end_timestamp_millis = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEndTimestampMillis() {
        
        endTimestampMillis_ = 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.meta.TimeInterval)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.TimeInterval)
    private static final greptime.v1.meta.Common.TimeInterval DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.TimeInterval();
    }

    public static greptime.v1.meta.Common.TimeInterval getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.TimeInterval getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface KeyValueOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.KeyValue)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * key is the key in bytes. An empty key is not allowed.
     * </pre>
     *
     * <code>bytes key = 1;</code>
     * @return The key.
     */
    com.google.protobuf.ByteString getKey();

    /**
     * <pre>
     * value is the value held by the key, in bytes.
     * </pre>
     *
     * <code>bytes value = 2;</code>
     * @return The value.
     */
    com.google.protobuf.ByteString getValue();
  }
  /**
   * Protobuf type {@code greptime.v1.meta.KeyValue}
   */
  public static final class KeyValue extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.KeyValue)
      KeyValueOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use KeyValue.newBuilder() to construct.
    private KeyValue(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private KeyValue() {
      key_ = com.google.protobuf.ByteString.EMPTY;
      value_ = com.google.protobuf.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private KeyValue(
        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: {

              key_ = input.readBytes();
              break;
            }
            case 18: {

              value_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_KeyValue_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_KeyValue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.KeyValue.class, greptime.v1.meta.Common.KeyValue.Builder.class);
    }

    public static final int KEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString key_;
    /**
     * <pre>
     * key is the key in bytes. An empty key is not allowed.
     * </pre>
     *
     * <code>bytes key = 1;</code>
     * @return The key.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getKey() {
      return key_;
    }

    public static final int VALUE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString value_;
    /**
     * <pre>
     * value is the value held by the key, in bytes.
     * </pre>
     *
     * <code>bytes value = 2;</code>
     * @return The value.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getValue() {
      return value_;
    }

    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 (!key_.isEmpty()) {
        output.writeBytes(1, key_);
      }
      if (!value_.isEmpty()) {
        output.writeBytes(2, value_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!key_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, key_);
      }
      if (!value_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, value_);
      }
      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 greptime.v1.meta.Common.KeyValue)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.KeyValue other = (greptime.v1.meta.Common.KeyValue) obj;

      if (!getKey()
          .equals(other.getKey())) return false;
      if (!getValue()
          .equals(other.getValue())) 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) + KEY_FIELD_NUMBER;
      hash = (53 * hash) + getKey().hashCode();
      hash = (37 * hash) + VALUE_FIELD_NUMBER;
      hash = (53 * hash) + getValue().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.KeyValue parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.KeyValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.KeyValue 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 greptime.v1.meta.Common.KeyValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.KeyValue 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 greptime.v1.meta.Common.KeyValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.KeyValue 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(greptime.v1.meta.Common.KeyValue 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.meta.KeyValue}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.KeyValue)
        greptime.v1.meta.Common.KeyValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_KeyValue_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_KeyValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.KeyValue.class, greptime.v1.meta.Common.KeyValue.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.KeyValue.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();
        key_ = com.google.protobuf.ByteString.EMPTY;

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

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_KeyValue_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.KeyValue getDefaultInstanceForType() {
        return greptime.v1.meta.Common.KeyValue.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.KeyValue build() {
        greptime.v1.meta.Common.KeyValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.KeyValue buildPartial() {
        greptime.v1.meta.Common.KeyValue result = new greptime.v1.meta.Common.KeyValue(this);
        result.key_ = key_;
        result.value_ = value_;
        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 greptime.v1.meta.Common.KeyValue) {
          return mergeFrom((greptime.v1.meta.Common.KeyValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.KeyValue other) {
        if (other == greptime.v1.meta.Common.KeyValue.getDefaultInstance()) return this;
        if (other.getKey() != com.google.protobuf.ByteString.EMPTY) {
          setKey(other.getKey());
        }
        if (other.getValue() != com.google.protobuf.ByteString.EMPTY) {
          setValue(other.getValue());
        }
        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 {
        greptime.v1.meta.Common.KeyValue parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.KeyValue) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * key is the key in bytes. An empty key is not allowed.
       * </pre>
       *
       * <code>bytes key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getKey() {
        return key_;
      }
      /**
       * <pre>
       * key is the key in bytes. An empty key is not allowed.
       * </pre>
       *
       * <code>bytes key = 1;</code>
       * @param value The key to set.
       * @return This builder for chaining.
       */
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        key_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * key is the key in bytes. An empty key is not allowed.
       * </pre>
       *
       * <code>bytes key = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearKey() {
        
        key_ = getDefaultInstance().getKey();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       * value is the value held by the key, in bytes.
       * </pre>
       *
       * <code>bytes value = 2;</code>
       * @return The value.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      /**
       * <pre>
       * value is the value held by the key, in bytes.
       * </pre>
       *
       * <code>bytes value = 2;</code>
       * @param value The value to set.
       * @return This builder for chaining.
       */
      public Builder setValue(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * value is the value held by the key, in bytes.
       * </pre>
       *
       * <code>bytes value = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        
        value_ = getDefaultInstance().getValue();
        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.meta.KeyValue)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.KeyValue)
    private static final greptime.v1.meta.Common.KeyValue DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.KeyValue();
    }

    public static greptime.v1.meta.Common.KeyValue getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.KeyValue getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ProcedureIdOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.meta.ProcedureId)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>bytes key = 1;</code>
     * @return The key.
     */
    com.google.protobuf.ByteString getKey();
  }
  /**
   * <pre>
   * Procedure identifier
   * </pre>
   *
   * Protobuf type {@code greptime.v1.meta.ProcedureId}
   */
  public static final class ProcedureId extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.meta.ProcedureId)
      ProcedureIdOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ProcedureId.newBuilder() to construct.
    private ProcedureId(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ProcedureId() {
      key_ = com.google.protobuf.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ProcedureId(
        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: {

              key_ = 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 greptime.v1.meta.Common.internal_static_greptime_v1_meta_ProcedureId_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ProcedureId_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              greptime.v1.meta.Common.ProcedureId.class, greptime.v1.meta.Common.ProcedureId.Builder.class);
    }

    public static final int KEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString key_;
    /**
     * <code>bytes key = 1;</code>
     * @return The key.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getKey() {
      return 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 (!key_.isEmpty()) {
        output.writeBytes(1, key_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!key_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, key_);
      }
      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 greptime.v1.meta.Common.ProcedureId)) {
        return super.equals(obj);
      }
      greptime.v1.meta.Common.ProcedureId other = (greptime.v1.meta.Common.ProcedureId) obj;

      if (!getKey()
          .equals(other.getKey())) 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) + KEY_FIELD_NUMBER;
      hash = (53 * hash) + getKey().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static greptime.v1.meta.Common.ProcedureId parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static greptime.v1.meta.Common.ProcedureId parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ProcedureId 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 greptime.v1.meta.Common.ProcedureId parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ProcedureId 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 greptime.v1.meta.Common.ProcedureId parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static greptime.v1.meta.Common.ProcedureId 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(greptime.v1.meta.Common.ProcedureId 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>
     * Procedure identifier
     * </pre>
     *
     * Protobuf type {@code greptime.v1.meta.ProcedureId}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.meta.ProcedureId)
        greptime.v1.meta.Common.ProcedureIdOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ProcedureId_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ProcedureId_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                greptime.v1.meta.Common.ProcedureId.class, greptime.v1.meta.Common.ProcedureId.Builder.class);
      }

      // Construct using greptime.v1.meta.Common.ProcedureId.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();
        key_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return greptime.v1.meta.Common.internal_static_greptime_v1_meta_ProcedureId_descriptor;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ProcedureId getDefaultInstanceForType() {
        return greptime.v1.meta.Common.ProcedureId.getDefaultInstance();
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ProcedureId build() {
        greptime.v1.meta.Common.ProcedureId result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public greptime.v1.meta.Common.ProcedureId buildPartial() {
        greptime.v1.meta.Common.ProcedureId result = new greptime.v1.meta.Common.ProcedureId(this);
        result.key_ = key_;
        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 greptime.v1.meta.Common.ProcedureId) {
          return mergeFrom((greptime.v1.meta.Common.ProcedureId)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(greptime.v1.meta.Common.ProcedureId other) {
        if (other == greptime.v1.meta.Common.ProcedureId.getDefaultInstance()) return this;
        if (other.getKey() != com.google.protobuf.ByteString.EMPTY) {
          setKey(other.getKey());
        }
        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 {
        greptime.v1.meta.Common.ProcedureId parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (greptime.v1.meta.Common.ProcedureId) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getKey() {
        return key_;
      }
      /**
       * <code>bytes key = 1;</code>
       * @param value The key to set.
       * @return This builder for chaining.
       */
      public Builder setKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        key_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes key = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearKey() {
        
        key_ = getDefaultInstance().getKey();
        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.meta.ProcedureId)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.meta.ProcedureId)
    private static final greptime.v1.meta.Common.ProcedureId DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new greptime.v1.meta.Common.ProcedureId();
    }

    public static greptime.v1.meta.Common.ProcedureId getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public greptime.v1.meta.Common.ProcedureId getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_RequestHeader_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_RequestHeader_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_RequestHeader_TracingContextEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_RequestHeader_TracingContextEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_ResponseHeader_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_ResponseHeader_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_Error_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_Error_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_Peer_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_Peer_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_TimeInterval_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_TimeInterval_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_KeyValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_KeyValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_meta_ProcedureId_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_meta_ProcedureId_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\035greptime/v1/meta/common.proto\022\020greptim" +
      "e.v1.meta\"\347\001\n\rRequestHeader\022\030\n\020protocol_" +
      "version\030\001 \001(\004\022\021\n\tmember_id\030\003 \001(\004\022$\n\004role" +
      "\030\004 \001(\0162\026.greptime.v1.meta.Role\022L\n\017tracin" +
      "g_context\030\005 \003(\01323.greptime.v1.meta.Reque" +
      "stHeader.TracingContextEntry\0325\n\023TracingC" +
      "ontextEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" +
      "\0028\001\"R\n\016ResponseHeader\022\030\n\020protocol_versio" +
      "n\030\001 \001(\004\022&\n\005error\030\003 \001(\0132\027.greptime.v1.met" +
      "a.Error\"&\n\005Error\022\014\n\004code\030\001 \001(\005\022\017\n\007err_ms" +
      "g\030\002 \001(\t\" \n\004Peer\022\n\n\002id\030\001 \001(\004\022\014\n\004addr\030\002 \001(" +
      "\t\"L\n\014TimeInterval\022\036\n\026start_timestamp_mil" +
      "lis\030\001 \001(\003\022\034\n\024end_timestamp_millis\030\002 \001(\003\"" +
      "&\n\010KeyValue\022\013\n\003key\030\001 \001(\014\022\r\n\005value\030\002 \001(\014\"" +
      "\032\n\013ProcedureId\022\013\n\003key\030\001 \001(\014*0\n\004Role\022\014\n\010D" +
      "ATANODE\020\000\022\014\n\010FRONTEND\020\001\022\014\n\010FLOWNODE\020\002B<Z" +
      ":github.com/GreptimeTeam/greptime-proto/" +
      "go/greptime/v1/metab\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_greptime_v1_meta_RequestHeader_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_greptime_v1_meta_RequestHeader_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_RequestHeader_descriptor,
        new java.lang.String[] { "ProtocolVersion", "MemberId", "Role", "TracingContext", });
    internal_static_greptime_v1_meta_RequestHeader_TracingContextEntry_descriptor =
      internal_static_greptime_v1_meta_RequestHeader_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_meta_RequestHeader_TracingContextEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_RequestHeader_TracingContextEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_meta_ResponseHeader_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_greptime_v1_meta_ResponseHeader_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_ResponseHeader_descriptor,
        new java.lang.String[] { "ProtocolVersion", "Error", });
    internal_static_greptime_v1_meta_Error_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_greptime_v1_meta_Error_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_Error_descriptor,
        new java.lang.String[] { "Code", "ErrMsg", });
    internal_static_greptime_v1_meta_Peer_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_greptime_v1_meta_Peer_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_Peer_descriptor,
        new java.lang.String[] { "Id", "Addr", });
    internal_static_greptime_v1_meta_TimeInterval_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_greptime_v1_meta_TimeInterval_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_TimeInterval_descriptor,
        new java.lang.String[] { "StartTimestampMillis", "EndTimestampMillis", });
    internal_static_greptime_v1_meta_KeyValue_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_greptime_v1_meta_KeyValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_KeyValue_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_meta_ProcedureId_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_greptime_v1_meta_ProcedureId_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_meta_ProcedureId_descriptor,
        new java.lang.String[] { "Key", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
