You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2017/08/02 16:34:00 UTC

[28/51] [partial] hbase git commit: HBASE-17056 Remove checked in PB generated files

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMask.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMask.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMask.java
deleted file mode 100644
index df42bca..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMask.java
+++ /dev/null
@@ -1,903 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: google/protobuf/field_mask.proto
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-/**
- * <pre>
- * `FieldMask` represents a set of symbolic field paths, for example:
- *     paths: "f.a"
- *     paths: "f.b.d"
- * Here `f` represents a field in some root message, `a` and `b`
- * fields in the message found in `f`, and `d` a field found in the
- * message in `f.b`.
- * Field masks are used to specify a subset of fields that should be
- * returned by a get operation or modified by an update operation.
- * Field masks also have a custom JSON encoding (see below).
- * # Field Masks in Projections
- * When used in the context of a projection, a response message or
- * sub-message is filtered by the API to only contain those fields as
- * specified in the mask. For example, if the mask in the previous
- * example is applied to a response message as follows:
- *     f {
- *       a : 22
- *       b {
- *         d : 1
- *         x : 2
- *       }
- *       y : 13
- *     }
- *     z: 8
- * The result will not contain specific values for fields x,y and z
- * (their value will be set to the default, and omitted in proto text
- * output):
- *     f {
- *       a : 22
- *       b {
- *         d : 1
- *       }
- *     }
- * A repeated field is not allowed except at the last position of a
- * paths string.
- * If a FieldMask object is not present in a get operation, the
- * operation applies to all fields (as if a FieldMask of all fields
- * had been specified).
- * Note that a field mask does not necessarily apply to the
- * top-level response message. In case of a REST get operation, the
- * field mask applies directly to the response, but in case of a REST
- * list operation, the mask instead applies to each individual message
- * in the returned resource list. In case of a REST custom method,
- * other definitions may be used. Where the mask applies will be
- * clearly documented together with its declaration in the API.  In
- * any case, the effect on the returned resource/resources is required
- * behavior for APIs.
- * # Field Masks in Update Operations
- * A field mask in update operations specifies which fields of the
- * targeted resource are going to be updated. The API is required
- * to only change the values of the fields as specified in the mask
- * and leave the others untouched. If a resource is passed in to
- * describe the updated values, the API ignores the values of all
- * fields not covered by the mask.
- * If a repeated field is specified for an update operation, the existing
- * repeated values in the target resource will be overwritten by the new values.
- * Note that a repeated field is only allowed in the last position of a `paths`
- * string.
- * If a sub-message is specified in the last position of the field mask for an
- * update operation, then the existing sub-message in the target resource is
- * overwritten. Given the target message:
- *     f {
- *       b {
- *         d : 1
- *         x : 2
- *       }
- *       c : 1
- *     }
- * And an update message:
- *     f {
- *       b {
- *         d : 10
- *       }
- *     }
- * then if the field mask is:
- *  paths: "f.b"
- * then the result will be:
- *     f {
- *       b {
- *         d : 10
- *       }
- *       c : 1
- *     }
- * However, if the update mask was:
- *  paths: "f.b.d"
- * then the result would be:
- *     f {
- *       b {
- *         d : 10
- *         x : 2
- *       }
- *       c : 1
- *     }
- * In order to reset a field's value to the default, the field must
- * be in the mask and set to the default value in the provided resource.
- * Hence, in order to reset all fields of a resource, provide a default
- * instance of the resource and set all fields in the mask, or do
- * not provide a mask as described below.
- * If a field mask is not present on update, the operation applies to
- * all fields (as if a field mask of all fields has been specified).
- * Note that in the presence of schema evolution, this may mean that
- * fields the client does not know and has therefore not filled into
- * the request will be reset to their default. If this is unwanted
- * behavior, a specific service may require a client to always specify
- * a field mask, producing an error if not.
- * As with get operations, the location of the resource which
- * describes the updated values in the request message depends on the
- * operation kind. In any case, the effect of the field mask is
- * required to be honored by the API.
- * ## Considerations for HTTP REST
- * The HTTP kind of an update operation which uses a field mask must
- * be set to PATCH instead of PUT in order to satisfy HTTP semantics
- * (PUT must only be used for full updates).
- * # JSON Encoding of Field Masks
- * In JSON, a field mask is encoded as a single string where paths are
- * separated by a comma. Fields name in each path are converted
- * to/from lower-camel naming conventions.
- * As an example, consider the following message declarations:
- *     message Profile {
- *       User user = 1;
- *       Photo photo = 2;
- *     }
- *     message User {
- *       string display_name = 1;
- *       string address = 2;
- *     }
- * In proto a field mask for `Profile` may look as such:
- *     mask {
- *       paths: "user.display_name"
- *       paths: "photo"
- *     }
- * In JSON, the same mask is represented as below:
- *     {
- *       mask: "user.displayName,photo"
- *     }
- * # Field Masks and Oneof Fields
- * Field masks treat fields in oneofs just as regular fields. Consider the
- * following message:
- *     message SampleMessage {
- *       oneof test_oneof {
- *         string name = 4;
- *         SubMessage sub_message = 9;
- *       }
- *     }
- * The field mask can be:
- *     mask {
- *       paths: "name"
- *     }
- * Or:
- *     mask {
- *       paths: "sub_message"
- *     }
- * Note that oneof type names ("test_oneof" in this case) cannot be used in
- * paths.
- * </pre>
- *
- * Protobuf type {@code google.protobuf.FieldMask}
- */
-public  final class FieldMask extends
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:google.protobuf.FieldMask)
-    FieldMaskOrBuilder {
-  // Use FieldMask.newBuilder() to construct.
-  private FieldMask(org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private FieldMask() {
-    paths_ = org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList.EMPTY;
-  }
-
-  @java.lang.Override
-  public final org.apache.hadoop.hbase.shaded.com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.UnknownFieldSet.getDefaultInstance();
-  }
-  private FieldMask(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream input,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-    this();
-    int mutable_bitField0_ = 0;
-    try {
-      boolean done = false;
-      while (!done) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            done = true;
-            break;
-          default: {
-            if (!input.skipField(tag)) {
-              done = true;
-            }
-            break;
-          }
-          case 10: {
-            java.lang.String s = input.readStringRequireUtf8();
-            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-              paths_ = new org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList();
-              mutable_bitField0_ |= 0x00000001;
-            }
-            paths_.add(s);
-            break;
-          }
-        }
-      }
-    } catch (org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
-        paths_ = paths_.getUnmodifiableView();
-      }
-      makeExtensionsImmutable();
-    }
-  }
-  public static final org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.internal_static_google_protobuf_FieldMask_descriptor;
-  }
-
-  protected org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.internal_static_google_protobuf_FieldMask_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.class, org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.Builder.class);
-  }
-
-  public static final int PATHS_FIELD_NUMBER = 1;
-  private org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringList paths_;
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  public org.apache.hadoop.hbase.shaded.com.google.protobuf.ProtocolStringList
-      getPathsList() {
-    return paths_;
-  }
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  public int getPathsCount() {
-    return paths_.size();
-  }
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  public java.lang.String getPaths(int index) {
-    return paths_.get(index);
-  }
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  public org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getPathsBytes(int index) {
-    return paths_.getByteString(index);
-  }
-
-  private byte memoizedIsInitialized = -1;
-  public final boolean isInitialized() {
-    byte isInitialized = memoizedIsInitialized;
-    if (isInitialized == 1) return true;
-    if (isInitialized == 0) return false;
-
-    memoizedIsInitialized = 1;
-    return true;
-  }
-
-  public void writeTo(org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedOutputStream output)
-                      throws java.io.IOException {
-    for (int i = 0; i < paths_.size(); i++) {
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.writeString(output, 1, paths_.getRaw(i));
-    }
-  }
-
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    {
-      int dataSize = 0;
-      for (int i = 0; i < paths_.size(); i++) {
-        dataSize += computeStringSizeNoTag(paths_.getRaw(i));
-      }
-      size += dataSize;
-      size += 1 * getPathsList().size();
-    }
-    memoizedSize = size;
-    return size;
-  }
-
-  private static final long serialVersionUID = 0L;
-  @java.lang.Override
-  public boolean equals(final java.lang.Object obj) {
-    if (obj == this) {
-     return true;
-    }
-    if (!(obj instanceof org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask)) {
-      return super.equals(obj);
-    }
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask other = (org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask) obj;
-
-    boolean result = true;
-    result = result && getPathsList()
-        .equals(other.getPathsList());
-    return result;
-  }
-
-  @java.lang.Override
-  public int hashCode() {
-    if (memoizedHashCode != 0) {
-      return memoizedHashCode;
-    }
-    int hash = 41;
-    hash = (19 * hash) + getDescriptor().hashCode();
-    if (getPathsCount() > 0) {
-      hash = (37 * hash) + PATHS_FIELD_NUMBER;
-      hash = (53 * hash) + getPathsList().hashCode();
-    }
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString data)
-      throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString data,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(byte[] data)
-      throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      byte[] data,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      java.io.InputStream input,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseDelimitedFrom(
-      java.io.InputStream input,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parseFrom(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream input,
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws java.io.IOException {
-    return org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input, extensionRegistry);
-  }
-
-  public Builder newBuilderForType() { return newBuilder(); }
-  public static Builder newBuilder() {
-    return DEFAULT_INSTANCE.toBuilder();
-  }
-  public static Builder newBuilder(org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask prototype) {
-    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
-  }
-  public Builder toBuilder() {
-    return this == DEFAULT_INSTANCE
-        ? new Builder() : new Builder().mergeFrom(this);
-  }
-
-  @java.lang.Override
-  protected Builder newBuilderForType(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-    Builder builder = new Builder(parent);
-    return builder;
-  }
-  /**
-   * <pre>
-   * `FieldMask` represents a set of symbolic field paths, for example:
-   *     paths: "f.a"
-   *     paths: "f.b.d"
-   * Here `f` represents a field in some root message, `a` and `b`
-   * fields in the message found in `f`, and `d` a field found in the
-   * message in `f.b`.
-   * Field masks are used to specify a subset of fields that should be
-   * returned by a get operation or modified by an update operation.
-   * Field masks also have a custom JSON encoding (see below).
-   * # Field Masks in Projections
-   * When used in the context of a projection, a response message or
-   * sub-message is filtered by the API to only contain those fields as
-   * specified in the mask. For example, if the mask in the previous
-   * example is applied to a response message as follows:
-   *     f {
-   *       a : 22
-   *       b {
-   *         d : 1
-   *         x : 2
-   *       }
-   *       y : 13
-   *     }
-   *     z: 8
-   * The result will not contain specific values for fields x,y and z
-   * (their value will be set to the default, and omitted in proto text
-   * output):
-   *     f {
-   *       a : 22
-   *       b {
-   *         d : 1
-   *       }
-   *     }
-   * A repeated field is not allowed except at the last position of a
-   * paths string.
-   * If a FieldMask object is not present in a get operation, the
-   * operation applies to all fields (as if a FieldMask of all fields
-   * had been specified).
-   * Note that a field mask does not necessarily apply to the
-   * top-level response message. In case of a REST get operation, the
-   * field mask applies directly to the response, but in case of a REST
-   * list operation, the mask instead applies to each individual message
-   * in the returned resource list. In case of a REST custom method,
-   * other definitions may be used. Where the mask applies will be
-   * clearly documented together with its declaration in the API.  In
-   * any case, the effect on the returned resource/resources is required
-   * behavior for APIs.
-   * # Field Masks in Update Operations
-   * A field mask in update operations specifies which fields of the
-   * targeted resource are going to be updated. The API is required
-   * to only change the values of the fields as specified in the mask
-   * and leave the others untouched. If a resource is passed in to
-   * describe the updated values, the API ignores the values of all
-   * fields not covered by the mask.
-   * If a repeated field is specified for an update operation, the existing
-   * repeated values in the target resource will be overwritten by the new values.
-   * Note that a repeated field is only allowed in the last position of a `paths`
-   * string.
-   * If a sub-message is specified in the last position of the field mask for an
-   * update operation, then the existing sub-message in the target resource is
-   * overwritten. Given the target message:
-   *     f {
-   *       b {
-   *         d : 1
-   *         x : 2
-   *       }
-   *       c : 1
-   *     }
-   * And an update message:
-   *     f {
-   *       b {
-   *         d : 10
-   *       }
-   *     }
-   * then if the field mask is:
-   *  paths: "f.b"
-   * then the result will be:
-   *     f {
-   *       b {
-   *         d : 10
-   *       }
-   *       c : 1
-   *     }
-   * However, if the update mask was:
-   *  paths: "f.b.d"
-   * then the result would be:
-   *     f {
-   *       b {
-   *         d : 10
-   *         x : 2
-   *       }
-   *       c : 1
-   *     }
-   * In order to reset a field's value to the default, the field must
-   * be in the mask and set to the default value in the provided resource.
-   * Hence, in order to reset all fields of a resource, provide a default
-   * instance of the resource and set all fields in the mask, or do
-   * not provide a mask as described below.
-   * If a field mask is not present on update, the operation applies to
-   * all fields (as if a field mask of all fields has been specified).
-   * Note that in the presence of schema evolution, this may mean that
-   * fields the client does not know and has therefore not filled into
-   * the request will be reset to their default. If this is unwanted
-   * behavior, a specific service may require a client to always specify
-   * a field mask, producing an error if not.
-   * As with get operations, the location of the resource which
-   * describes the updated values in the request message depends on the
-   * operation kind. In any case, the effect of the field mask is
-   * required to be honored by the API.
-   * ## Considerations for HTTP REST
-   * The HTTP kind of an update operation which uses a field mask must
-   * be set to PATCH instead of PUT in order to satisfy HTTP semantics
-   * (PUT must only be used for full updates).
-   * # JSON Encoding of Field Masks
-   * In JSON, a field mask is encoded as a single string where paths are
-   * separated by a comma. Fields name in each path are converted
-   * to/from lower-camel naming conventions.
-   * As an example, consider the following message declarations:
-   *     message Profile {
-   *       User user = 1;
-   *       Photo photo = 2;
-   *     }
-   *     message User {
-   *       string display_name = 1;
-   *       string address = 2;
-   *     }
-   * In proto a field mask for `Profile` may look as such:
-   *     mask {
-   *       paths: "user.display_name"
-   *       paths: "photo"
-   *     }
-   * In JSON, the same mask is represented as below:
-   *     {
-   *       mask: "user.displayName,photo"
-   *     }
-   * # Field Masks and Oneof Fields
-   * Field masks treat fields in oneofs just as regular fields. Consider the
-   * following message:
-   *     message SampleMessage {
-   *       oneof test_oneof {
-   *         string name = 4;
-   *         SubMessage sub_message = 9;
-   *       }
-   *     }
-   * The field mask can be:
-   *     mask {
-   *       paths: "name"
-   *     }
-   * Or:
-   *     mask {
-   *       paths: "sub_message"
-   *     }
-   * Note that oneof type names ("test_oneof" in this case) cannot be used in
-   * paths.
-   * </pre>
-   *
-   * Protobuf type {@code google.protobuf.FieldMask}
-   */
-  public static final class Builder extends
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:google.protobuf.FieldMask)
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskOrBuilder {
-    public static final org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.internal_static_google_protobuf_FieldMask_descriptor;
-    }
-
-    protected org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.internal_static_google_protobuf_FieldMask_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.class, org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.Builder.class);
-    }
-
-    // Construct using org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-      }
-    }
-    public Builder clear() {
-      super.clear();
-      paths_ = org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList.EMPTY;
-      bitField0_ = (bitField0_ & ~0x00000001);
-      return this;
-    }
-
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.internal_static_google_protobuf_FieldMask_descriptor;
-    }
-
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask getDefaultInstanceForType() {
-      return org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.getDefaultInstance();
-    }
-
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask build() {
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask buildPartial() {
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask result = new org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask(this);
-      int from_bitField0_ = bitField0_;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
-        paths_ = paths_.getUnmodifiableView();
-        bitField0_ = (bitField0_ & ~0x00000001);
-      }
-      result.paths_ = paths_;
-      onBuilt();
-      return result;
-    }
-
-    public Builder clone() {
-      return (Builder) super.clone();
-    }
-    public Builder setField(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FieldDescriptor field,
-        Object value) {
-      return (Builder) super.setField(field, value);
-    }
-    public Builder clearField(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FieldDescriptor field) {
-      return (Builder) super.clearField(field);
-    }
-    public Builder clearOneof(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-      return (Builder) super.clearOneof(oneof);
-    }
-    public Builder setRepeatedField(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FieldDescriptor field,
-        int index, Object value) {
-      return (Builder) super.setRepeatedField(field, index, value);
-    }
-    public Builder addRepeatedField(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FieldDescriptor field,
-        Object value) {
-      return (Builder) super.addRepeatedField(field, value);
-    }
-    public Builder mergeFrom(org.apache.hadoop.hbase.shaded.com.google.protobuf.Message other) {
-      if (other instanceof org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask) {
-        return mergeFrom((org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask other) {
-      if (other == org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.getDefaultInstance()) return this;
-      if (!other.paths_.isEmpty()) {
-        if (paths_.isEmpty()) {
-          paths_ = other.paths_;
-          bitField0_ = (bitField0_ & ~0x00000001);
-        } else {
-          ensurePathsIsMutable();
-          paths_.addAll(other.paths_);
-        }
-        onChanged();
-      }
-      onChanged();
-      return this;
-    }
-
-    public final boolean isInitialized() {
-      return true;
-    }
-
-    public Builder mergeFrom(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream input,
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws java.io.IOException {
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-    private int bitField0_;
-
-    private org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringList paths_ = org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList.EMPTY;
-    private void ensurePathsIsMutable() {
-      if (!((bitField0_ & 0x00000001) == 0x00000001)) {
-        paths_ = new org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList(paths_);
-        bitField0_ |= 0x00000001;
-       }
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.ProtocolStringList
-        getPathsList() {
-      return paths_.getUnmodifiableView();
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public int getPathsCount() {
-      return paths_.size();
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public java.lang.String getPaths(int index) {
-      return paths_.get(index);
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-        getPathsBytes(int index) {
-      return paths_.getByteString(index);
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public Builder setPaths(
-        int index, java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  ensurePathsIsMutable();
-      paths_.set(index, value);
-      onChanged();
-      return this;
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public Builder addPaths(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  ensurePathsIsMutable();
-      paths_.add(value);
-      onChanged();
-      return this;
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public Builder addAllPaths(
-        java.lang.Iterable<java.lang.String> values) {
-      ensurePathsIsMutable();
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.AbstractMessageLite.Builder.addAll(
-          values, paths_);
-      onChanged();
-      return this;
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public Builder clearPaths() {
-      paths_ = org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyStringArrayList.EMPTY;
-      bitField0_ = (bitField0_ & ~0x00000001);
-      onChanged();
-      return this;
-    }
-    /**
-     * <pre>
-     * The set of field mask paths.
-     * </pre>
-     *
-     * <code>repeated string paths = 1;</code>
-     */
-    public Builder addPathsBytes(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      ensurePathsIsMutable();
-      paths_.add(value);
-      onChanged();
-      return this;
-    }
-    public final Builder setUnknownFields(
-        final org.apache.hadoop.hbase.shaded.com.google.protobuf.UnknownFieldSet unknownFields) {
-      return this;
-    }
-
-    public final Builder mergeUnknownFields(
-        final org.apache.hadoop.hbase.shaded.com.google.protobuf.UnknownFieldSet unknownFields) {
-      return this;
-    }
-
-
-    // @@protoc_insertion_point(builder_scope:google.protobuf.FieldMask)
-  }
-
-  // @@protoc_insertion_point(class_scope:google.protobuf.FieldMask)
-  private static final org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask();
-  }
-
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final org.apache.hadoop.hbase.shaded.com.google.protobuf.Parser<FieldMask>
-      PARSER = new org.apache.hadoop.hbase.shaded.com.google.protobuf.AbstractParser<FieldMask>() {
-    public FieldMask parsePartialFrom(
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream input,
-        org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException {
-        return new FieldMask(input, extensionRegistry);
-    }
-  };
-
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.Parser<FieldMask> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public org.apache.hadoop.hbase.shaded.com.google.protobuf.Parser<FieldMask> getParserForType() {
-    return PARSER;
-  }
-
-  public org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskOrBuilder.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskOrBuilder.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskOrBuilder.java
deleted file mode 100644
index da0e875..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskOrBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: google/protobuf/field_mask.proto
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-public interface FieldMaskOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:google.protobuf.FieldMask)
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  java.util.List<java.lang.String>
-      getPathsList();
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  int getPathsCount();
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  java.lang.String getPaths(int index);
-  /**
-   * <pre>
-   * The set of field mask paths.
-   * </pre>
-   *
-   * <code>repeated string paths = 1;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getPathsBytes(int index);
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskProto.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskProto.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskProto.java
deleted file mode 100644
index 4e978bf..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskProto.java
+++ /dev/null
@@ -1,59 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: google/protobuf/field_mask.proto
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-public final class FieldMaskProto {
-  private FieldMaskProto() {}
-  public static void registerAllExtensions(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite registry) {
-  }
-
-  public static void registerAllExtensions(
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistry registry) {
-    registerAllExtensions(
-        (org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryLite) registry);
-  }
-  static final org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.Descriptor
-    internal_static_google_protobuf_FieldMask_descriptor;
-  static final 
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_google_protobuf_FieldMask_fieldAccessorTable;
-
-  public static org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor
-      getDescriptor() {
-    return descriptor;
-  }
-  private static  org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor
-      descriptor;
-  static {
-    java.lang.String[] descriptorData = {
-      "\n google/protobuf/field_mask.proto\022\017goog" +
-      "le.protobuf\"\032\n\tFieldMask\022\r\n\005paths\030\001 \003(\tB" +
-      "\211\001\n\023com.google.protobufB\016FieldMaskProtoP" +
-      "\001Z9google.golang.org/genproto/protobuf/f" +
-      "ield_mask;field_mask\242\002\003GPB\252\002\036Google.Prot" +
-      "obuf.WellKnownTypesb\006proto3"
-    };
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
-        new org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
-          public org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistry assignDescriptors(
-              org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor root) {
-            descriptor = root;
-            return null;
-          }
-        };
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.FileDescriptor[] {
-        }, assigner);
-    internal_static_google_protobuf_FieldMask_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_google_protobuf_FieldMask_fieldAccessorTable = new
-      org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_google_protobuf_FieldMask_descriptor,
-        new java.lang.String[] { "Paths", });
-  }
-
-  // @@protoc_insertion_point(outer_class_scope)
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldOrBuilder.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldOrBuilder.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldOrBuilder.java
deleted file mode 100644
index 1bd3ada..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldOrBuilder.java
+++ /dev/null
@@ -1,189 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: google/protobuf/type.proto
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-public interface FieldOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:google.protobuf.Field)
-    org.apache.hadoop.hbase.shaded.com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <pre>
-   * The field type.
-   * </pre>
-   *
-   * <code>.google.protobuf.Field.Kind kind = 1;</code>
-   */
-  int getKindValue();
-  /**
-   * <pre>
-   * The field type.
-   * </pre>
-   *
-   * <code>.google.protobuf.Field.Kind kind = 1;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.Field.Kind getKind();
-
-  /**
-   * <pre>
-   * The field cardinality.
-   * </pre>
-   *
-   * <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
-   */
-  int getCardinalityValue();
-  /**
-   * <pre>
-   * The field cardinality.
-   * </pre>
-   *
-   * <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.Field.Cardinality getCardinality();
-
-  /**
-   * <pre>
-   * The field number.
-   * </pre>
-   *
-   * <code>int32 number = 3;</code>
-   */
-  int getNumber();
-
-  /**
-   * <pre>
-   * The field name.
-   * </pre>
-   *
-   * <code>string name = 4;</code>
-   */
-  java.lang.String getName();
-  /**
-   * <pre>
-   * The field name.
-   * </pre>
-   *
-   * <code>string name = 4;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getNameBytes();
-
-  /**
-   * <pre>
-   * The field type URL, without the scheme, for message or enumeration
-   * types. Example: `"type.googleapis.org.apache.hadoop.hbase.shaded.com.google.protobuf.Timestamp"`.
-   * </pre>
-   *
-   * <code>string type_url = 6;</code>
-   */
-  java.lang.String getTypeUrl();
-  /**
-   * <pre>
-   * The field type URL, without the scheme, for message or enumeration
-   * types. Example: `"type.googleapis.org.apache.hadoop.hbase.shaded.com.google.protobuf.Timestamp"`.
-   * </pre>
-   *
-   * <code>string type_url = 6;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getTypeUrlBytes();
-
-  /**
-   * <pre>
-   * The index of the field type in `Type.oneofs`, for message or enumeration
-   * types. The first type has index 1; zero means the type is not in the list.
-   * </pre>
-   *
-   * <code>int32 oneof_index = 7;</code>
-   */
-  int getOneofIndex();
-
-  /**
-   * <pre>
-   * Whether to use alternative packed wire representation.
-   * </pre>
-   *
-   * <code>bool packed = 8;</code>
-   */
-  boolean getPacked();
-
-  /**
-   * <pre>
-   * The protocol buffer options.
-   * </pre>
-   *
-   * <code>repeated .google.protobuf.Option options = 9;</code>
-   */
-  java.util.List<org.apache.hadoop.hbase.shaded.com.google.protobuf.Option> 
-      getOptionsList();
-  /**
-   * <pre>
-   * The protocol buffer options.
-   * </pre>
-   *
-   * <code>repeated .google.protobuf.Option options = 9;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.Option getOptions(int index);
-  /**
-   * <pre>
-   * The protocol buffer options.
-   * </pre>
-   *
-   * <code>repeated .google.protobuf.Option options = 9;</code>
-   */
-  int getOptionsCount();
-  /**
-   * <pre>
-   * The protocol buffer options.
-   * </pre>
-   *
-   * <code>repeated .google.protobuf.Option options = 9;</code>
-   */
-  java.util.List<? extends org.apache.hadoop.hbase.shaded.com.google.protobuf.OptionOrBuilder> 
-      getOptionsOrBuilderList();
-  /**
-   * <pre>
-   * The protocol buffer options.
-   * </pre>
-   *
-   * <code>repeated .google.protobuf.Option options = 9;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.OptionOrBuilder getOptionsOrBuilder(
-      int index);
-
-  /**
-   * <pre>
-   * The field JSON name.
-   * </pre>
-   *
-   * <code>string json_name = 10;</code>
-   */
-  java.lang.String getJsonName();
-  /**
-   * <pre>
-   * The field JSON name.
-   * </pre>
-   *
-   * <code>string json_name = 10;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getJsonNameBytes();
-
-  /**
-   * <pre>
-   * The string value of the default value of this field. Proto2 syntax only.
-   * </pre>
-   *
-   * <code>string default_value = 11;</code>
-   */
-  java.lang.String getDefaultValue();
-  /**
-   * <pre>
-   * The string value of the default value of this field. Proto2 syntax only.
-   * </pre>
-   *
-   * <code>string default_value = 11;</code>
-   */
-  org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString
-      getDefaultValueBytes();
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldSet.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldSet.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldSet.java
deleted file mode 100644
index a1bf553..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldSet.java
+++ /dev/null
@@ -1,909 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-import org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyField.LazyIterator;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A class which represents an arbitrary set of fields of some message type.
- * This is used to implement {@link DynamicMessage}, and also to represent
- * extensions in {@link GeneratedMessage}.  This class is package-private,
- * since outside users should probably be using {@link DynamicMessage}.
- *
- * @author kenton@google.com Kenton Varda
- */
-final class FieldSet<FieldDescriptorType extends
-      FieldSet.FieldDescriptorLite<FieldDescriptorType>> {
-  /**
-   * Interface for a FieldDescriptor or lite extension descriptor.  This
-   * prevents FieldSet from depending on {@link Descriptors.FieldDescriptor}.
-   */
-  public interface FieldDescriptorLite<T extends FieldDescriptorLite<T>>
-      extends Comparable<T> {
-    int getNumber();
-    WireFormat.FieldType getLiteType();
-    WireFormat.JavaType getLiteJavaType();
-    boolean isRepeated();
-    boolean isPacked();
-    Internal.EnumLiteMap<?> getEnumType();
-
-    // If getLiteJavaType() == MESSAGE, this merges a message object of the
-    // type into a builder of the type.  Returns {@code to}.
-    MessageLite.Builder internalMergeFrom(
-        MessageLite.Builder to, MessageLite from);
-  }
-
-  private final SmallSortedMap<FieldDescriptorType, Object> fields;
-  private boolean isImmutable;
-  private boolean hasLazyField = false;
-
-  /** Construct a new FieldSet. */
-  private FieldSet() {
-    this.fields = SmallSortedMap.newFieldMap(16);
-  }
-
-  /**
-   * Construct an empty FieldSet.  This is only used to initialize
-   * DEFAULT_INSTANCE.
-   */
-  private FieldSet(final boolean dummy) {
-    this.fields = SmallSortedMap.newFieldMap(0);
-    makeImmutable();
-  }
-
-  /** Construct a new FieldSet. */
-  public static <T extends FieldSet.FieldDescriptorLite<T>>
-      FieldSet<T> newFieldSet() {
-    return new FieldSet<T>();
-  }
-
-  /** Get an immutable empty FieldSet. */
-  @SuppressWarnings("unchecked")
-  public static <T extends FieldSet.FieldDescriptorLite<T>>
-      FieldSet<T> emptySet() {
-    return DEFAULT_INSTANCE;
-  }
-  @SuppressWarnings("rawtypes")
-  private static final FieldSet DEFAULT_INSTANCE = new FieldSet(true);
-
-  /** Make this FieldSet immutable from this point forward. */
-  @SuppressWarnings("unchecked")
-  public void makeImmutable() {
-    if (isImmutable) {
-      return;
-    }
-    fields.makeImmutable();
-    isImmutable = true;
-  }
-
-  /**
-   * Returns whether the FieldSet is immutable. This is true if it is the
-   * {@link #emptySet} or if {@link #makeImmutable} were called.
-   *
-   * @return whether the FieldSet is immutable.
-   */
-  public boolean isImmutable() {
-    return isImmutable;
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-
-    if (!(o instanceof FieldSet)) {
-      return false;
-    }
-
-    FieldSet<?> other = (FieldSet<?>) o;
-    return fields.equals(other.fields);
-  }
-
-  @Override
-  public int hashCode() {
-    return fields.hashCode();
-  }
-
-  /**
-   * Clones the FieldSet. The returned FieldSet will be mutable even if the
-   * original FieldSet was immutable.
-   *
-   * @return the newly cloned FieldSet
-   */
-  @Override
-  public FieldSet<FieldDescriptorType> clone() {
-    // We can't just call fields.clone because List objects in the map
-    // should not be shared.
-    FieldSet<FieldDescriptorType> clone = FieldSet.newFieldSet();
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      Map.Entry<FieldDescriptorType, Object> entry = fields.getArrayEntryAt(i);
-      FieldDescriptorType descriptor = entry.getKey();
-      clone.setField(descriptor, entry.getValue());
-    }
-    for (Map.Entry<FieldDescriptorType, Object> entry :
-             fields.getOverflowEntries()) {
-      FieldDescriptorType descriptor = entry.getKey();
-      clone.setField(descriptor, entry.getValue());
-    }
-    clone.hasLazyField = hasLazyField;
-    return clone;
-  }
-
-
-  // =================================================================
-
-  /** See {@link Message.Builder#clear()}. */
-  public void clear() {
-    fields.clear();
-    hasLazyField = false;
-  }
-
-  /**
-   * Get a simple map containing all the fields.
-   */
-  public Map<FieldDescriptorType, Object> getAllFields() {
-    if (hasLazyField) {
-      SmallSortedMap<FieldDescriptorType, Object> result =
-          SmallSortedMap.newFieldMap(16);
-      for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-        cloneFieldEntry(result, fields.getArrayEntryAt(i));
-      }
-      for (Map.Entry<FieldDescriptorType, Object> entry :
-          fields.getOverflowEntries()) {
-        cloneFieldEntry(result, entry);
-      }
-      if (fields.isImmutable()) {
-        result.makeImmutable();
-      }
-      return result;
-    }
-    return fields.isImmutable() ? fields : Collections.unmodifiableMap(fields);
-  }
-
-  private void cloneFieldEntry(Map<FieldDescriptorType, Object> map,
-      Map.Entry<FieldDescriptorType, Object> entry) {
-    FieldDescriptorType key = entry.getKey();
-    Object value = entry.getValue();
-    if (value instanceof LazyField) {
-      map.put(key, ((LazyField) value).getValue());
-    } else {
-      map.put(key, value);
-    }
-  }
-
-  /**
-   * Get an iterator to the field map. This iterator should not be leaked out
-   * of the protobuf library as it is not protected from mutation when fields
-   * is not immutable.
-   */
-  public Iterator<Map.Entry<FieldDescriptorType, Object>> iterator() {
-    if (hasLazyField) {
-      return new LazyIterator<FieldDescriptorType>(
-          fields.entrySet().iterator());
-    }
-    return fields.entrySet().iterator();
-  }
-
-
-  /**
-   * Useful for implementing
-   * {@link Message#hasField(Descriptors.FieldDescriptor)}.
-   */
-  public boolean hasField(final FieldDescriptorType descriptor) {
-    if (descriptor.isRepeated()) {
-      throw new IllegalArgumentException(
-        "hasField() can only be called on non-repeated fields.");
-    }
-
-    return fields.get(descriptor) != null;
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message#getField(Descriptors.FieldDescriptor)}.  This method
-   * returns {@code null} if the field is not set; in this case it is up
-   * to the caller to fetch the field's default value.
-   */
-  public Object getField(final FieldDescriptorType descriptor) {
-    Object o = fields.get(descriptor);
-    if (o instanceof LazyField) {
-      return ((LazyField) o).getValue();
-    }
-    return o;
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message.Builder#setField(Descriptors.FieldDescriptor,Object)}.
-   */
-  @SuppressWarnings({"unchecked", "rawtypes"})
-  public void setField(final FieldDescriptorType descriptor,
-                       Object value) {
-    if (descriptor.isRepeated()) {
-      if (!(value instanceof List)) {
-        throw new IllegalArgumentException(
-          "Wrong object type used with protocol message reflection.");
-      }
-
-      // Wrap the contents in a new list so that the caller cannot change
-      // the list's contents after setting it.
-      final List newList = new ArrayList();
-      newList.addAll((List) value);
-      for (final Object element : newList) {
-        verifyType(descriptor.getLiteType(), element);
-      }
-      value = newList;
-    } else {
-      verifyType(descriptor.getLiteType(), value);
-    }
-
-    if (value instanceof LazyField) {
-      hasLazyField = true;
-    }
-    fields.put(descriptor, value);
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message.Builder#clearField(Descriptors.FieldDescriptor)}.
-   */
-  public void clearField(final FieldDescriptorType descriptor) {
-    fields.remove(descriptor);
-    if (fields.isEmpty()) {
-      hasLazyField = false;
-    }
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message#getRepeatedFieldCount(Descriptors.FieldDescriptor)}.
-   */
-  public int getRepeatedFieldCount(final FieldDescriptorType descriptor) {
-    if (!descriptor.isRepeated()) {
-      throw new IllegalArgumentException(
-        "getRepeatedField() can only be called on repeated fields.");
-    }
-
-    final Object value = getField(descriptor);
-    if (value == null) {
-      return 0;
-    } else {
-      return ((List<?>) value).size();
-    }
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message#getRepeatedField(Descriptors.FieldDescriptor,int)}.
-   */
-  public Object getRepeatedField(final FieldDescriptorType descriptor,
-                                 final int index) {
-    if (!descriptor.isRepeated()) {
-      throw new IllegalArgumentException(
-        "getRepeatedField() can only be called on repeated fields.");
-    }
-
-    final Object value = getField(descriptor);
-
-    if (value == null) {
-      throw new IndexOutOfBoundsException();
-    } else {
-      return ((List<?>) value).get(index);
-    }
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message.Builder#setRepeatedField(Descriptors.FieldDescriptor,int,Object)}.
-   */
-  @SuppressWarnings("unchecked")
-  public void setRepeatedField(final FieldDescriptorType descriptor,
-                               final int index,
-                               final Object value) {
-    if (!descriptor.isRepeated()) {
-      throw new IllegalArgumentException(
-        "getRepeatedField() can only be called on repeated fields.");
-    }
-
-    final Object list = getField(descriptor);
-    if (list == null) {
-      throw new IndexOutOfBoundsException();
-    }
-
-    verifyType(descriptor.getLiteType(), value);
-    ((List<Object>) list).set(index, value);
-  }
-
-  /**
-   * Useful for implementing
-   * {@link Message.Builder#addRepeatedField(Descriptors.FieldDescriptor,Object)}.
-   */
-  @SuppressWarnings("unchecked")
-  public void addRepeatedField(final FieldDescriptorType descriptor,
-                               final Object value) {
-    if (!descriptor.isRepeated()) {
-      throw new IllegalArgumentException(
-        "addRepeatedField() can only be called on repeated fields.");
-    }
-
-    verifyType(descriptor.getLiteType(), value);
-
-    final Object existingValue = getField(descriptor);
-    List<Object> list;
-    if (existingValue == null) {
-      list = new ArrayList<Object>();
-      fields.put(descriptor, list);
-    } else {
-      list = (List<Object>) existingValue;
-    }
-
-    list.add(value);
-  }
-
-  /**
-   * Verifies that the given object is of the correct type to be a valid
-   * value for the given field.  (For repeated fields, this checks if the
-   * object is the right type to be one element of the field.)
-   *
-   * @throws IllegalArgumentException The value is not of the right type.
-   */
-  private static void verifyType(final WireFormat.FieldType type,
-                                 final Object value) {
-    if (value == null) {
-      throw new NullPointerException();
-    }
-
-    boolean isValid = false;
-    switch (type.getJavaType()) {
-      case INT:          isValid = value instanceof Integer   ; break;
-      case LONG:         isValid = value instanceof Long      ; break;
-      case FLOAT:        isValid = value instanceof Float     ; break;
-      case DOUBLE:       isValid = value instanceof Double    ; break;
-      case BOOLEAN:      isValid = value instanceof Boolean   ; break;
-      case STRING:       isValid = value instanceof String    ; break;
-      case BYTE_STRING:
-        isValid = value instanceof ByteString || value instanceof byte[];
-        break;
-      case ENUM:
-        // TODO(kenton):  Caller must do type checking here, I guess.
-        isValid =
-            (value instanceof Integer || value instanceof Internal.EnumLite);
-        break;
-      case MESSAGE:
-        // TODO(kenton):  Caller must do type checking here, I guess.
-        isValid =
-            (value instanceof MessageLite) || (value instanceof LazyField);
-        break;
-    }
-
-    if (!isValid) {
-      // TODO(kenton):  When chaining calls to setField(), it can be hard to
-      //   tell from the stack trace which exact call failed, since the whole
-      //   chain is considered one line of code.  It would be nice to print
-      //   more information here, e.g. naming the field.  We used to do that.
-      //   But we can't now that FieldSet doesn't use descriptors.  Maybe this
-      //   isn't a big deal, though, since it would only really apply when using
-      //   reflection and generally people don't chain reflection setters.
-      throw new IllegalArgumentException(
-        "Wrong object type used with protocol message reflection.");
-    }
-  }
-
-  // =================================================================
-  // Parsing and serialization
-
-  /**
-   * See {@link Message#isInitialized()}.  Note:  Since {@code FieldSet}
-   * itself does not have any way of knowing about required fields that
-   * aren't actually present in the set, it is up to the caller to check
-   * that all required fields are present.
-   */
-  public boolean isInitialized() {
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      if (!isInitialized(fields.getArrayEntryAt(i))) {
-        return false;
-      }
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-             fields.getOverflowEntries()) {
-      if (!isInitialized(entry)) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  @SuppressWarnings("unchecked")
-  private boolean isInitialized(
-      final Map.Entry<FieldDescriptorType, Object> entry) {
-    final FieldDescriptorType descriptor = entry.getKey();
-    if (descriptor.getLiteJavaType() == WireFormat.JavaType.MESSAGE) {
-      if (descriptor.isRepeated()) {
-        for (final MessageLite element:
-                 (List<MessageLite>) entry.getValue()) {
-          if (!element.isInitialized()) {
-            return false;
-          }
-        }
-      } else {
-        Object value = entry.getValue();
-        if (value instanceof MessageLite) {
-          if (!((MessageLite) value).isInitialized()) {
-            return false;
-          }
-        } else if (value instanceof LazyField) {
-          return true;
-        } else {
-          throw new IllegalArgumentException(
-              "Wrong object type used with protocol message reflection.");
-        }
-      }
-    }
-    return true;
-  }
-
-  /**
-   * Given a field type, return the wire type.
-   *
-   * @returns One of the {@code WIRETYPE_} constants defined in
-   *          {@link WireFormat}.
-   */
-  static int getWireFormatForFieldType(final WireFormat.FieldType type,
-                                       boolean isPacked) {
-    if (isPacked) {
-      return WireFormat.WIRETYPE_LENGTH_DELIMITED;
-    } else {
-      return type.getWireType();
-    }
-  }
-
-  /**
-   * Like {@link Message.Builder#mergeFrom(Message)}, but merges from another
-   * {@link FieldSet}.
-   */
-  public void mergeFrom(final FieldSet<FieldDescriptorType> other) {
-    for (int i = 0; i < other.fields.getNumArrayEntries(); i++) {
-      mergeFromField(other.fields.getArrayEntryAt(i));
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-             other.fields.getOverflowEntries()) {
-      mergeFromField(entry);
-    }
-  }
-
-  private Object cloneIfMutable(Object value) {
-    if (value instanceof byte[]) {
-      byte[] bytes = (byte[]) value;
-      byte[] copy = new byte[bytes.length];
-      System.arraycopy(bytes, 0, copy, 0, bytes.length);
-      return copy;
-    } else {
-      return value;
-    }
-  }
-
-  @SuppressWarnings({"unchecked", "rawtypes"})
-  private void mergeFromField(
-      final Map.Entry<FieldDescriptorType, Object> entry) {
-    final FieldDescriptorType descriptor = entry.getKey();
-    Object otherValue = entry.getValue();
-    if (otherValue instanceof LazyField) {
-      otherValue = ((LazyField) otherValue).getValue();
-    }
-
-    if (descriptor.isRepeated()) {
-      Object value = getField(descriptor);
-      if (value == null) {
-        value = new ArrayList();
-      }
-      for (Object element : (List) otherValue) {
-        ((List) value).add(cloneIfMutable(element));
-      }
-      fields.put(descriptor, value);
-    } else if (descriptor.getLiteJavaType() == WireFormat.JavaType.MESSAGE) {
-      Object value = getField(descriptor);
-      if (value == null) {
-        fields.put(descriptor, cloneIfMutable(otherValue));
-      } else {
-        // Merge the messages.
-          value = descriptor.internalMergeFrom(
-                ((MessageLite) value).toBuilder(), (MessageLite) otherValue)
-                .build();
-
-        fields.put(descriptor, value);
-      }
-    } else {
-      fields.put(descriptor, cloneIfMutable(otherValue));
-    }
-  }
-
-  // TODO(kenton):  Move static parsing and serialization methods into some
-  //   other class.  Probably WireFormat.
-
-  /**
-   * Read a field of any primitive type for immutable messages from a
-   * CodedInputStream. Enums, groups, and embedded messages are not handled by
-   * this method.
-   *
-   * @param input The stream from which to read.
-   * @param type Declared type of the field.
-   * @param checkUtf8 When true, check that the input is valid utf8.
-   * @return An object representing the field's value, of the exact
-   *         type which would be returned by
-   *         {@link Message#getField(Descriptors.FieldDescriptor)} for
-   *         this field.
-   */
-  public static Object readPrimitiveField(
-      CodedInputStream input,
-      final WireFormat.FieldType type,
-      boolean checkUtf8) throws IOException {
-    if (checkUtf8) {
-      return WireFormat.readPrimitiveField(input, type,
-          WireFormat.Utf8Validation.STRICT);
-    } else {
-      return WireFormat.readPrimitiveField(input, type,
-          WireFormat.Utf8Validation.LOOSE);
-    }
-  }
-
-
-  /** See {@link Message#writeTo(CodedOutputStream)}. */
-  public void writeTo(final CodedOutputStream output)
-                      throws IOException {
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      final Map.Entry<FieldDescriptorType, Object> entry =
-          fields.getArrayEntryAt(i);
-      writeField(entry.getKey(), entry.getValue(), output);
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-         fields.getOverflowEntries()) {
-      writeField(entry.getKey(), entry.getValue(), output);
-    }
-  }
-
-  /**
-   * Like {@link #writeTo} but uses MessageSet wire format.
-   */
-  public void writeMessageSetTo(final CodedOutputStream output)
-                                throws IOException {
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      writeMessageSetTo(fields.getArrayEntryAt(i), output);
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-             fields.getOverflowEntries()) {
-      writeMessageSetTo(entry, output);
-    }
-  }
-
-  private void writeMessageSetTo(
-      final Map.Entry<FieldDescriptorType, Object> entry,
-      final CodedOutputStream output) throws IOException {
-    final FieldDescriptorType descriptor = entry.getKey();
-    if (descriptor.getLiteJavaType() == WireFormat.JavaType.MESSAGE &&
-        !descriptor.isRepeated() && !descriptor.isPacked()) {
-      Object value = entry.getValue();
-      if (value instanceof LazyField) {
-        value = ((LazyField) value).getValue();
-      }
-      output.writeMessageSetExtension(entry.getKey().getNumber(),
-                                      (MessageLite) value);
-    } else {
-      writeField(descriptor, entry.getValue(), output);
-    }
-  }
-
-  /**
-   * Write a single tag-value pair to the stream.
-   *
-   * @param output The output stream.
-   * @param type   The field's type.
-   * @param number The field's number.
-   * @param value  Object representing the field's value.  Must be of the exact
-   *               type which would be returned by
-   *               {@link Message#getField(Descriptors.FieldDescriptor)} for
-   *               this field.
-   */
-  static void writeElement(
-      final CodedOutputStream output,
-      final WireFormat.FieldType type,
-      final int number,
-      final Object value) throws IOException {
-    // Special case for groups, which need a start and end tag; other fields
-    // can just use writeTag() and writeFieldNoTag().
-    if (type == WireFormat.FieldType.GROUP) {
-        output.writeGroup(number, (MessageLite) value);
-    } else {
-      output.writeTag(number, getWireFormatForFieldType(type, false));
-      writeElementNoTag(output, type, value);
-    }
-  }
-
-  /**
-   * Write a field of arbitrary type, without its tag, to the stream.
-   *
-   * @param output The output stream.
-   * @param type The field's type.
-   * @param value  Object representing the field's value.  Must be of the exact
-   *               type which would be returned by
-   *               {@link Message#getField(Descriptors.FieldDescriptor)} for
-   *               this field.
-   */
-  static void writeElementNoTag(
-      final CodedOutputStream output,
-      final WireFormat.FieldType type,
-      final Object value) throws IOException {
-    switch (type) {
-      case DOUBLE  : output.writeDoubleNoTag  ((Double     ) value); break;
-      case FLOAT   : output.writeFloatNoTag   ((Float      ) value); break;
-      case INT64   : output.writeInt64NoTag   ((Long       ) value); break;
-      case UINT64  : output.writeUInt64NoTag  ((Long       ) value); break;
-      case INT32   : output.writeInt32NoTag   ((Integer    ) value); break;
-      case FIXED64 : output.writeFixed64NoTag ((Long       ) value); break;
-      case FIXED32 : output.writeFixed32NoTag ((Integer    ) value); break;
-      case BOOL    : output.writeBoolNoTag    ((Boolean    ) value); break;
-      case GROUP   : output.writeGroupNoTag   ((MessageLite) value); break;
-      case MESSAGE : output.writeMessageNoTag ((MessageLite) value); break;
-      case STRING:
-        if (value instanceof ByteString) {
-          output.writeBytesNoTag((ByteString) value);
-        } else {
-          output.writeStringNoTag((String) value);
-        }
-        break;
-      case BYTES:
-        if (value instanceof ByteString) {
-          output.writeBytesNoTag((ByteString) value);
-        } else {
-          output.writeByteArrayNoTag((byte[]) value);
-        }
-        break;
-      case UINT32  : output.writeUInt32NoTag  ((Integer    ) value); break;
-      case SFIXED32: output.writeSFixed32NoTag((Integer    ) value); break;
-      case SFIXED64: output.writeSFixed64NoTag((Long       ) value); break;
-      case SINT32  : output.writeSInt32NoTag  ((Integer    ) value); break;
-      case SINT64  : output.writeSInt64NoTag  ((Long       ) value); break;
-
-      case ENUM:
-        if (value instanceof Internal.EnumLite) {
-          output.writeEnumNoTag(((Internal.EnumLite) value).getNumber());
-        } else {
-          output.writeEnumNoTag(((Integer) value).intValue());
-        }
-        break;
-    }
-  }
-
-  /** Write a single field. */
-  public static void writeField(final FieldDescriptorLite<?> descriptor,
-                                final Object value,
-                                final CodedOutputStream output)
-                                throws IOException {
-    WireFormat.FieldType type = descriptor.getLiteType();
-    int number = descriptor.getNumber();
-    if (descriptor.isRepeated()) {
-      final List<?> valueList = (List<?>)value;
-      if (descriptor.isPacked()) {
-        output.writeTag(number, WireFormat.WIRETYPE_LENGTH_DELIMITED);
-        // Compute the total data size so the length can be written.
-        int dataSize = 0;
-        for (final Object element : valueList) {
-          dataSize += computeElementSizeNoTag(type, element);
-        }
-        output.writeRawVarint32(dataSize);
-        // Write the data itself, without any tags.
-        for (final Object element : valueList) {
-          writeElementNoTag(output, type, element);
-        }
-      } else {
-        for (final Object element : valueList) {
-          writeElement(output, type, number, element);
-        }
-      }
-    } else {
-      if (value instanceof LazyField) {
-        writeElement(output, type, number, ((LazyField) value).getValue());
-      } else {
-        writeElement(output, type, number, value);
-      }
-    }
-  }
-
-  /**
-   * See {@link Message#getSerializedSize()}.  It's up to the caller to cache
-   * the resulting size if desired.
-   */
-  public int getSerializedSize() {
-    int size = 0;
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      final Map.Entry<FieldDescriptorType, Object> entry =
-          fields.getArrayEntryAt(i);
-      size += computeFieldSize(entry.getKey(), entry.getValue());
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-         fields.getOverflowEntries()) {
-      size += computeFieldSize(entry.getKey(), entry.getValue());
-    }
-    return size;
-  }
-
-  /**
-   * Like {@link #getSerializedSize} but uses MessageSet wire format.
-   */
-  public int getMessageSetSerializedSize() {
-    int size = 0;
-    for (int i = 0; i < fields.getNumArrayEntries(); i++) {
-      size += getMessageSetSerializedSize(fields.getArrayEntryAt(i));
-    }
-    for (final Map.Entry<FieldDescriptorType, Object> entry :
-             fields.getOverflowEntries()) {
-      size += getMessageSetSerializedSize(entry);
-    }
-    return size;
-  }
-
-  private int getMessageSetSerializedSize(
-      final Map.Entry<FieldDescriptorType, Object> entry) {
-    final FieldDescriptorType descriptor = entry.getKey();
-    Object value = entry.getValue();
-    if (descriptor.getLiteJavaType() == WireFormat.JavaType.MESSAGE
-        && !descriptor.isRepeated() && !descriptor.isPacked()) {
-      if (value instanceof LazyField) {
-        return CodedOutputStream.computeLazyFieldMessageSetExtensionSize(
-            entry.getKey().getNumber(), (LazyField) value);
-      } else {
-        return CodedOutputStream.computeMessageSetExtensionSize(
-            entry.getKey().getNumber(), (MessageLite) value);
-      }
-    } else {
-      return computeFieldSize(descriptor, value);
-    }
-  }
-
-  /**
-   * Compute the number of bytes that would be needed to encode a
-   * single tag/value pair of arbitrary type.
-   *
-   * @param type   The field's type.
-   * @param number The field's number.
-   * @param value  Object representing the field's value.  Must be of the exact
-   *               type which would be returned by
-   *               {@link Message#getField(Descriptors.FieldDescriptor)} for
-   *               this field.
-   */
-  static int computeElementSize(
-      final WireFormat.FieldType type, final int number, final Object value) {
-    int tagSize = CodedOutputStream.computeTagSize(number);
-    if (type == WireFormat.FieldType.GROUP) {
-      // Only count the end group tag for proto2 messages as for proto1 the end
-      // group tag will be counted as a part of getSerializedSize().
-        tagSize *= 2;
-    }
-    return tagSize + computeElementSizeNoTag(type, value);
-  }
-
-  /**
-   * Compute the number of bytes that would be needed to encode a
-   * particular value of arbitrary type, excluding tag.
-   *
-   * @param type   The field's type.
-   * @param value  Object representing the field's value.  Must be of the exact
-   *               type which would be returned by
-   *               {@link Message#getField(Descriptors.FieldDescriptor)} for
-   *               this field.
-   */
-  static int computeElementSizeNoTag(
-      final WireFormat.FieldType type, final Object value) {
-    switch (type) {
-      // Note:  Minor violation of 80-char limit rule here because this would
-      //   actually be harder to read if we wrapped the lines.
-      case DOUBLE  : return CodedOutputStream.computeDoubleSizeNoTag  ((Double     )value);
-      case FLOAT   : return CodedOutputStream.computeFloatSizeNoTag   ((Float      )value);
-      case INT64   : return CodedOutputStream.computeInt64SizeNoTag   ((Long       )value);
-      case UINT64  : return CodedOutputStream.computeUInt64SizeNoTag  ((Long       )value);
-      case INT32   : return CodedOutputStream.computeInt32SizeNoTag   ((Integer    )value);
-      case FIXED64 : return CodedOutputStream.computeFixed64SizeNoTag ((Long       )value);
-      case FIXED32 : return CodedOutputStream.computeFixed32SizeNoTag ((Integer    )value);
-      case BOOL    : return CodedOutputStream.computeBoolSizeNoTag    ((Boolean    )value);
-      case GROUP   : return CodedOutputStream.computeGroupSizeNoTag   ((MessageLite)value);
-      case BYTES   :
-        if (value instanceof ByteString) {
-          return CodedOutputStream.computeBytesSizeNoTag((ByteString) value);
-        } else {
-          return CodedOutputStream.computeByteArraySizeNoTag((byte[]) value);
-        }
-      case STRING  :
-        if (value instanceof ByteString) {
-          return CodedOutputStream.computeBytesSizeNoTag((ByteString) value);
-        } else {
-          return CodedOutputStream.computeStringSizeNoTag((String) value);
-        }
-      case UINT32  : return CodedOutputStream.computeUInt32SizeNoTag  ((Integer    )value);
-      case SFIXED32: return CodedOutputStream.computeSFixed32SizeNoTag((Integer    )value);
-      case SFIXED64: return CodedOutputStream.computeSFixed64SizeNoTag((Long       )value);
-      case SINT32  : return CodedOutputStream.computeSInt32SizeNoTag  ((Integer    )value);
-      case SINT64  : return CodedOutputStream.computeSInt64SizeNoTag  ((Long       )value);
-
-      case MESSAGE:
-        if (value instanceof LazyField) {
-          return CodedOutputStream.computeLazyFieldSizeNoTag((LazyField) value);
-        } else {
-          return CodedOutputStream.computeMessageSizeNoTag((MessageLite) value);
-        }
-
-      case ENUM:
-        if (value instanceof Internal.EnumLite) {
-          return CodedOutputStream.computeEnumSizeNoTag(
-              ((Internal.EnumLite) value).getNumber());
-        } else {
-          return CodedOutputStream.computeEnumSizeNoTag((Integer) value);
-        }
-    }
-
-    throw new RuntimeException(
-      "There is no way to get here, but the compiler thinks otherwise.");
-  }
-
-  /**
-   * Compute the number of bytes needed to encode a particular field.
-   */
-  public static int computeFieldSize(final FieldDescriptorLite<?> descriptor,
-                                     final Object value) {
-    WireFormat.FieldType type = descriptor.getLiteType();
-    int number = descriptor.getNumber();
-    if (descriptor.isRepeated()) {
-      if (descriptor.isPacked()) {
-        int dataSize = 0;
-        for (final Object element : (List<?>)value) {
-          dataSize += computeElementSizeNoTag(type, element);
-        }
-        return dataSize +
-            CodedOutputStream.computeTagSize(number) +
-            CodedOutputStream.computeRawVarint32Size(dataSize);
-      } else {
-        int size = 0;
-        for (final Object element : (List<?>)value) {
-          size += computeElementSize(type, number, element);
-        }
-        return size;
-      }
-    } else {
-      return computeElementSize(type, number, value);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/7a6de1bd/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatArrayList.java
----------------------------------------------------------------------
diff --git a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatArrayList.java b/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatArrayList.java
deleted file mode 100644
index 31f6600..0000000
--- a/hbase-protocol-shaded/src/main/java/org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatArrayList.java
+++ /dev/null
@@ -1,272 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-package org.apache.hadoop.hbase.shaded.com.google.protobuf;
-
-import org.apache.hadoop.hbase.shaded.com.google.protobuf.Internal.FloatList;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.RandomAccess;
-
-/**
- * An implementation of {@link FloatList} on top of a primitive array.
- *
- * @author dweis@google.com (Daniel Weis)
- */
-final class FloatArrayList
-    extends AbstractProtobufList<Float>
-    implements FloatList, RandomAccess {
-
-  private static final FloatArrayList EMPTY_LIST = new FloatArrayList();
-  static {
-    EMPTY_LIST.makeImmutable();
-  }
-
-  public static FloatArrayList emptyList() {
-    return EMPTY_LIST;
-  }
-
-  /**
-   * The backing store for the list.
-   */
-  private float[] array;
-
-  /**
-   * The size of the list distinct from the length of the array. That is, it is the number of
-   * elements set in the list.
-   */
-  private int size;
-
-  /**
-   * Constructs a new mutable {@code FloatArrayList} with default capacity.
-   */
-  FloatArrayList() {
-    this(new float[DEFAULT_CAPACITY], 0);
-  }
-
-  /**
-   * Constructs a new mutable {@code FloatArrayList}
-   * containing the same elements as {@code other}.
-   */
-  private FloatArrayList(float[] other, int size) {
-    array = other;
-    this.size = size;
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (!(o instanceof FloatArrayList)) {
-      return super.equals(o);
-    }
-    FloatArrayList other = (FloatArrayList) o;
-    if (size != other.size) {
-      return false;
-    }
-
-    final float[] arr = other.array;
-    for (int i = 0; i < size; i++) {
-      if (array[i] != arr[i]) {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int result = 1;
-    for (int i = 0; i < size; i++) {
-      result = (31 * result) + Float.floatToIntBits(array[i]);
-    }
-    return result;
-  }
-
-  @Override
-  public FloatList mutableCopyWithCapacity(int capacity) {
-    if (capacity < size) {
-      throw new IllegalArgumentException();
-    }
-    return new FloatArrayList(Arrays.copyOf(array, capacity), size);
-  }
-
-  @Override
-  public Float get(int index) {
-    return getFloat(index);
-  }
-
-  @Override
-  public float getFloat(int index) {
-    ensureIndexInRange(index);
-    return array[index];
-  }
-
-  @Override
-  public int size() {
-    return size;
-  }
-
-  @Override
-  public Float set(int index, Float element) {
-    return setFloat(index, element);
-  }
-
-  @Override
-  public float setFloat(int index, float element) {
-    ensureIsMutable();
-    ensureIndexInRange(index);
-    float previousValue = array[index];
-    array[index] = element;
-    return previousValue;
-  }
-
-  @Override
-  public void add(int index, Float element) {
-    addFloat(index, element);
-  }
-
-  /**
-   * Like {@link #add(Float)} but more efficient in that it doesn't box the element.
-   */
-  @Override
-  public void addFloat(float element) {
-    addFloat(size, element);
-  }
-
-  /**
-   * Like {@link #add(int, Float)} but more efficient in that it doesn't box the element.
-   */
-  private void addFloat(int index, float element) {
-    ensureIsMutable();
-    if (index < 0 || index > size) {
-      throw new IndexOutOfBoundsException(makeOutOfBoundsExceptionMessage(index));
-    }
-
-    if (size < array.length) {
-      // Shift everything over to make room
-      System.arraycopy(array, index, array, index + 1, size - index);
-    } else {
-      // Resize to 1.5x the size
-      int length = ((size * 3) / 2) + 1;
-      float[] newArray = new float[length];
-
-      // Copy the first part directly
-      System.arraycopy(array, 0, newArray, 0, index);
-
-      // Copy the rest shifted over by one to make room
-      System.arraycopy(array, index, newArray, index + 1, size - index);
-      array = newArray;
-    }
-
-    array[index] = element;
-    size++;
-    modCount++;
-  }
-
-  @Override
-  public boolean addAll(Collection<? extends Float> collection) {
-    ensureIsMutable();
-
-    if (collection == null) {
-      throw new NullPointerException();
-    }
-
-    // We specialize when adding another FloatArrayList to avoid boxing elements.
-    if (!(collection instanceof FloatArrayList)) {
-      return super.addAll(collection);
-    }
-
-    FloatArrayList list = (FloatArrayList) collection;
-    if (list.size == 0) {
-      return false;
-    }
-
-    int overflow = Integer.MAX_VALUE - size;
-    if (overflow < list.size) {
-      // We can't actually represent a list this large.
-      throw new OutOfMemoryError();
-    }
-
-    int newSize = size + list.size;
-    if (newSize > array.length) {
-      array = Arrays.copyOf(array, newSize);
-    }
-
-    System.arraycopy(list.array, 0, array, size, list.size);
-    size = newSize;
-    modCount++;
-    return true;
-  }
-
-  @Override
-  public boolean remove(Object o) {
-    ensureIsMutable();
-    for (int i = 0; i < size; i++) {
-      if (o.equals(array[i])) {
-        System.arraycopy(array, i + 1, array, i, size - i);
-        size--;
-        modCount++;
-        return true;
-      }
-    }
-    return false;
-  }
-
-  @Override
-  public Float remove(int index) {
-    ensureIsMutable();
-    ensureIndexInRange(index);
-    float value = array[index];
-    System.arraycopy(array, index + 1, array, index, size - index);
-    size--;
-    modCount++;
-    return value;
-  }
-
-  /**
-   * Ensures that the provided {@code index} is within the range of {@code [0, size]}. Throws an
-   * {@link IndexOutOfBoundsException} if it is not.
-   *
-   * @param index the index to verify is in range
-   */
-  private void ensureIndexInRange(int index) {
-    if (index < 0 || index >= size) {
-      throw new IndexOutOfBoundsException(makeOutOfBoundsExceptionMessage(index));
-    }
-  }
-
-  private String makeOutOfBoundsExceptionMessage(int index) {
-    return "Index:" + index + ", Size:" + size;
-  }
-}