diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java index 302a411..0ee163e 100644 --- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java +++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RPCProtos.java @@ -1110,579 +1110,76 @@ public final class RPCProtos { boolean hasTinfo(); org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo getTinfo(); org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder getTinfoOrBuilder(); - } - public static final class RpcRequestHeader extends - com.google.protobuf.GeneratedMessage - implements RpcRequestHeaderOrBuilder { - // Use RpcRequestHeader.newBuilder() to construct. - private RpcRequestHeader(Builder builder) { - super(builder); - } - private RpcRequestHeader(boolean noInit) {} - - private static final RpcRequestHeader defaultInstance; - public static RpcRequestHeader getDefaultInstance() { - return defaultInstance; - } - - public RpcRequestHeader getDefaultInstanceForType() { - return defaultInstance; - } - - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_fieldAccessorTable; - } - - private int bitField0_; - // required uint32 callId = 1; - public static final int CALLID_FIELD_NUMBER = 1; - private int callId_; - public boolean hasCallId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - public int getCallId() { - return callId_; - } - - // optional .RPCTInfo tinfo = 2; - public static final int TINFO_FIELD_NUMBER = 2; - private org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo tinfo_; - public boolean hasTinfo() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo getTinfo() { - return tinfo_; - } - public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder getTinfoOrBuilder() { - return tinfo_; - } - - private void initFields() { - callId_ = 0; - tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - if (!hasCallId()) { - memoizedIsInitialized = 0; - return false; - } - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeUInt32(1, callId_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeMessage(2, tinfo_); - } - getUnknownFields().writeTo(output); - } - - private int memoizedSerializedSize = -1; - public int getSerializedSize() { - int size = memoizedSerializedSize; - if (size != -1) return size; - - size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(1, callId_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, tinfo_); - } - size += getUnknownFields().getSerializedSize(); - memoizedSerializedSize = size; - return size; - } - - private static final long serialVersionUID = 0L; - @java.lang.Override - protected java.lang.Object writeReplace() - throws java.io.ObjectStreamException { - return super.writeReplace(); - } - - @java.lang.Override - public boolean equals(final java.lang.Object obj) { - if (obj == this) { - return true; - } - if (!(obj instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader)) { - return super.equals(obj); - } - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader other = (org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader) obj; - - boolean result = true; - result = result && (hasCallId() == other.hasCallId()); - if (hasCallId()) { - result = result && (getCallId() - == other.getCallId()); - } - result = result && (hasTinfo() == other.hasTinfo()); - if (hasTinfo()) { - result = result && getTinfo() - .equals(other.getTinfo()); - } - result = result && - getUnknownFields().equals(other.getUnknownFields()); - return result; - } - - @java.lang.Override - public int hashCode() { - int hash = 41; - hash = (19 * hash) + getDescriptorForType().hashCode(); - if (hasCallId()) { - hash = (37 * hash) + CALLID_FIELD_NUMBER; - hash = (53 * hash) + getCallId(); - } - if (hasTinfo()) { - hash = (37 * hash) + TINFO_FIELD_NUMBER; - hash = (53 * hash) + getTinfo().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - return hash; - } - - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return newBuilder().mergeFrom(data).buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return newBuilder().mergeFrom(data, extensionRegistry) - .buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return newBuilder().mergeFrom(data).buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return newBuilder().mergeFrom(data, extensionRegistry) - .buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom(java.io.InputStream input) - throws java.io.IOException { - return newBuilder().mergeFrom(input).buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return newBuilder().mergeFrom(input, extensionRegistry) - .buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - Builder builder = newBuilder(); - if (builder.mergeDelimitedFrom(input)) { - return builder.buildParsed(); - } else { - return null; - } - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - Builder builder = newBuilder(); - if (builder.mergeDelimitedFrom(input, extensionRegistry)) { - return builder.buildParsed(); - } else { - return null; - } - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return newBuilder().mergeFrom(input).buildParsed(); - } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return newBuilder().mergeFrom(input, extensionRegistry) - .buildParsed(); - } - - public static Builder newBuilder() { return Builder.create(); } - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader prototype) { - return newBuilder().mergeFrom(prototype); - } - public Builder toBuilder() { return newBuilder(this); } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeaderOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_fieldAccessorTable; - } - - // Construct using org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder(BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - getTinfoFieldBuilder(); - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - callId_ = 0; - bitField0_ = (bitField0_ & ~0x00000001); - if (tinfoBuilder_ == null) { - tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); - } else { - tinfoBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000002); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDescriptor(); - } - - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader getDefaultInstanceForType() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDefaultInstance(); - } - - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader build() { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - private org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader buildParsed() - throws com.google.protobuf.InvalidProtocolBufferException { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException( - result).asInvalidProtocolBufferException(); - } - return result; - } - - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader buildPartial() { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = new org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.callId_ = callId_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - if (tinfoBuilder_ == null) { - result.tinfo_ = tinfo_; - } else { - result.tinfo_ = tinfoBuilder_.build(); - } - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader) { - return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader other) { - if (other == org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDefaultInstance()) return this; - if (other.hasCallId()) { - setCallId(other.getCallId()); - } - if (other.hasTinfo()) { - mergeTinfo(other.getTinfo()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - if (!hasCallId()) { - - return false; - } - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder( - this.getUnknownFields()); - while (true) { - int tag = input.readTag(); - switch (tag) { - case 0: - this.setUnknownFields(unknownFields.build()); - onChanged(); - return this; - default: { - if (!parseUnknownField(input, unknownFields, - extensionRegistry, tag)) { - this.setUnknownFields(unknownFields.build()); - onChanged(); - return this; - } - break; - } - case 8: { - bitField0_ |= 0x00000001; - callId_ = input.readUInt32(); - break; - } - case 18: { - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder subBuilder = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.newBuilder(); - if (hasTinfo()) { - subBuilder.mergeFrom(getTinfo()); - } - input.readMessage(subBuilder, extensionRegistry); - setTinfo(subBuilder.buildPartial()); - break; - } - } - } - } - - private int bitField0_; - - // required uint32 callId = 1; - private int callId_ ; - public boolean hasCallId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - public int getCallId() { - return callId_; - } - public Builder setCallId(int value) { - bitField0_ |= 0x00000001; - callId_ = value; - onChanged(); - return this; - } - public Builder clearCallId() { - bitField0_ = (bitField0_ & ~0x00000001); - callId_ = 0; - onChanged(); - return this; - } - - // optional .RPCTInfo tinfo = 2; - private org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); - private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder> tinfoBuilder_; - public boolean hasTinfo() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo getTinfo() { - if (tinfoBuilder_ == null) { - return tinfo_; - } else { - return tinfoBuilder_.getMessage(); - } - } - public Builder setTinfo(org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo value) { - if (tinfoBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - tinfo_ = value; - onChanged(); - } else { - tinfoBuilder_.setMessage(value); - } - bitField0_ |= 0x00000002; - return this; - } - public Builder setTinfo( - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder builderForValue) { - if (tinfoBuilder_ == null) { - tinfo_ = builderForValue.build(); - onChanged(); - } else { - tinfoBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000002; - return this; - } - public Builder mergeTinfo(org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo value) { - if (tinfoBuilder_ == null) { - if (((bitField0_ & 0x00000002) == 0x00000002) && - tinfo_ != org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance()) { - tinfo_ = - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.newBuilder(tinfo_).mergeFrom(value).buildPartial(); - } else { - tinfo_ = value; - } - onChanged(); - } else { - tinfoBuilder_.mergeFrom(value); - } - bitField0_ |= 0x00000002; - return this; - } - public Builder clearTinfo() { - if (tinfoBuilder_ == null) { - tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); - onChanged(); - } else { - tinfoBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000002); - return this; - } - public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder getTinfoBuilder() { - bitField0_ |= 0x00000002; - onChanged(); - return getTinfoFieldBuilder().getBuilder(); - } - public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder getTinfoOrBuilder() { - if (tinfoBuilder_ != null) { - return tinfoBuilder_.getMessageOrBuilder(); - } else { - return tinfo_; - } - } - private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder> - getTinfoFieldBuilder() { - if (tinfoBuilder_ == null) { - tinfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder>( - tinfo_, - getParentForChildren(), - isClean()); - tinfo_ = null; - } - return tinfoBuilder_; - } - - // @@protoc_insertion_point(builder_scope:RpcRequestHeader) - } - static { - defaultInstance = new RpcRequestHeader(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:RpcRequestHeader) - } - - public interface RpcRequestBodyOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // required string methodName = 1; + // required string methodName = 3; boolean hasMethodName(); String getMethodName(); - // optional uint64 clientProtocolVersion = 2; - boolean hasClientProtocolVersion(); - long getClientProtocolVersion(); - - // optional bytes request = 3; - boolean hasRequest(); - com.google.protobuf.ByteString getRequest(); - // optional string requestClassName = 4; boolean hasRequestClassName(); String getRequestClassName(); + + // optional uint64 clientProtocolVersion = 5; + boolean hasClientProtocolVersion(); + long getClientProtocolVersion(); } - public static final class RpcRequestBody extends + public static final class RpcRequestHeader extends com.google.protobuf.GeneratedMessage - implements RpcRequestBodyOrBuilder { - // Use RpcRequestBody.newBuilder() to construct. - private RpcRequestBody(Builder builder) { + implements RpcRequestHeaderOrBuilder { + // Use RpcRequestHeader.newBuilder() to construct. + private RpcRequestHeader(Builder builder) { super(builder); } - private RpcRequestBody(boolean noInit) {} + private RpcRequestHeader(boolean noInit) {} - private static final RpcRequestBody defaultInstance; - public static RpcRequestBody getDefaultInstance() { + private static final RpcRequestHeader defaultInstance; + public static RpcRequestHeader getDefaultInstance() { return defaultInstance; } - public RpcRequestBody getDefaultInstanceForType() { + public RpcRequestHeader getDefaultInstanceForType() { return defaultInstance; } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestBody_descriptor; + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_descriptor; } protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestBody_fieldAccessorTable; + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_fieldAccessorTable; } private int bitField0_; - // required string methodName = 1; - public static final int METHODNAME_FIELD_NUMBER = 1; + // required uint32 callId = 1; + public static final int CALLID_FIELD_NUMBER = 1; + private int callId_; + public boolean hasCallId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public int getCallId() { + return callId_; + } + + // optional .RPCTInfo tinfo = 2; + public static final int TINFO_FIELD_NUMBER = 2; + private org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo tinfo_; + public boolean hasTinfo() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo getTinfo() { + return tinfo_; + } + public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder getTinfoOrBuilder() { + return tinfo_; + } + + // required string methodName = 3; + public static final int METHODNAME_FIELD_NUMBER = 3; private java.lang.Object methodName_; public boolean hasMethodName() { - return ((bitField0_ & 0x00000001) == 0x00000001); + return ((bitField0_ & 0x00000004) == 0x00000004); } public String getMethodName() { java.lang.Object ref = methodName_; @@ -1710,26 +1207,6 @@ public final class RPCProtos { } } - // optional uint64 clientProtocolVersion = 2; - public static final int CLIENTPROTOCOLVERSION_FIELD_NUMBER = 2; - private long clientProtocolVersion_; - public boolean hasClientProtocolVersion() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - public long getClientProtocolVersion() { - return clientProtocolVersion_; - } - - // optional bytes request = 3; - public static final int REQUEST_FIELD_NUMBER = 3; - private com.google.protobuf.ByteString request_; - public boolean hasRequest() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - public com.google.protobuf.ByteString getRequest() { - return request_; - } - // optional string requestClassName = 4; public static final int REQUESTCLASSNAME_FIELD_NUMBER = 4; private java.lang.Object requestClassName_; @@ -1762,17 +1239,32 @@ public final class RPCProtos { } } + // optional uint64 clientProtocolVersion = 5; + public static final int CLIENTPROTOCOLVERSION_FIELD_NUMBER = 5; + private long clientProtocolVersion_; + public boolean hasClientProtocolVersion() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + public long getClientProtocolVersion() { + return clientProtocolVersion_; + } + private void initFields() { + callId_ = 0; + tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); methodName_ = ""; - clientProtocolVersion_ = 0L; - request_ = com.google.protobuf.ByteString.EMPTY; requestClassName_ = ""; + clientProtocolVersion_ = 0L; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized != -1) return isInitialized == 1; + if (!hasCallId()) { + memoizedIsInitialized = 0; + return false; + } if (!hasMethodName()) { memoizedIsInitialized = 0; return false; @@ -1785,17 +1277,20 @@ public final class RPCProtos { throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, getMethodNameBytes()); + output.writeUInt32(1, callId_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeUInt64(2, clientProtocolVersion_); + output.writeMessage(2, tinfo_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBytes(3, request_); + output.writeBytes(3, getMethodNameBytes()); } if (((bitField0_ & 0x00000008) == 0x00000008)) { output.writeBytes(4, getRequestClassNameBytes()); } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeUInt64(5, clientProtocolVersion_); + } getUnknownFields().writeTo(output); } @@ -1807,20 +1302,24 @@ public final class RPCProtos { size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(1, getMethodNameBytes()); + .computeUInt32Size(1, callId_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(2, clientProtocolVersion_); + .computeMessageSize(2, tinfo_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, request_); + .computeBytesSize(3, getMethodNameBytes()); } if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(4, getRequestClassNameBytes()); } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(5, clientProtocolVersion_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -1838,32 +1337,37 @@ public final class RPCProtos { if (obj == this) { return true; } - if (!(obj instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody)) { + if (!(obj instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader)) { return super.equals(obj); } - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody other = (org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody) obj; + org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader other = (org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader) obj; boolean result = true; + result = result && (hasCallId() == other.hasCallId()); + if (hasCallId()) { + result = result && (getCallId() + == other.getCallId()); + } + result = result && (hasTinfo() == other.hasTinfo()); + if (hasTinfo()) { + result = result && getTinfo() + .equals(other.getTinfo()); + } result = result && (hasMethodName() == other.hasMethodName()); if (hasMethodName()) { result = result && getMethodName() .equals(other.getMethodName()); } - result = result && (hasClientProtocolVersion() == other.hasClientProtocolVersion()); - if (hasClientProtocolVersion()) { - result = result && (getClientProtocolVersion() - == other.getClientProtocolVersion()); - } - result = result && (hasRequest() == other.hasRequest()); - if (hasRequest()) { - result = result && getRequest() - .equals(other.getRequest()); - } result = result && (hasRequestClassName() == other.hasRequestClassName()); if (hasRequestClassName()) { result = result && getRequestClassName() .equals(other.getRequestClassName()); } + result = result && (hasClientProtocolVersion() == other.hasClientProtocolVersion()); + if (hasClientProtocolVersion()) { + result = result && (getClientProtocolVersion() + == other.getClientProtocolVersion()); + } result = result && getUnknownFields().equals(other.getUnknownFields()); return result; @@ -1873,61 +1377,65 @@ public final class RPCProtos { public int hashCode() { int hash = 41; hash = (19 * hash) + getDescriptorForType().hashCode(); + if (hasCallId()) { + hash = (37 * hash) + CALLID_FIELD_NUMBER; + hash = (53 * hash) + getCallId(); + } + if (hasTinfo()) { + hash = (37 * hash) + TINFO_FIELD_NUMBER; + hash = (53 * hash) + getTinfo().hashCode(); + } if (hasMethodName()) { hash = (37 * hash) + METHODNAME_FIELD_NUMBER; hash = (53 * hash) + getMethodName().hashCode(); } - if (hasClientProtocolVersion()) { - hash = (37 * hash) + CLIENTPROTOCOLVERSION_FIELD_NUMBER; - hash = (53 * hash) + hashLong(getClientProtocolVersion()); - } - if (hasRequest()) { - hash = (37 * hash) + REQUEST_FIELD_NUMBER; - hash = (53 * hash) + getRequest().hashCode(); - } if (hasRequestClassName()) { hash = (37 * hash) + REQUESTCLASSNAME_FIELD_NUMBER; hash = (53 * hash) + getRequestClassName().hashCode(); } + if (hasClientProtocolVersion()) { + hash = (37 * hash) + CLIENTPROTOCOLVERSION_FIELD_NUMBER; + hash = (53 * hash) + hashLong(getClientProtocolVersion()); + } hash = (29 * hash) + getUnknownFields().hashCode(); return hash; } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return newBuilder().mergeFrom(data).buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return newBuilder().mergeFrom(data, extensionRegistry) .buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom(byte[] data) + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return newBuilder().mergeFrom(data).buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return newBuilder().mergeFrom(data, extensionRegistry) .buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom(java.io.InputStream input) + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom(java.io.InputStream input) throws java.io.IOException { return newBuilder().mergeFrom(input).buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return newBuilder().mergeFrom(input, extensionRegistry) .buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseDelimitedFrom(java.io.InputStream input) + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { Builder builder = newBuilder(); if (builder.mergeDelimitedFrom(input)) { @@ -1936,7 +1444,7 @@ public final class RPCProtos { return null; } } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseDelimitedFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1947,12 +1455,12 @@ public final class RPCProtos { return null; } } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return newBuilder().mergeFrom(input).buildParsed(); } - public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody parseFrom( + public static org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1962,7 +1470,7 @@ public final class RPCProtos { public static Builder newBuilder() { return Builder.create(); } public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody prototype) { + public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); } @@ -1975,18 +1483,18 @@ public final class RPCProtos { } public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder - implements org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBodyOrBuilder { + implements org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeaderOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestBody_descriptor; + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_descriptor; } protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestBody_fieldAccessorTable; + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.internal_static_RpcRequestHeader_fieldAccessorTable; } - // Construct using org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.newBuilder() + // Construct using org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -1997,6 +1505,7 @@ public final class RPCProtos { } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getTinfoFieldBuilder(); } } private static Builder create() { @@ -2005,14 +1514,20 @@ public final class RPCProtos { public Builder clear() { super.clear(); - methodName_ = ""; + callId_ = 0; bitField0_ = (bitField0_ & ~0x00000001); - clientProtocolVersion_ = 0L; + if (tinfoBuilder_ == null) { + tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); + } else { + tinfoBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000002); - request_ = com.google.protobuf.ByteString.EMPTY; + methodName_ = ""; bitField0_ = (bitField0_ & ~0x00000004); requestClassName_ = ""; bitField0_ = (bitField0_ & ~0x00000008); + clientProtocolVersion_ = 0L; + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -2022,24 +1537,24 @@ public final class RPCProtos { public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.getDescriptor(); + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDescriptor(); } - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody getDefaultInstanceForType() { - return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.getDefaultInstance(); + public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader getDefaultInstanceForType() { + return org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDefaultInstance(); } - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody build() { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody result = buildPartial(); + public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader build() { + org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - private org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody buildParsed() + private org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody result = buildPartial(); + org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); @@ -2047,59 +1562,74 @@ public final class RPCProtos { return result; } - public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody buildPartial() { - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody result = new org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody(this); + public org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader buildPartial() { + org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader result = new org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } - result.methodName_ = methodName_; + result.callId_ = callId_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } - result.clientProtocolVersion_ = clientProtocolVersion_; + if (tinfoBuilder_ == null) { + result.tinfo_ = tinfo_; + } else { + result.tinfo_ = tinfoBuilder_.build(); + } if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } - result.request_ = request_; + result.methodName_ = methodName_; if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } result.requestClassName_ = requestClassName_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.clientProtocolVersion_ = clientProtocolVersion_; result.bitField0_ = to_bitField0_; onBuilt(); return result; } public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody) { - return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody)other); + if (other instanceof org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader) { + return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody other) { - if (other == org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.getDefaultInstance()) return this; - if (other.hasMethodName()) { - setMethodName(other.getMethodName()); + public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader other) { + if (other == org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.getDefaultInstance()) return this; + if (other.hasCallId()) { + setCallId(other.getCallId()); } - if (other.hasClientProtocolVersion()) { - setClientProtocolVersion(other.getClientProtocolVersion()); + if (other.hasTinfo()) { + mergeTinfo(other.getTinfo()); } - if (other.hasRequest()) { - setRequest(other.getRequest()); + if (other.hasMethodName()) { + setMethodName(other.getMethodName()); } if (other.hasRequestClassName()) { setRequestClassName(other.getRequestClassName()); } + if (other.hasClientProtocolVersion()) { + setClientProtocolVersion(other.getClientProtocolVersion()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } public final boolean isInitialized() { + if (!hasCallId()) { + + return false; + } if (!hasMethodName()) { return false; @@ -2130,19 +1660,23 @@ public final class RPCProtos { } break; } - case 10: { + case 8: { bitField0_ |= 0x00000001; - methodName_ = input.readBytes(); + callId_ = input.readUInt32(); break; } - case 16: { - bitField0_ |= 0x00000002; - clientProtocolVersion_ = input.readUInt64(); + case 18: { + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder subBuilder = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.newBuilder(); + if (hasTinfo()) { + subBuilder.mergeFrom(getTinfo()); + } + input.readMessage(subBuilder, extensionRegistry); + setTinfo(subBuilder.buildPartial()); break; } case 26: { bitField0_ |= 0x00000004; - request_ = input.readBytes(); + methodName_ = input.readBytes(); break; } case 34: { @@ -2150,92 +1684,163 @@ public final class RPCProtos { requestClassName_ = input.readBytes(); break; } + case 40: { + bitField0_ |= 0x00000010; + clientProtocolVersion_ = input.readUInt64(); + break; + } } } } private int bitField0_; - // required string methodName = 1; - private java.lang.Object methodName_ = ""; - public boolean hasMethodName() { + // required uint32 callId = 1; + private int callId_ ; + public boolean hasCallId() { return ((bitField0_ & 0x00000001) == 0x00000001); } - public String getMethodName() { - java.lang.Object ref = methodName_; - if (!(ref instanceof String)) { - String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); - methodName_ = s; - return s; - } else { - return (String) ref; - } + public int getCallId() { + return callId_; } - public Builder setMethodName(String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - methodName_ = value; + public Builder setCallId(int value) { + bitField0_ |= 0x00000001; + callId_ = value; onChanged(); return this; } - public Builder clearMethodName() { + public Builder clearCallId() { bitField0_ = (bitField0_ & ~0x00000001); - methodName_ = getDefaultInstance().getMethodName(); + callId_ = 0; onChanged(); return this; } - void setMethodName(com.google.protobuf.ByteString value) { - bitField0_ |= 0x00000001; - methodName_ = value; - onChanged(); - } - // optional uint64 clientProtocolVersion = 2; - private long clientProtocolVersion_ ; - public boolean hasClientProtocolVersion() { + // optional .RPCTInfo tinfo = 2; + private org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder> tinfoBuilder_; + public boolean hasTinfo() { return ((bitField0_ & 0x00000002) == 0x00000002); } - public long getClientProtocolVersion() { - return clientProtocolVersion_; + public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo getTinfo() { + if (tinfoBuilder_ == null) { + return tinfo_; + } else { + return tinfoBuilder_.getMessage(); + } } - public Builder setClientProtocolVersion(long value) { + public Builder setTinfo(org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo value) { + if (tinfoBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + tinfo_ = value; + onChanged(); + } else { + tinfoBuilder_.setMessage(value); + } bitField0_ |= 0x00000002; - clientProtocolVersion_ = value; - onChanged(); return this; } - public Builder clearClientProtocolVersion() { + public Builder setTinfo( + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder builderForValue) { + if (tinfoBuilder_ == null) { + tinfo_ = builderForValue.build(); + onChanged(); + } else { + tinfoBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + public Builder mergeTinfo(org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo value) { + if (tinfoBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + tinfo_ != org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance()) { + tinfo_ = + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.newBuilder(tinfo_).mergeFrom(value).buildPartial(); + } else { + tinfo_ = value; + } + onChanged(); + } else { + tinfoBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + public Builder clearTinfo() { + if (tinfoBuilder_ == null) { + tinfo_ = org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.getDefaultInstance(); + onChanged(); + } else { + tinfoBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000002); - clientProtocolVersion_ = 0L; - onChanged(); return this; } + public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder getTinfoBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getTinfoFieldBuilder().getBuilder(); + } + public org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder getTinfoOrBuilder() { + if (tinfoBuilder_ != null) { + return tinfoBuilder_.getMessageOrBuilder(); + } else { + return tinfo_; + } + } + private com.google.protobuf.SingleFieldBuilder< + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder> + getTinfoFieldBuilder() { + if (tinfoBuilder_ == null) { + tinfoBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfo.Builder, org.apache.hadoop.hbase.protobuf.generated.Tracing.RPCTInfoOrBuilder>( + tinfo_, + getParentForChildren(), + isClean()); + tinfo_ = null; + } + return tinfoBuilder_; + } - // optional bytes request = 3; - private com.google.protobuf.ByteString request_ = com.google.protobuf.ByteString.EMPTY; - public boolean hasRequest() { + // required string methodName = 3; + private java.lang.Object methodName_ = ""; + public boolean hasMethodName() { return ((bitField0_ & 0x00000004) == 0x00000004); } - public com.google.protobuf.ByteString getRequest() { - return request_; + public String getMethodName() { + java.lang.Object ref = methodName_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + methodName_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setRequest(com.google.protobuf.ByteString value) { + public Builder setMethodName(String value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000004; - request_ = value; + methodName_ = value; onChanged(); return this; } - public Builder clearRequest() { + public Builder clearMethodName() { bitField0_ = (bitField0_ & ~0x00000004); - request_ = getDefaultInstance().getRequest(); + methodName_ = getDefaultInstance().getMethodName(); onChanged(); return this; } + void setMethodName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000004; + methodName_ = value; + onChanged(); + } // optional string requestClassName = 4; private java.lang.Object requestClassName_ = ""; @@ -2273,15 +1878,36 @@ public final class RPCProtos { onChanged(); } - // @@protoc_insertion_point(builder_scope:RpcRequestBody) + // optional uint64 clientProtocolVersion = 5; + private long clientProtocolVersion_ ; + public boolean hasClientProtocolVersion() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + public long getClientProtocolVersion() { + return clientProtocolVersion_; + } + public Builder setClientProtocolVersion(long value) { + bitField0_ |= 0x00000010; + clientProtocolVersion_ = value; + onChanged(); + return this; + } + public Builder clearClientProtocolVersion() { + bitField0_ = (bitField0_ & ~0x00000010); + clientProtocolVersion_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:RpcRequestHeader) } static { - defaultInstance = new RpcRequestBody(true); + defaultInstance = new RpcRequestHeader(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:RpcRequestBody) + // @@protoc_insertion_point(class_scope:RpcRequestHeader) } public interface RpcResponseHeaderOrBuilder @@ -3727,11 +3353,6 @@ public final class RPCProtos { com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_RpcRequestHeader_fieldAccessorTable; private static com.google.protobuf.Descriptors.Descriptor - internal_static_RpcRequestBody_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_RpcRequestBody_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor internal_static_RpcResponseHeader_descriptor; private static com.google.protobuf.GeneratedMessage.FieldAccessorTable @@ -3760,18 +3381,17 @@ public final class RPCProtos { "\030\002 \001(\t\"w\n\020ConnectionHeader\022\"\n\010userInfo\030\001" + " \001(\0132\020.UserInformation\022?\n\010protocol\030\002 \001(\t" + ":-org.apache.hadoop.hbase.client.ClientP" + - "rotocol\"<\n\020RpcRequestHeader\022\016\n\006callId\030\001 " + - "\002(\r\022\030\n\005tinfo\030\002 \001(\0132\t.RPCTInfo\"n\n\016RpcRequ" + - "estBody\022\022\n\nmethodName\030\001 \002(\t\022\035\n\025clientPro" + - "tocolVersion\030\002 \001(\004\022\017\n\007request\030\003 \001(\014\022\030\n\020r" + - "equestClassName\030\004 \001(\t\"{\n\021RpcResponseHead", - "er\022\016\n\006callId\030\001 \002(\r\022)\n\006status\030\002 \002(\0162\031.Rpc" + - "ResponseHeader.Status\"+\n\006Status\022\013\n\007SUCCE" + - "SS\020\000\022\t\n\005ERROR\020\001\022\t\n\005FATAL\020\002\"#\n\017RpcRespons" + - "eBody\022\020\n\010response\030\001 \001(\014\"9\n\014RpcException\022" + - "\025\n\rexceptionName\030\001 \002(\t\022\022\n\nstackTrace\030\002 \001" + - "(\tB<\n*org.apache.hadoop.hbase.protobuf.g" + - "eneratedB\tRPCProtosH\001\240\001\001" + "rotocol\"\211\001\n\020RpcRequestHeader\022\016\n\006callId\030\001" + + " \002(\r\022\030\n\005tinfo\030\002 \001(\0132\t.RPCTInfo\022\022\n\nmethod" + + "Name\030\003 \002(\t\022\030\n\020requestClassName\030\004 \001(\t\022\035\n\025" + + "clientProtocolVersion\030\005 \001(\004\"{\n\021RpcRespon" + + "seHeader\022\016\n\006callId\030\001 \002(\r\022)\n\006status\030\002 \002(\016", + "2\031.RpcResponseHeader.Status\"+\n\006Status\022\013\n" + + "\007SUCCESS\020\000\022\t\n\005ERROR\020\001\022\t\n\005FATAL\020\002\"#\n\017RpcR" + + "esponseBody\022\020\n\010response\030\001 \001(\014\"9\n\014RpcExce" + + "ption\022\025\n\rexceptionName\030\001 \002(\t\022\022\n\nstackTra" + + "ce\030\002 \001(\tB<\n*org.apache.hadoop.hbase.prot" + + "obuf.generatedB\tRPCProtosH\001\240\001\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -3799,19 +3419,11 @@ public final class RPCProtos { internal_static_RpcRequestHeader_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_RpcRequestHeader_descriptor, - new java.lang.String[] { "CallId", "Tinfo", }, + new java.lang.String[] { "CallId", "Tinfo", "MethodName", "RequestClassName", "ClientProtocolVersion", }, org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.class, org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader.Builder.class); - internal_static_RpcRequestBody_descriptor = - getDescriptor().getMessageTypes().get(3); - internal_static_RpcRequestBody_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_RpcRequestBody_descriptor, - new java.lang.String[] { "MethodName", "ClientProtocolVersion", "Request", "RequestClassName", }, - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.class, - org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody.Builder.class); internal_static_RpcResponseHeader_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(3); internal_static_RpcResponseHeader_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_RpcResponseHeader_descriptor, @@ -3819,7 +3431,7 @@ public final class RPCProtos { org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseHeader.class, org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseHeader.Builder.class); internal_static_RpcResponseBody_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(4); internal_static_RpcResponseBody_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_RpcResponseBody_descriptor, @@ -3827,7 +3439,7 @@ public final class RPCProtos { org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseBody.class, org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseBody.Builder.class); internal_static_RpcException_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(5); internal_static_RpcException_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_RpcException_descriptor, diff --git a/hbase-protocol/src/main/protobuf/RPC.proto b/hbase-protocol/src/main/protobuf/RPC.proto index bdd31d2..49f8b3c 100644 --- a/hbase-protocol/src/main/protobuf/RPC.proto +++ b/hbase-protocol/src/main/protobuf/RPC.proto @@ -78,27 +78,15 @@ message RpcRequestHeader { /** Monotonically increasing callId, mostly to keep track of RPCs */ required uint32 callId = 1; optional RPCTInfo tinfo = 2; -} -/** - * The RPC request body - */ -message RpcRequestBody { /** Name of the RPC method */ - required string methodName = 1; - - /** protocol version of class declaring the called method */ - optional uint64 clientProtocolVersion = 2; - - /** Bytes corresponding to the client protobuf request. This is the actual - * bytes corresponding to the RPC request argument. - */ - optional bytes request = 3; - + required string methodName = 3; /** Some metainfo about the request. Helps us to treat RPCs with * different priorities. For now this is just the classname of the request * proto object. */ optional string requestClassName = 4; + /** protocol version of class declaring the called method */ + optional uint64 clientProtocolVersion = 5; } /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java index b770354..ee52c63 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java @@ -57,7 +57,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcException; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseBody; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseHeader; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseHeader.Status; @@ -88,6 +87,7 @@ import org.apache.hadoop.security.token.TokenSelector; import org.cloudera.htrace.Span; import org.cloudera.htrace.Trace; +import com.google.protobuf.CodedInputStream; import com.google.protobuf.CodedOutputStream; import com.google.protobuf.Message; import com.google.protobuf.Message.Builder; @@ -261,14 +261,14 @@ public class HBaseClient { /** A call waiting for a value. */ protected class Call { final int id; // call id - final RpcRequestBody param; // rpc request object + ClientSideRpcRequest rpcRequest; Message value; // value, null if error IOException error; // exception, null if value boolean done; // true when call is done long startTime; - protected Call(RpcRequestBody param) { - this.param = param; + protected Call(ClientSideRpcRequest rpcRequest) { + this.rpcRequest = rpcRequest; this.startTime = System.currentTimeMillis(); synchronized (HBaseClient.this) { this.id = counter++; @@ -937,6 +937,9 @@ public class HBaseClient { RpcRequestHeader.Builder headerBuilder = RPCProtos.RpcRequestHeader.newBuilder(); headerBuilder.setCallId(call.id); + headerBuilder.setMethodName(call.rpcRequest.methodName); + headerBuilder.setRequestClassName(call.rpcRequest.requestClassName); + headerBuilder.setClientProtocolVersion(call.rpcRequest.clientProtocolVersion); if (Trace.isTracing()) { Span s = Trace.currentTrace(); @@ -949,13 +952,16 @@ public class HBaseClient { synchronized (this.out) { // FindBugs IS2_INCONSISTENT_SYNC RpcRequestHeader header = headerBuilder.build(); int serializedHeaderSize = header.getSerializedSize(); - int requestSerializedSize = call.param.getSerializedSize(); + int requestSerializedSize = call.rpcRequest.requestArg.getSerializedSize(); this.out.writeInt(serializedHeaderSize + CodedOutputStream.computeRawVarint32Size(serializedHeaderSize) + requestSerializedSize + CodedOutputStream.computeRawVarint32Size(requestSerializedSize)); header.writeDelimitedTo(this.out); - call.param.writeDelimitedTo(this.out); + CodedOutputStream cos = CodedOutputStream.newInstance(out,1); + cos.writeRawVarint32(call.rpcRequest.requestArg.getSerializedSize()); + call.rpcRequest.requestArg.writeTo(cos); + cos.flush(); this.out.flush(); } } catch(IOException e) { @@ -963,7 +969,6 @@ public class HBaseClient { } } - private Method getMethod(Class protocol, String methodName) { Method method = methodInstances.get(methodName); @@ -1014,11 +1019,12 @@ public class HBaseClient { try { rpcResponseType = ProtobufRpcClientEngine.Invoker.getReturnProtoType( getMethod(remoteId.getProtocol(), - call.param.getMethodName())); + call.rpcRequest.methodName)); } catch (Exception e) { throw new RuntimeException(e); //local exception } Builder builder = rpcResponseType.newBuilderForType(); + CodedInputStream cin = CodedInputStream.newInstance(in); builder.mergeDelimitedFrom(in); Message value = builder.build(); // it's possible that this call may have been cleaned up due to a RPC @@ -1132,7 +1138,7 @@ public class HBaseClient { private final ParallelResults results; protected final int index; - public ParallelCall(RpcRequestBody param, ParallelResults results, int index) { + public ParallelCall(ClientSideRpcRequest param, ParallelResults results, int index) { super(param); this.results = results; this.index = index; @@ -1275,12 +1281,12 @@ public class HBaseClient { * @return Message * @throws IOException e */ - public Message call(RpcRequestBody param, InetSocketAddress address) + public Message call(ClientSideRpcRequest param, InetSocketAddress address) throws IOException, InterruptedException { return call(param, address, null, 0); } - public Message call(RpcRequestBody param, InetSocketAddress addr, + public Message call(ClientSideRpcRequest param, InetSocketAddress addr, User ticket, int rpcTimeout) throws IOException, InterruptedException { return call(param, addr, null, ticket, rpcTimeout); @@ -1291,7 +1297,7 @@ public class HBaseClient { * with the ticket credentials, returning the value. * Throws exceptions if there are network problems or if the remote code * threw an exception. */ - public Message call(RpcRequestBody param, InetSocketAddress addr, + public Message call(ClientSideRpcRequest param, InetSocketAddress addr, Class protocol, User ticket, int rpcTimeout) throws InterruptedException, IOException { @@ -1370,7 +1376,7 @@ public class HBaseClient { * @deprecated Use {@code #call(RpcRequestBody[], InetSocketAddress[], Class, User)} instead */ @Deprecated - public Message[] call(RpcRequestBody[] params, InetSocketAddress[] addresses) + public Message[] call(ClientSideRpcRequest[] params, InetSocketAddress[] addresses) throws IOException, InterruptedException { return call(params, addresses, null, null); } @@ -1379,7 +1385,7 @@ public class HBaseClient { * corresponding address. When all values are available, or have timed out * or errored, the collected results are returned in an array. The array * contains nulls for calls that timed out or errored. */ - public Message[] call(RpcRequestBody[] params, InetSocketAddress[] addresses, + public Message[] call(ClientSideRpcRequest[] params, InetSocketAddress[] addresses, Class protocol, User ticket) throws IOException, InterruptedException { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java index 884db91..f6331eb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java @@ -26,6 +26,7 @@ import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import java.io.InputStream; import java.net.BindException; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -70,7 +71,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcException; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcResponseHeader; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation; @@ -85,11 +85,13 @@ import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandle import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslStatus; import org.apache.hadoop.hbase.util.ByteBufferOutputStream; import org.apache.hadoop.io.BytesWritable; +import org.apache.hadoop.io.DataInputBuffer; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableUtils; import org.apache.hadoop.ipc.Server; import org.apache.hadoop.ipc.RPC.VersionMismatch; +import org.apache.hadoop.record.Buffer; import org.apache.hadoop.security.AccessControlException; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod; @@ -103,6 +105,8 @@ import org.apache.hadoop.util.StringUtils; import com.google.common.base.Function; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.google.protobuf.CodedInputStream; +import com.google.protobuf.CodedOutputStream; import com.google.protobuf.Message; import org.cliffc.high_scale_lib.Counter; @@ -315,7 +319,7 @@ public abstract class HBaseServer implements RpcServer { /** A call queued for handling. */ protected class Call implements RpcCallContext { protected int id; // the client's call id - protected RpcRequestBody rpcRequestBody; // the parameter passed + protected ServerSideRpcRequest rpcRequest; // the parameter passed protected Connection connection; // connection to client protected long timestamp; // the time received when response is null // the time served when response is not null @@ -328,10 +332,21 @@ public abstract class HBaseServer implements RpcServer { protected boolean isError; protected TraceInfo tinfo; - public Call(int id, RpcRequestBody rpcRequestBody, Connection connection, + public Call(ServerSideRpcRequest rpcRequest, Connection connection, + Responder responder, long size, TraceInfo tinfo) { + this.rpcRequest = rpcRequest; + this.id = rpcRequest.header.getCallId(); + setFields(connection, responder, size, tinfo); + } + + public Call(int id, Connection connection, Responder responder, long size, TraceInfo tinfo) { this.id = id; - this.rpcRequestBody = rpcRequestBody; + setFields(connection, responder, size, tinfo); + } + + private void setFields(Connection connection, Responder responder, + long size, TraceInfo tinfo) { this.connection = connection; this.timestamp = System.currentTimeMillis(); this.response = null; @@ -344,7 +359,7 @@ public abstract class HBaseServer implements RpcServer { @Override public String toString() { - return rpcRequestBody.toString() + " from " + connection.toString(); + return rpcRequest.toString() + " from " + connection.toString(); } protected synchronized void setSaslTokenResponse(ByteBuffer response) { @@ -379,7 +394,10 @@ public abstract class HBaseServer implements RpcServer { b.build().writeDelimitedTo(out); } else { if (value != null) { - ((Message)value).writeDelimitedTo(out); + CodedOutputStream cos = CodedOutputStream.newInstance(out,1); + cos.writeRawVarint32(((Message)value).getSerializedSize()); + ((Message)value).writeTo(cos); + cos.flush(); } } if (connection.useWrap) { @@ -1134,12 +1152,12 @@ public abstract class HBaseServer implements RpcServer { // Fake 'call' for failed authorization response private static final int AUTHROIZATION_FAILED_CALLID = -1; private final Call authFailedCall = new Call(AUTHROIZATION_FAILED_CALLID, - null, this, null, 0, null); + this, null, 0, null); private ByteArrayOutputStream authFailedResponse = new ByteArrayOutputStream(); // Fake 'call' for SASL context setup private static final int SASL_CALLID = -33; - private final Call saslCall = new Call(SASL_CALLID, null, this, null, 0, + private final Call saslCall = new Call(SASL_CALLID, this, null, 0, null); public UserGroupInformation attemptingUser = null; // user name before auth @@ -1488,7 +1506,7 @@ public abstract class HBaseServer implements RpcServer { // we return 0 which will keep the socket up -- bad clients, unless // they switch to suit the running server -- will fail later doing // getProtocolVersion. - Call fakeCall = new Call(0, null, this, responder, 0, null); + Call fakeCall = new Call(0, this, responder, 0, null); // Versions 3 and greater can interpret this exception // response in the same manner setupResponse(buffer, fakeCall, Status.FATAL, @@ -1602,7 +1620,9 @@ public abstract class HBaseServer implements RpcServer { protected void processData(byte[] buf) throws IOException, InterruptedException { DataInputStream dis = new DataInputStream(new ByteArrayInputStream(buf)); + int totalLength = dis.available(); RpcRequestHeader request = RpcRequestHeader.parseDelimitedFrom(dis); + int lengthAfterHeaderRead = dis.available(); int id = request.getCallId(); long callSize = buf.length; @@ -1612,7 +1632,7 @@ public abstract class HBaseServer implements RpcServer { } // Enforcing the call queue size, this triggers a retry in the client if ((callSize + callQueueSize.get()) > maxQueueSize) { - final Call callTooBig = new Call(id, null, this, responder, callSize, + final Call callTooBig = new Call(id, this, responder, callSize, null); ByteArrayOutputStream responseBuffer = new ByteArrayOutputStream(); setupResponse(responseBuffer, callTooBig, Status.FATAL, @@ -1621,14 +1641,14 @@ public abstract class HBaseServer implements RpcServer { responder.doRespond(callTooBig); return; } - - RpcRequestBody rpcRequestBody; + ServerSideRpcRequest rpcRequestBody; try { - rpcRequestBody = RpcRequestBody.parseDelimitedFrom(dis); + rpcRequestBody = ServerSideRpcRequest.constructRpcRequestOnServer(request, buf, + totalLength - lengthAfterHeaderRead, lengthAfterHeaderRead); } catch (Throwable t) { LOG.warn("Unable to read call parameters for client " + getHostAddress(), t); - final Call readParamsFailedCall = new Call(id, null, this, responder, + final Call readParamsFailedCall = new Call(id, this, responder, callSize, null); ByteArrayOutputStream responseBuffer = new ByteArrayOutputStream(); @@ -1641,11 +1661,11 @@ public abstract class HBaseServer implements RpcServer { Call call; if (request.hasTinfo()) { - call = new Call(id, rpcRequestBody, this, responder, callSize, + call = new Call(rpcRequestBody, this, responder, callSize, new TraceInfo(request.getTinfo().getTraceId(), request.getTinfo() .getParentId())); } else { - call = new Call(id, rpcRequestBody, this, responder, callSize, null); + call = new Call(rpcRequestBody, this, responder, callSize, null); } callQueueSize.add(callSize); @@ -1762,8 +1782,7 @@ public abstract class HBaseServer implements RpcServer { call.connection.getRemotePort()); if (LOG.isDebugEnabled()) - LOG.debug(getName() + ": has #" + call.id + " from " + - call.connection); + LOG.debug(getName() + ": has #" + call.id + " from " + call.connection); String errorClass = null; String error = null; @@ -1791,7 +1810,7 @@ public abstract class HBaseServer implements RpcServer { call.connection.protocol); // make the call - value = call(call.connection.protocol, call.rpcRequestBody, call.timestamp, + value = call(call.connection.protocol, call.rpcRequest, call.timestamp, status); } catch (Throwable e) { LOG.debug(getName()+", call "+call+": error: " + e, e); @@ -1845,7 +1864,7 @@ public abstract class HBaseServer implements RpcServer { } - private Function qosFunction = null; + private Function qosFunction = null; /** * Gets the QOS level for this call. If it is higher than the highPriorityLevel and there @@ -1854,11 +1873,11 @@ public abstract class HBaseServer implements RpcServer { * @param newFunc */ @Override - public void setQosFunction(Function newFunc) { + public void setQosFunction(Function newFunc) { qosFunction = newFunc; } - protected int getQosLevel(RpcRequestBody rpcRequestBody) { + protected int getQosLevel(ServerSideRpcRequest rpcRequestBody) { if (qosFunction == null) { return 0; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java index 46873ab..049fedb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java @@ -24,7 +24,6 @@ import com.google.protobuf.ServiceException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.ipc.RemoteException; @@ -100,31 +99,6 @@ public class ProtobufRpcClientEngine implements RpcClientEngine { } } - private RpcRequestBody constructRpcRequest(Method method, - Object[] params) throws ServiceException { - RpcRequestBody rpcRequest; - RpcRequestBody.Builder builder = RpcRequestBody.newBuilder(); - builder.setMethodName(method.getName()); - Message param; - int length = params.length; - if (length == 2) { - // RpcController + Message in the method args - // (generated code from RPC bits in .proto files have RpcController) - param = (Message)params[1]; - } else if (length == 1) { // Message - param = (Message)params[0]; - } else { - throw new ServiceException("Too many parameters for request. Method: [" - + method.getName() + "]" + ", Expected: 2, Actual: " - + params.length); - } - builder.setRequestClassName(param.getClass().getName()); - builder.setRequest(param.toByteString()); - builder.setClientProtocolVersion(clientProtocolVersion); - rpcRequest = builder.build(); - return rpcRequest; - } - /** * This is the client side invoker of RPC method. It only throws * ServiceException, since the invocation proxy expects only @@ -150,8 +124,21 @@ public class ProtobufRpcClientEngine implements RpcClientEngine { if (LOG.isDebugEnabled()) { startTime = System.currentTimeMillis(); } - - RpcRequestBody rpcRequest = constructRpcRequest(method, args); + Message param; + int length = args.length; + if (length == 2) { + // RpcController + Message in the method args + // (generated code from RPC bits in .proto files have RpcController) + param = (Message)args[1]; + } else if (length == 1) { // Message + param = (Message)args[0]; + } else { + throw new ServiceException("Too many parameters for request. Method: [" + + method.getName() + "]" + ", Expected: 2, Actual: " + + args.length); + } + ClientSideRpcRequest rpcRequest = ClientSideRpcRequest.constructRpcRequest( + param.getClass().getName(),method.getName(),param,clientProtocolVersion); Message val = null; try { val = client.call(rpcRequest, address, protocol, ticket, rpcTimeout); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcServerEngine.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcServerEngine.java index 3317af3..1654f90 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcServerEngine.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcServerEngine.java @@ -33,7 +33,6 @@ import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.client.Operation; import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler; import org.apache.hadoop.hbase.protobuf.ProtobufUtil; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.security.HBasePolicyProvider; import org.apache.hadoop.hbase.security.User; @@ -42,6 +41,7 @@ import org.apache.hadoop.security.authorize.ServiceAuthorizationManager; import org.apache.hadoop.hbase.util.Bytes; import org.codehaus.jackson.map.ObjectMapper; +import com.google.protobuf.CodedInputStream; import com.google.protobuf.Message; import com.google.protobuf.ServiceException; /** @@ -155,7 +155,7 @@ class ProtobufRpcServerEngine implements RpcServerEngine { * exception name and the stack trace are returned in the protobuf response. */ public Message call(Class protocol, - RpcRequestBody rpcRequest, long receiveTime, MonitoredRPCHandler status) + ServerSideRpcRequest rpcRequest, long receiveTime, MonitoredRPCHandler status) throws IOException { try { String methodName = rpcRequest.getMethodName(); @@ -185,13 +185,15 @@ class ProtobufRpcServerEngine implements RpcServerEngine { } status.setRPC(rpcRequest.getMethodName(), - new Object[]{rpcRequest.getRequest()}, receiveTime); - status.setRPCPacket(rpcRequest); + new Object[]{rpcRequest.buf}, receiveTime); + status.setRPCPacket(rpcRequest.buf); status.resume("Servicing call"); //get an instance of the method arg type Message protoType = getMethodArgType(method); - Message param = protoType.newBuilderForType() - .mergeFrom(rpcRequest.getRequest()).build(); + CodedInputStream cis = CodedInputStream.newInstance(rpcRequest.buf, + rpcRequest.offset, rpcRequest.length); + cis.setSizeLimit(cis.readRawVarint32()); + Message param = protoType.newBuilderForType().mergeFrom(cis).build(); Message result; Object impl = null; if (protocol.isAssignableFrom(this.implementation)) { @@ -245,7 +247,7 @@ class ProtobufRpcServerEngine implements RpcServerEngine { buffer.append(param.getClass().getName()); buffer.append(")"); buffer.append(", client version="+clientVersion); - logResponse(new Object[]{rpcRequest.getRequest()}, + logResponse(new Object[]{rpcRequest}, methodName, buffer.toString(), (tooLarge ? "TooLarge" : "TooSlow"), status.getClient(), startTime, processingTime, qTime, responseSize); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java index 50883e9..3ef7c1b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java @@ -24,7 +24,6 @@ import com.google.protobuf.Message; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import java.io.IOException; import java.net.InetSocketAddress; @@ -51,12 +50,12 @@ public interface RpcServer { * @throws java.io.IOException e */ Message call(Class protocol, - RpcRequestBody param, long receiveTime, MonitoredRPCHandler status) + ServerSideRpcRequest param, long receiveTime, MonitoredRPCHandler status) throws IOException; void setErrorHandler(HBaseRPCErrorHandler handler); - void setQosFunction(Function newFunc); + void setQosFunction(Function newFunc); void openServer(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerSideRpcRequest.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerSideRpcRequest.java index 3684744..e10547b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerSideRpcRequest.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerSideRpcRequest.java @@ -23,6 +23,7 @@ import java.io.DataInputStream; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader; + @InterfaceAudience.Private public class ServerSideRpcRequest { RpcRequestHeader header; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.java index 795b88c..5c433d2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.java @@ -19,7 +19,6 @@ package org.apache.hadoop.hbase.monitoring; import org.apache.hadoop.classification.InterfaceAudience; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; /** * A MonitoredTask implementation optimized for use with RPC Handlers @@ -39,6 +38,6 @@ public interface MonitoredRPCHandler extends MonitoredTask { public abstract void setRPC(String methodName, Object [] params, long queueTime); - public abstract void setRPCPacket(RpcRequestBody param); + public abstract void setRPCPacket(byte[] buf); public abstract void setConnection(String clientAddress, int remotePort); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java index bb5b928..d3ee894 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.monitoring; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.hbase.client.Operation; import org.apache.hadoop.hbase.io.WritableWithSize; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.Writable; @@ -46,7 +45,7 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl private long rpcStartTime; private String methodName = ""; private Object [] params = {}; - private RpcRequestBody packet; + private byte[] packet; public MonitoredRPCHandlerImpl() { super(); @@ -141,7 +140,7 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl // no RPC is currently running, or we don't have an RPC's packet info return -1L; } - return packet.getSerializedSize(); + return packet.length; } /** @@ -201,8 +200,8 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl * that it can later compute its size if asked for it. * @param param The protobuf received by the RPC for this call */ - public void setRPCPacket(RpcRequestBody param) { - this.packet = param; + public void setRPCPacket(byte[] packet) { + this.packet = packet; } /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index dc12b7e..506a5cc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -18,6 +18,7 @@ */ package org.apache.hadoop.hbase.regionserver; +import java.io.DataInputStream; import java.io.IOException; import java.lang.Thread.UncaughtExceptionHandler; import java.lang.annotation.Retention; @@ -110,6 +111,7 @@ import org.apache.hadoop.hbase.ipc.ProtocolSignature; import org.apache.hadoop.hbase.ipc.RpcServer; import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; import org.apache.hadoop.hbase.ipc.ServerRpcController; +import org.apache.hadoop.hbase.ipc.ServerSideRpcRequest; import org.apache.hadoop.hbase.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.protobuf.RequestConverter; import org.apache.hadoop.hbase.protobuf.ResponseConverter; @@ -168,7 +170,6 @@ import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameStringPair; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionLoad; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.GetLastFlushedSequenceIdRequest; import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerReportRequest; import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerStartupRequest; @@ -564,7 +565,7 @@ public class HRegionServer implements ClientProtocol, * Utility used ensuring higher quality of service for priority rpcs; e.g. * rpcs to .META. and -ROOT-, etc. */ - class QosFunction implements Function { + class QosFunction implements Function { private final Map annotatedQos; //We need to mock the regionserver instance for some unit tests (set via //setRegionServer method. @@ -652,7 +653,7 @@ public class HRegionServer implements ClientProtocol, } @Override - public Integer apply(RpcRequestBody from) { + public Integer apply(ServerSideRpcRequest from) { String methodName = from.getMethodName(); Class rpcArgClass = null; if (from.hasRequestClassName()) { @@ -664,15 +665,20 @@ public class HRegionServer implements ClientProtocol, if (priorityByAnnotation != null) { return priorityByAnnotation; } - - if (rpcArgClass == null || from.getRequest().isEmpty()) { - return HConstants.NORMAL_QOS; + DataInputStream dis; + try { + if (rpcArgClass == null || + (dis = from.getRequestAsDataInputStream()).available() == 0) { + return HConstants.NORMAL_QOS; + } + } catch (IOException ie) { + throw new RuntimeException(ie); } Object deserializedRequestObj = null; //check whether the request has reference to Meta region try { - Method parseFrom = methodMap.get("parseFrom").get(rpcArgClass); - deserializedRequestObj = parseFrom.invoke(null, from.getRequest()); + Method parseFrom = methodMap.get("parseDelimitedFrom").get(rpcArgClass); + deserializedRequestObj = parseFrom.invoke(null, dis); Method getRegion = methodMap.get("getRegion").get(rpcArgClass); RegionSpecifier regionSpecifier = (RegionSpecifier)getRegion.invoke(deserializedRequestObj, diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java index 82840c5..7406617 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java @@ -28,13 +28,14 @@ import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.MediumTests; +import org.apache.hadoop.hbase.ipc.ServerSideRpcRequest; import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetOnlineRegionRequest; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Get; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType; -import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestBody; +import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RpcRequestHeader; import org.apache.hadoop.hbase.regionserver.HRegionServer.QosFunction; import org.junit.BeforeClass; import org.junit.Test; @@ -42,6 +43,7 @@ import org.junit.experimental.categories.Category; import org.mockito.Mockito; import com.google.protobuf.ByteString; +import com.google.protobuf.CodedOutputStream; /** * Tests that verify certain RPCs get a higher QoS. */ @@ -59,12 +61,13 @@ public class TestPriorityRpc { @Test public void testQosFunctionForMeta() throws IOException { qosFunction = regionServer.getQosFunction(); - RpcRequestBody.Builder rpcRequestBuilder = RpcRequestBody.newBuilder(); //create a rpc request that has references to META region and also //uses one of the known argument classes (known argument classes are //listed in HRegionServer.QosFunction.knownArgumentClasses) - rpcRequestBuilder = RpcRequestBody.newBuilder(); - rpcRequestBuilder.setMethodName("foo"); + RpcRequestHeader.Builder headerBuilder = RpcRequestHeader.newBuilder(); + headerBuilder.setCallId(0); + headerBuilder.setMethodName("foo"); + headerBuilder.setRequestClassName(GetRequest.class.getCanonicalName()); GetRequest.Builder getRequestBuilder = GetRequest.newBuilder(); RegionSpecifier.Builder regionSpecifierBuilder = RegionSpecifier.newBuilder(); @@ -76,10 +79,17 @@ public class TestPriorityRpc { getRequestBuilder.setRegion(regionSpecifier); Get.Builder getBuilder = Get.newBuilder(); getBuilder.setRow(ByteString.copyFrom("somerow".getBytes())); - getRequestBuilder.setGet(getBuilder.build()); - rpcRequestBuilder.setRequest(getRequestBuilder.build().toByteString()); - rpcRequestBuilder.setRequestClassName(GetRequest.class.getCanonicalName()); - RpcRequestBody rpcRequest = rpcRequestBuilder.build(); + getRequestBuilder.setGet(getBuilder.build()); + + GetRequest getRequest = getRequestBuilder.build(); + byte[] buf = new byte[CodedOutputStream.computeRawVarint32Size(getRequest.getSerializedSize()) + + getRequest.getSerializedSize()]; + CodedOutputStream cos = CodedOutputStream.newInstance(buf, 0, buf.length); + cos.writeRawVarint32(getRequest.getSerializedSize()); + getRequestBuilder.build().writeTo(cos); + ServerSideRpcRequest serverRpcRequest = new ServerSideRpcRequest( + headerBuilder.build(), getRequest.toByteArray(), 0, getRequest.getSerializedSize()); + HRegion mockRegion = Mockito.mock(HRegion.class); HRegionServer mockRS = Mockito.mock(HRegionServer.class); HRegionInfo mockRegionInfo = Mockito.mock(HRegionInfo.class); @@ -87,7 +97,7 @@ public class TestPriorityRpc { Mockito.when(mockRegion.getRegionInfo()).thenReturn(mockRegionInfo); Mockito.when(mockRegionInfo.isMetaRegion()).thenReturn(true); qosFunction.setRegionServer(mockRS); - assertTrue (qosFunction.apply(rpcRequest) == HConstants.HIGH_QOS); + assertTrue (qosFunction.apply(serverRpcRequest) == HConstants.HIGH_QOS); } @Test @@ -96,33 +106,37 @@ public class TestPriorityRpc { //known argument classes (it uses one random request class) //(known argument classes are listed in //HRegionServer.QosFunction.knownArgumentClasses) - RpcRequestBody.Builder rpcRequestBuilder = RpcRequestBody.newBuilder(); - rpcRequestBuilder.setMethodName("foo"); - rpcRequestBuilder.setRequestClassName(GetOnlineRegionRequest.class.getCanonicalName()); - RpcRequestBody rpcRequest = rpcRequestBuilder.build(); + RpcRequestHeader.Builder headerBuilder = RpcRequestHeader.newBuilder(); + headerBuilder.setCallId(0); + headerBuilder.setMethodName("foo"); + headerBuilder.setRequestClassName(GetOnlineRegionRequest.class.getCanonicalName()); + GetOnlineRegionRequest b = GetOnlineRegionRequest.newBuilder().build(); + ServerSideRpcRequest serverRpcRequest = new ServerSideRpcRequest( + headerBuilder.build(), b.toByteArray(), 0, b.getSerializedSize()); QosFunction qosFunc = regionServer.getQosFunction(); - assertTrue (qosFunc.apply(rpcRequest) == HConstants.NORMAL_QOS); + assertTrue (qosFunc.apply(serverRpcRequest) == HConstants.NORMAL_QOS); } @Test public void testQosFunctionForScanMethod() throws IOException { - RpcRequestBody.Builder rpcRequestBuilder = RpcRequestBody.newBuilder(); - rpcRequestBuilder.setMethodName("scan"); + RpcRequestHeader.Builder headerBuilder = RpcRequestHeader.newBuilder(); + headerBuilder.setCallId(0); + headerBuilder.setMethodName("scan"); + //build an empty scan request - ScanRequest.Builder scanBuilder = ScanRequest.newBuilder(); - ByteString requestBody = scanBuilder.build().toByteString(); - rpcRequestBuilder.setRequest(requestBody); - RpcRequestBody rpcRequest = rpcRequestBuilder.build(); - assertTrue (qosFunction.apply(rpcRequest) == HConstants.NORMAL_QOS); + ScanRequest scan = ScanRequest.newBuilder().build(); + ServerSideRpcRequest serverRpcRequest = new ServerSideRpcRequest( + headerBuilder.build(), scan.toByteArray(), 0, scan.getSerializedSize()); + assertTrue (qosFunction.apply(serverRpcRequest) == HConstants.NORMAL_QOS); //build a scan request with scannerID - scanBuilder = ScanRequest.newBuilder(); + ScanRequest.Builder scanBuilder = ScanRequest.newBuilder(); scanBuilder.setScannerId(12345); - requestBody = scanBuilder.build().toByteString(); - rpcRequestBuilder.setRequest(requestBody); - rpcRequestBuilder.setRequestClassName(ScanRequest.class.getCanonicalName()); - rpcRequest = rpcRequestBuilder.build(); + scan = scanBuilder.build(); + headerBuilder.setRequestClassName(ScanRequest.class.getCanonicalName()); + serverRpcRequest = new ServerSideRpcRequest( + headerBuilder.build(), scan.toByteArray(), 0, scan.getSerializedSize()); //mock out a high priority type handling and see the QoS returned HRegionServer mockRS = Mockito.mock(HRegionServer.class); RegionScanner mockRegionScanner = Mockito.mock(RegionScanner.class); @@ -136,11 +150,11 @@ public class TestPriorityRpc { qosFunction.setRegionServer(mockRS); - assertTrue (qosFunction.apply(rpcRequest) == HConstants.HIGH_QOS); + assertTrue (qosFunction.apply(serverRpcRequest) == HConstants.HIGH_QOS); //the same as above but with non-meta region Mockito.when(mockRegionInfo.isMetaRegion()).thenReturn(false); - assertTrue (qosFunction.apply(rpcRequest) == HConstants.NORMAL_QOS); + assertTrue (qosFunction.apply(serverRpcRequest) == HConstants.NORMAL_QOS); } }