From 39dc19236ecc5d7970cc2f43bbad6725826d778f Mon Sep 17 00:00:00 2001 From: tedyu Date: Tue, 24 May 2016 02:08:11 -0700 Subject: [PATCH] HBASE-15806 revert due to discussion on security --- hbase-protocol/pom.xml | 1 - .../protobuf/generated/ExportProtos.java | 1990 ----------------- hbase-protocol/src/main/protobuf/Export.proto | 44 - .../hbase/coprocessor/ExportEndpoint.java | 280 --- .../apache/hadoop/hbase/mapreduce/Export.java | 11 +- .../hbase/mapreduce/TestImportExport.java | 463 ++-- 6 files changed, 168 insertions(+), 2621 deletions(-) delete mode 100644 hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ExportProtos.java delete mode 100644 hbase-protocol/src/main/protobuf/Export.proto delete mode 100644 hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ExportEndpoint.java diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml index 60ec46f7123..56ab13aef10 100644 --- a/hbase-protocol/pom.xml +++ b/hbase-protocol/pom.xml @@ -180,7 +180,6 @@ Comparator.proto Encryption.proto ErrorHandling.proto - Export.proto FS.proto Filter.proto HBase.proto diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ExportProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ExportProtos.java deleted file mode 100644 index 4a503fc7efc..00000000000 --- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ExportProtos.java +++ /dev/null @@ -1,1990 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: Export.proto - -package org.apache.hadoop.hbase.protobuf.generated; - -public final class ExportProtos { - private ExportProtos() {} - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistry registry) { - } - public interface ExportRequestOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // required .hbase.pb.Scan scan = 1; - /** - * required .hbase.pb.Scan scan = 1; - */ - boolean hasScan(); - /** - * required .hbase.pb.Scan scan = 1; - */ - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan getScan(); - /** - * required .hbase.pb.Scan scan = 1; - */ - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder getScanOrBuilder(); - - // required string outputPath = 2; - /** - * required string outputPath = 2; - */ - boolean hasOutputPath(); - /** - * required string outputPath = 2; - */ - java.lang.String getOutputPath(); - /** - * required string outputPath = 2; - */ - com.google.protobuf.ByteString - getOutputPathBytes(); - - // optional bool compressed = 3 [default = false]; - /** - * optional bool compressed = 3 [default = false]; - */ - boolean hasCompressed(); - /** - * optional bool compressed = 3 [default = false]; - */ - boolean getCompressed(); - - // optional string compressType = 4; - /** - * optional string compressType = 4; - */ - boolean hasCompressType(); - /** - * optional string compressType = 4; - */ - java.lang.String getCompressType(); - /** - * optional string compressType = 4; - */ - com.google.protobuf.ByteString - getCompressTypeBytes(); - - // optional string compressCodec = 5; - /** - * optional string compressCodec = 5; - */ - boolean hasCompressCodec(); - /** - * optional string compressCodec = 5; - */ - java.lang.String getCompressCodec(); - /** - * optional string compressCodec = 5; - */ - com.google.protobuf.ByteString - getCompressCodecBytes(); - } - /** - * Protobuf type {@code hbase.pb.ExportRequest} - */ - public static final class ExportRequest extends - com.google.protobuf.GeneratedMessage - implements ExportRequestOrBuilder { - // Use ExportRequest.newBuilder() to construct. - private ExportRequest(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private ExportRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final ExportRequest defaultInstance; - public static ExportRequest getDefaultInstance() { - return defaultInstance; - } - - public ExportRequest getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ExportRequest( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - initFields(); - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField(input, unknownFields, - extensionRegistry, tag)) { - done = true; - } - break; - } - case 10: { - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder subBuilder = null; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - subBuilder = scan_.toBuilder(); - } - scan_ = input.readMessage(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.PARSER, extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(scan_); - scan_ = subBuilder.buildPartial(); - } - bitField0_ |= 0x00000001; - break; - } - case 18: { - bitField0_ |= 0x00000002; - outputPath_ = input.readBytes(); - break; - } - case 24: { - bitField0_ |= 0x00000004; - compressed_ = input.readBool(); - break; - } - case 34: { - bitField0_ |= 0x00000008; - compressType_ = input.readBytes(); - break; - } - case 42: { - bitField0_ |= 0x00000010; - compressCodec_ = input.readBytes(); - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e.getMessage()).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportRequest_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportRequest_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.class, org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public ExportRequest parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ExportRequest(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - private int bitField0_; - // required .hbase.pb.Scan scan = 1; - public static final int SCAN_FIELD_NUMBER = 1; - private org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan scan_; - /** - * required .hbase.pb.Scan scan = 1; - */ - public boolean hasScan() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan getScan() { - return scan_; - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder getScanOrBuilder() { - return scan_; - } - - // required string outputPath = 2; - public static final int OUTPUTPATH_FIELD_NUMBER = 2; - private java.lang.Object outputPath_; - /** - * required string outputPath = 2; - */ - public boolean hasOutputPath() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required string outputPath = 2; - */ - public java.lang.String getOutputPath() { - java.lang.Object ref = outputPath_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - outputPath_ = s; - } - return s; - } - } - /** - * required string outputPath = 2; - */ - public com.google.protobuf.ByteString - getOutputPathBytes() { - java.lang.Object ref = outputPath_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - outputPath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional bool compressed = 3 [default = false]; - public static final int COMPRESSED_FIELD_NUMBER = 3; - private boolean compressed_; - /** - * optional bool compressed = 3 [default = false]; - */ - public boolean hasCompressed() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional bool compressed = 3 [default = false]; - */ - public boolean getCompressed() { - return compressed_; - } - - // optional string compressType = 4; - public static final int COMPRESSTYPE_FIELD_NUMBER = 4; - private java.lang.Object compressType_; - /** - * optional string compressType = 4; - */ - public boolean hasCompressType() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional string compressType = 4; - */ - public java.lang.String getCompressType() { - java.lang.Object ref = compressType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - compressType_ = s; - } - return s; - } - } - /** - * optional string compressType = 4; - */ - public com.google.protobuf.ByteString - getCompressTypeBytes() { - java.lang.Object ref = compressType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - compressType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional string compressCodec = 5; - public static final int COMPRESSCODEC_FIELD_NUMBER = 5; - private java.lang.Object compressCodec_; - /** - * optional string compressCodec = 5; - */ - public boolean hasCompressCodec() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional string compressCodec = 5; - */ - public java.lang.String getCompressCodec() { - java.lang.Object ref = compressCodec_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - compressCodec_ = s; - } - return s; - } - } - /** - * optional string compressCodec = 5; - */ - public com.google.protobuf.ByteString - getCompressCodecBytes() { - java.lang.Object ref = compressCodec_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - compressCodec_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - private void initFields() { - scan_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.getDefaultInstance(); - outputPath_ = ""; - compressed_ = false; - compressType_ = ""; - compressCodec_ = ""; - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - if (!hasScan()) { - memoizedIsInitialized = 0; - return false; - } - if (!hasOutputPath()) { - memoizedIsInitialized = 0; - return false; - } - if (!getScan().isInitialized()) { - memoizedIsInitialized = 0; - return false; - } - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeMessage(1, scan_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, getOutputPathBytes()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBool(3, compressed_); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeBytes(4, getCompressTypeBytes()); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - output.writeBytes(5, getCompressCodecBytes()); - } - 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 - .computeMessageSize(1, scan_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(2, getOutputPathBytes()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(3, compressed_); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(4, getCompressTypeBytes()); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(5, getCompressCodecBytes()); - } - 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.ExportProtos.ExportRequest)) { - return super.equals(obj); - } - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest other = (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest) obj; - - boolean result = true; - result = result && (hasScan() == other.hasScan()); - if (hasScan()) { - result = result && getScan() - .equals(other.getScan()); - } - result = result && (hasOutputPath() == other.hasOutputPath()); - if (hasOutputPath()) { - result = result && getOutputPath() - .equals(other.getOutputPath()); - } - result = result && (hasCompressed() == other.hasCompressed()); - if (hasCompressed()) { - result = result && (getCompressed() - == other.getCompressed()); - } - result = result && (hasCompressType() == other.hasCompressType()); - if (hasCompressType()) { - result = result && getCompressType() - .equals(other.getCompressType()); - } - result = result && (hasCompressCodec() == other.hasCompressCodec()); - if (hasCompressCodec()) { - result = result && getCompressCodec() - .equals(other.getCompressCodec()); - } - result = result && - getUnknownFields().equals(other.getUnknownFields()); - return result; - } - - private int memoizedHashCode = 0; - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptorForType().hashCode(); - if (hasScan()) { - hash = (37 * hash) + SCAN_FIELD_NUMBER; - hash = (53 * hash) + getScan().hashCode(); - } - if (hasOutputPath()) { - hash = (37 * hash) + OUTPUTPATH_FIELD_NUMBER; - hash = (53 * hash) + getOutputPath().hashCode(); - } - if (hasCompressed()) { - hash = (37 * hash) + COMPRESSED_FIELD_NUMBER; - hash = (53 * hash) + hashBoolean(getCompressed()); - } - if (hasCompressType()) { - hash = (37 * hash) + COMPRESSTYPE_FIELD_NUMBER; - hash = (53 * hash) + getCompressType().hashCode(); - } - if (hasCompressCodec()) { - hash = (37 * hash) + COMPRESSCODEC_FIELD_NUMBER; - hash = (53 * hash) + getCompressCodec().hashCode(); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - - public static Builder newBuilder() { return Builder.create(); } - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest prototype) { - return newBuilder().mergeFrom(prototype); - } - public Builder toBuilder() { return newBuilder(this); } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code hbase.pb.ExportRequest} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequestOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportRequest_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportRequest_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.class, org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.Builder.class); - } - - // Construct using org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - getScanFieldBuilder(); - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - if (scanBuilder_ == null) { - scan_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.getDefaultInstance(); - } else { - scanBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000001); - outputPath_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); - compressed_ = false; - bitField0_ = (bitField0_ & ~0x00000004); - compressType_ = ""; - bitField0_ = (bitField0_ & ~0x00000008); - compressCodec_ = ""; - bitField0_ = (bitField0_ & ~0x00000010); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportRequest_descriptor; - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest getDefaultInstanceForType() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.getDefaultInstance(); - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest build() { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest buildPartial() { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest result = new org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - if (scanBuilder_ == null) { - result.scan_ = scan_; - } else { - result.scan_ = scanBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.outputPath_ = outputPath_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } - result.compressed_ = compressed_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } - result.compressType_ = compressType_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; - } - result.compressCodec_ = compressCodec_; - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest) { - return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest other) { - if (other == org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.getDefaultInstance()) return this; - if (other.hasScan()) { - mergeScan(other.getScan()); - } - if (other.hasOutputPath()) { - bitField0_ |= 0x00000002; - outputPath_ = other.outputPath_; - onChanged(); - } - if (other.hasCompressed()) { - setCompressed(other.getCompressed()); - } - if (other.hasCompressType()) { - bitField0_ |= 0x00000008; - compressType_ = other.compressType_; - onChanged(); - } - if (other.hasCompressCodec()) { - bitField0_ |= 0x00000010; - compressCodec_ = other.compressCodec_; - onChanged(); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - if (!hasScan()) { - return false; - } - if (!hasOutputPath()) { - return false; - } - if (!getScan().isInitialized()) { - return false; - } - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // required .hbase.pb.Scan scan = 1; - private org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan scan_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.getDefaultInstance(); - private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder> scanBuilder_; - /** - * required .hbase.pb.Scan scan = 1; - */ - public boolean hasScan() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan getScan() { - if (scanBuilder_ == null) { - return scan_; - } else { - return scanBuilder_.getMessage(); - } - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public Builder setScan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan value) { - if (scanBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - scan_ = value; - onChanged(); - } else { - scanBuilder_.setMessage(value); - } - bitField0_ |= 0x00000001; - return this; - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public Builder setScan( - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder builderForValue) { - if (scanBuilder_ == null) { - scan_ = builderForValue.build(); - onChanged(); - } else { - scanBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000001; - return this; - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public Builder mergeScan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan value) { - if (scanBuilder_ == null) { - if (((bitField0_ & 0x00000001) == 0x00000001) && - scan_ != org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.getDefaultInstance()) { - scan_ = - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.newBuilder(scan_).mergeFrom(value).buildPartial(); - } else { - scan_ = value; - } - onChanged(); - } else { - scanBuilder_.mergeFrom(value); - } - bitField0_ |= 0x00000001; - return this; - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public Builder clearScan() { - if (scanBuilder_ == null) { - scan_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.getDefaultInstance(); - onChanged(); - } else { - scanBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000001); - return this; - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder getScanBuilder() { - bitField0_ |= 0x00000001; - onChanged(); - return getScanFieldBuilder().getBuilder(); - } - /** - * required .hbase.pb.Scan scan = 1; - */ - public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder getScanOrBuilder() { - if (scanBuilder_ != null) { - return scanBuilder_.getMessageOrBuilder(); - } else { - return scan_; - } - } - /** - * required .hbase.pb.Scan scan = 1; - */ - private com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder> - getScanFieldBuilder() { - if (scanBuilder_ == null) { - scanBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanOrBuilder>( - scan_, - getParentForChildren(), - isClean()); - scan_ = null; - } - return scanBuilder_; - } - - // required string outputPath = 2; - private java.lang.Object outputPath_ = ""; - /** - * required string outputPath = 2; - */ - public boolean hasOutputPath() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required string outputPath = 2; - */ - public java.lang.String getOutputPath() { - java.lang.Object ref = outputPath_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - outputPath_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * required string outputPath = 2; - */ - public com.google.protobuf.ByteString - getOutputPathBytes() { - java.lang.Object ref = outputPath_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - outputPath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * required string outputPath = 2; - */ - public Builder setOutputPath( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - outputPath_ = value; - onChanged(); - return this; - } - /** - * required string outputPath = 2; - */ - public Builder clearOutputPath() { - bitField0_ = (bitField0_ & ~0x00000002); - outputPath_ = getDefaultInstance().getOutputPath(); - onChanged(); - return this; - } - /** - * required string outputPath = 2; - */ - public Builder setOutputPathBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - outputPath_ = value; - onChanged(); - return this; - } - - // optional bool compressed = 3 [default = false]; - private boolean compressed_ ; - /** - * optional bool compressed = 3 [default = false]; - */ - public boolean hasCompressed() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional bool compressed = 3 [default = false]; - */ - public boolean getCompressed() { - return compressed_; - } - /** - * optional bool compressed = 3 [default = false]; - */ - public Builder setCompressed(boolean value) { - bitField0_ |= 0x00000004; - compressed_ = value; - onChanged(); - return this; - } - /** - * optional bool compressed = 3 [default = false]; - */ - public Builder clearCompressed() { - bitField0_ = (bitField0_ & ~0x00000004); - compressed_ = false; - onChanged(); - return this; - } - - // optional string compressType = 4; - private java.lang.Object compressType_ = ""; - /** - * optional string compressType = 4; - */ - public boolean hasCompressType() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional string compressType = 4; - */ - public java.lang.String getCompressType() { - java.lang.Object ref = compressType_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - compressType_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string compressType = 4; - */ - public com.google.protobuf.ByteString - getCompressTypeBytes() { - java.lang.Object ref = compressType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - compressType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string compressType = 4; - */ - public Builder setCompressType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000008; - compressType_ = value; - onChanged(); - return this; - } - /** - * optional string compressType = 4; - */ - public Builder clearCompressType() { - bitField0_ = (bitField0_ & ~0x00000008); - compressType_ = getDefaultInstance().getCompressType(); - onChanged(); - return this; - } - /** - * optional string compressType = 4; - */ - public Builder setCompressTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000008; - compressType_ = value; - onChanged(); - return this; - } - - // optional string compressCodec = 5; - private java.lang.Object compressCodec_ = ""; - /** - * optional string compressCodec = 5; - */ - public boolean hasCompressCodec() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional string compressCodec = 5; - */ - public java.lang.String getCompressCodec() { - java.lang.Object ref = compressCodec_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - compressCodec_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string compressCodec = 5; - */ - public com.google.protobuf.ByteString - getCompressCodecBytes() { - java.lang.Object ref = compressCodec_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - compressCodec_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string compressCodec = 5; - */ - public Builder setCompressCodec( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000010; - compressCodec_ = value; - onChanged(); - return this; - } - /** - * optional string compressCodec = 5; - */ - public Builder clearCompressCodec() { - bitField0_ = (bitField0_ & ~0x00000010); - compressCodec_ = getDefaultInstance().getCompressCodec(); - onChanged(); - return this; - } - /** - * optional string compressCodec = 5; - */ - public Builder setCompressCodecBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000010; - compressCodec_ = value; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:hbase.pb.ExportRequest) - } - - static { - defaultInstance = new ExportRequest(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:hbase.pb.ExportRequest) - } - - public interface ExportResponseOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // required uint64 rowCount = 1; - /** - * required uint64 rowCount = 1; - */ - boolean hasRowCount(); - /** - * required uint64 rowCount = 1; - */ - long getRowCount(); - - // required uint64 cellCount = 2; - /** - * required uint64 cellCount = 2; - */ - boolean hasCellCount(); - /** - * required uint64 cellCount = 2; - */ - long getCellCount(); - } - /** - * Protobuf type {@code hbase.pb.ExportResponse} - */ - public static final class ExportResponse extends - com.google.protobuf.GeneratedMessage - implements ExportResponseOrBuilder { - // Use ExportResponse.newBuilder() to construct. - private ExportResponse(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private ExportResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final ExportResponse defaultInstance; - public static ExportResponse getDefaultInstance() { - return defaultInstance; - } - - public ExportResponse getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private ExportResponse( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - initFields(); - int mutable_bitField0_ = 0; - com.google.protobuf.UnknownFieldSet.Builder unknownFields = - com.google.protobuf.UnknownFieldSet.newBuilder(); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField(input, unknownFields, - extensionRegistry, tag)) { - done = true; - } - break; - } - case 8: { - bitField0_ |= 0x00000001; - rowCount_ = input.readUInt64(); - break; - } - case 16: { - bitField0_ |= 0x00000002; - cellCount_ = input.readUInt64(); - break; - } - } - } - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException( - e.getMessage()).setUnfinishedMessage(this); - } finally { - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportResponse_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportResponse_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.class, org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public ExportResponse parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new ExportResponse(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - private int bitField0_; - // required uint64 rowCount = 1; - public static final int ROWCOUNT_FIELD_NUMBER = 1; - private long rowCount_; - /** - * required uint64 rowCount = 1; - */ - public boolean hasRowCount() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * required uint64 rowCount = 1; - */ - public long getRowCount() { - return rowCount_; - } - - // required uint64 cellCount = 2; - public static final int CELLCOUNT_FIELD_NUMBER = 2; - private long cellCount_; - /** - * required uint64 cellCount = 2; - */ - public boolean hasCellCount() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required uint64 cellCount = 2; - */ - public long getCellCount() { - return cellCount_; - } - - private void initFields() { - rowCount_ = 0L; - cellCount_ = 0L; - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - if (!hasRowCount()) { - memoizedIsInitialized = 0; - return false; - } - if (!hasCellCount()) { - 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.writeUInt64(1, rowCount_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeUInt64(2, cellCount_); - } - 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 - .computeUInt64Size(1, rowCount_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(2, cellCount_); - } - 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.ExportProtos.ExportResponse)) { - return super.equals(obj); - } - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse other = (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse) obj; - - boolean result = true; - result = result && (hasRowCount() == other.hasRowCount()); - if (hasRowCount()) { - result = result && (getRowCount() - == other.getRowCount()); - } - result = result && (hasCellCount() == other.hasCellCount()); - if (hasCellCount()) { - result = result && (getCellCount() - == other.getCellCount()); - } - result = result && - getUnknownFields().equals(other.getUnknownFields()); - return result; - } - - private int memoizedHashCode = 0; - @java.lang.Override - public int hashCode() { - if (memoizedHashCode != 0) { - return memoizedHashCode; - } - int hash = 41; - hash = (19 * hash) + getDescriptorForType().hashCode(); - if (hasRowCount()) { - hash = (37 * hash) + ROWCOUNT_FIELD_NUMBER; - hash = (53 * hash) + hashLong(getRowCount()); - } - if (hasCellCount()) { - hash = (37 * hash) + CELLCOUNT_FIELD_NUMBER; - hash = (53 * hash) + hashLong(getCellCount()); - } - hash = (29 * hash) + getUnknownFields().hashCode(); - memoizedHashCode = hash; - return hash; - } - - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parseFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - - public static Builder newBuilder() { return Builder.create(); } - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse prototype) { - return newBuilder().mergeFrom(prototype); - } - public Builder toBuilder() { return newBuilder(this); } - - @java.lang.Override - protected Builder newBuilderForType( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - Builder builder = new Builder(parent); - return builder; - } - /** - * Protobuf type {@code hbase.pb.ExportResponse} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponseOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportResponse_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.internal_static_hbase_pb_ExportResponse_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.class, org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.Builder.class); - } - - // Construct using org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - rowCount_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); - cellCount_ = 0L; - 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.ExportProtos.internal_static_hbase_pb_ExportResponse_descriptor; - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse getDefaultInstanceForType() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance(); - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse build() { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse buildPartial() { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse result = new org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.rowCount_ = rowCount_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.cellCount_ = cellCount_; - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse) { - return mergeFrom((org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse other) { - if (other == org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance()) return this; - if (other.hasRowCount()) { - setRowCount(other.getRowCount()); - } - if (other.hasCellCount()) { - setCellCount(other.getCellCount()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - if (!hasRowCount()) { - return false; - } - if (!hasCellCount()) { - return false; - } - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // required uint64 rowCount = 1; - private long rowCount_ ; - /** - * required uint64 rowCount = 1; - */ - public boolean hasRowCount() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * required uint64 rowCount = 1; - */ - public long getRowCount() { - return rowCount_; - } - /** - * required uint64 rowCount = 1; - */ - public Builder setRowCount(long value) { - bitField0_ |= 0x00000001; - rowCount_ = value; - onChanged(); - return this; - } - /** - * required uint64 rowCount = 1; - */ - public Builder clearRowCount() { - bitField0_ = (bitField0_ & ~0x00000001); - rowCount_ = 0L; - onChanged(); - return this; - } - - // required uint64 cellCount = 2; - private long cellCount_ ; - /** - * required uint64 cellCount = 2; - */ - public boolean hasCellCount() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required uint64 cellCount = 2; - */ - public long getCellCount() { - return cellCount_; - } - /** - * required uint64 cellCount = 2; - */ - public Builder setCellCount(long value) { - bitField0_ |= 0x00000002; - cellCount_ = value; - onChanged(); - return this; - } - /** - * required uint64 cellCount = 2; - */ - public Builder clearCellCount() { - bitField0_ = (bitField0_ & ~0x00000002); - cellCount_ = 0L; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:hbase.pb.ExportResponse) - } - - static { - defaultInstance = new ExportResponse(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:hbase.pb.ExportResponse) - } - - /** - * Protobuf service {@code hbase.pb.ExportService} - */ - public static abstract class ExportService - implements com.google.protobuf.Service { - protected ExportService() {} - - public interface Interface { - /** - * rpc export(.hbase.pb.ExportRequest) returns (.hbase.pb.ExportResponse); - */ - public abstract void export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request, - com.google.protobuf.RpcCallback done); - - } - - public static com.google.protobuf.Service newReflectiveService( - final Interface impl) { - return new ExportService() { - @java.lang.Override - public void export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request, - com.google.protobuf.RpcCallback done) { - impl.export(controller, request, done); - } - - }; - } - - public static com.google.protobuf.BlockingService - newReflectiveBlockingService(final BlockingInterface impl) { - return new com.google.protobuf.BlockingService() { - public final com.google.protobuf.Descriptors.ServiceDescriptor - getDescriptorForType() { - return getDescriptor(); - } - - public final com.google.protobuf.Message callBlockingMethod( - com.google.protobuf.Descriptors.MethodDescriptor method, - com.google.protobuf.RpcController controller, - com.google.protobuf.Message request) - throws com.google.protobuf.ServiceException { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.callBlockingMethod() given method descriptor for " + - "wrong service type."); - } - switch(method.getIndex()) { - case 0: - return impl.export(controller, (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest)request); - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - public final com.google.protobuf.Message - getRequestPrototype( - com.google.protobuf.Descriptors.MethodDescriptor method) { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.getRequestPrototype() given method " + - "descriptor for wrong service type."); - } - switch(method.getIndex()) { - case 0: - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.getDefaultInstance(); - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - public final com.google.protobuf.Message - getResponsePrototype( - com.google.protobuf.Descriptors.MethodDescriptor method) { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.getResponsePrototype() given method " + - "descriptor for wrong service type."); - } - switch(method.getIndex()) { - case 0: - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance(); - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - }; - } - - /** - * rpc export(.hbase.pb.ExportRequest) returns (.hbase.pb.ExportResponse); - */ - public abstract void export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request, - com.google.protobuf.RpcCallback done); - - public static final - com.google.protobuf.Descriptors.ServiceDescriptor - getDescriptor() { - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.getDescriptor().getServices().get(0); - } - public final com.google.protobuf.Descriptors.ServiceDescriptor - getDescriptorForType() { - return getDescriptor(); - } - - public final void callMethod( - com.google.protobuf.Descriptors.MethodDescriptor method, - com.google.protobuf.RpcController controller, - com.google.protobuf.Message request, - com.google.protobuf.RpcCallback< - com.google.protobuf.Message> done) { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.callMethod() given method descriptor for wrong " + - "service type."); - } - switch(method.getIndex()) { - case 0: - this.export(controller, (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest)request, - com.google.protobuf.RpcUtil.specializeCallback( - done)); - return; - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - public final com.google.protobuf.Message - getRequestPrototype( - com.google.protobuf.Descriptors.MethodDescriptor method) { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.getRequestPrototype() given method " + - "descriptor for wrong service type."); - } - switch(method.getIndex()) { - case 0: - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest.getDefaultInstance(); - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - public final com.google.protobuf.Message - getResponsePrototype( - com.google.protobuf.Descriptors.MethodDescriptor method) { - if (method.getService() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "Service.getResponsePrototype() given method " + - "descriptor for wrong service type."); - } - switch(method.getIndex()) { - case 0: - return org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance(); - default: - throw new java.lang.AssertionError("Can't get here."); - } - } - - public static Stub newStub( - com.google.protobuf.RpcChannel channel) { - return new Stub(channel); - } - - public static final class Stub extends org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportService implements Interface { - private Stub(com.google.protobuf.RpcChannel channel) { - this.channel = channel; - } - - private final com.google.protobuf.RpcChannel channel; - - public com.google.protobuf.RpcChannel getChannel() { - return channel; - } - - public void export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request, - com.google.protobuf.RpcCallback done) { - channel.callMethod( - getDescriptor().getMethods().get(0), - controller, - request, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance(), - com.google.protobuf.RpcUtil.generalizeCallback( - done, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.class, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance())); - } - } - - public static BlockingInterface newBlockingStub( - com.google.protobuf.BlockingRpcChannel channel) { - return new BlockingStub(channel); - } - - public interface BlockingInterface { - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request) - throws com.google.protobuf.ServiceException; - } - - private static final class BlockingStub implements BlockingInterface { - private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) { - this.channel = channel; - } - - private final com.google.protobuf.BlockingRpcChannel channel; - - public org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse export( - com.google.protobuf.RpcController controller, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportRequest request) - throws com.google.protobuf.ServiceException { - return (org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse) channel.callBlockingMethod( - getDescriptor().getMethods().get(0), - controller, - request, - org.apache.hadoop.hbase.protobuf.generated.ExportProtos.ExportResponse.getDefaultInstance()); - } - - } - - // @@protoc_insertion_point(class_scope:hbase.pb.ExportService) - } - - private static com.google.protobuf.Descriptors.Descriptor - internal_static_hbase_pb_ExportRequest_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_hbase_pb_ExportRequest_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor - internal_static_hbase_pb_ExportResponse_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_hbase_pb_ExportResponse_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\014Export.proto\022\010hbase.pb\032\014Client.proto\"\211" + - "\001\n\rExportRequest\022\034\n\004scan\030\001 \002(\0132\016.hbase.p" + - "b.Scan\022\022\n\noutputPath\030\002 \002(\t\022\031\n\ncompressed" + - "\030\003 \001(\010:\005false\022\024\n\014compressType\030\004 \001(\t\022\025\n\rc" + - "ompressCodec\030\005 \001(\t\"5\n\016ExportResponse\022\020\n\010" + - "rowCount\030\001 \002(\004\022\021\n\tcellCount\030\002 \002(\0042L\n\rExp" + - "ortService\022;\n\006export\022\027.hbase.pb.ExportRe" + - "quest\032\030.hbase.pb.ExportResponseBB\n*org.a" + - "pache.hadoop.hbase.protobuf.generatedB\014E" + - "xportProtosH\001\210\001\001\240\001\001" - }; - com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = - new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { - public com.google.protobuf.ExtensionRegistry assignDescriptors( - com.google.protobuf.Descriptors.FileDescriptor root) { - descriptor = root; - internal_static_hbase_pb_ExportRequest_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_hbase_pb_ExportRequest_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_hbase_pb_ExportRequest_descriptor, - new java.lang.String[] { "Scan", "OutputPath", "Compressed", "CompressType", "CompressCodec", }); - internal_static_hbase_pb_ExportResponse_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_hbase_pb_ExportResponse_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_hbase_pb_ExportResponse_descriptor, - new java.lang.String[] { "RowCount", "CellCount", }); - return null; - } - }; - com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - org.apache.hadoop.hbase.protobuf.generated.ClientProtos.getDescriptor(), - }, assigner); - } - - // @@protoc_insertion_point(outer_class_scope) -} diff --git a/hbase-protocol/src/main/protobuf/Export.proto b/hbase-protocol/src/main/protobuf/Export.proto deleted file mode 100644 index 0551851bdff..00000000000 --- a/hbase-protocol/src/main/protobuf/Export.proto +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package hbase.pb; - -option java_package = "org.apache.hadoop.hbase.protobuf.generated"; -option java_outer_classname = "ExportProtos"; -option java_generate_equals_and_hash = true; -option optimize_for = SPEED; -option java_generic_services = true; - -import "Client.proto"; - -service ExportService { - rpc export (ExportRequest) returns (ExportResponse); -} - -message ExportRequest { - required Scan scan = 1; - required string outputPath = 2; - optional bool compressed = 3 [default = false]; - optional string compressType = 4; - optional string compressCodec = 5; -} -message ExportResponse { - required uint64 rowCount = 1; - required uint64 cellCount = 2; -} - diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ExportEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ExportEndpoint.java deleted file mode 100644 index b39f89b6275..00000000000 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/ExportEndpoint.java +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.hadoop.hbase.coprocessor; - -import com.google.protobuf.RpcCallback; -import com.google.protobuf.RpcController; -import com.google.protobuf.Service; -import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.fs.permission.FsAction; -import org.apache.hadoop.fs.permission.FsPermission; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.Coprocessor; -import org.apache.hadoop.hbase.CoprocessorEnvironment; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HRegionInfo; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.classification.InterfaceAudience; -import org.apache.hadoop.hbase.classification.InterfaceStability; -import org.apache.hadoop.hbase.client.Connection; -import org.apache.hadoop.hbase.client.ConnectionFactory; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.client.coprocessor.Batch; -import org.apache.hadoop.hbase.io.ImmutableBytesWritable; -import org.apache.hadoop.hbase.ipc.BlockingRpcCallback; -import org.apache.hadoop.hbase.ipc.ServerRpcController; -import org.apache.hadoop.hbase.mapreduce.ResultSerialization; -import org.apache.hadoop.hbase.protobuf.ProtobufUtil; -import org.apache.hadoop.hbase.protobuf.ResponseConverter; -import org.apache.hadoop.hbase.protobuf.generated.ExportProtos; -import org.apache.hadoop.hbase.regionserver.Region; -import org.apache.hadoop.hbase.regionserver.RegionScanner; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.io.SequenceFile; -import org.apache.hadoop.io.compress.CompressionCodec; -import org.apache.hadoop.io.compress.DefaultCodec; -import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; -import org.apache.hadoop.util.GenericOptionsParser; -import org.apache.hadoop.util.ReflectionUtils; -import org.apache.hadoop.hbase.mapreduce.Export; -import org.apache.hadoop.hbase.mapreduce.Import; - -/** -* Export an HBase table. -* Writes content to sequence files up in HDFS. Use {@link Import} to read it -* back in again. -* It is implemented by the endpoint technique. -* @see Export -*/ -@InterfaceAudience.Public -@InterfaceStability.Evolving -public class ExportEndpoint extends ExportProtos.ExportService - implements Coprocessor, CoprocessorService { - private static final Log LOG = LogFactory.getLog(ExportEndpoint.class); - private RegionCoprocessorEnvironment env = null; - @Override - public void start(CoprocessorEnvironment environment) throws IOException { - if (environment instanceof RegionCoprocessorEnvironment) { - this.env = (RegionCoprocessorEnvironment) environment; - } else { - throw new CoprocessorException("Must be loaded on a table region!"); - } - } - @Override - public void stop(CoprocessorEnvironment env) throws IOException { - } - - @Override - public Service getService() { - return this; - } - private static boolean getCompression(final ExportProtos.ExportRequest request) { - if (request.hasCompressed()) { - return request.getCompressed(); - } else { - return false; - } - } - private static SequenceFile.CompressionType getCompressionType(final ExportProtos.ExportRequest request) { - if (!request.hasCompressType()) { - return null; - } - return SequenceFile.CompressionType.valueOf(request.getCompressType()); - } - private static CompressionCodec getCompressionCodec(final Configuration conf, final ExportProtos.ExportRequest request) { - if (!request.hasCompressCodec()) { - return null; - } - try { - Class codecClass = conf.getClassByName(request.getCompressCodec()).asSubclass(CompressionCodec.class); - return ReflectionUtils.newInstance(codecClass, conf); - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException("Compression codec " - + request.getCompressCodec()+ " was not found.", e); - } - } - private static SequenceFile.Writer.Option getOutputPath(final Configuration conf, - final HRegionInfo info, final ExportProtos.ExportRequest request) throws IOException { - Path file = new Path(request.getOutputPath(), "export-" + info.getEncodedName()); - FileSystem fs = FileSystem.get(conf); - if (fs.exists(file)) { - throw new IOException(file + " exists"); - } - return SequenceFile.Writer.file(file); - } - private static List getWriterOptions(final Configuration conf, - final HRegionInfo info, final ExportProtos.ExportRequest request) throws IOException { - List rval = new LinkedList<>(); - rval.add(SequenceFile.Writer.keyClass(ImmutableBytesWritable.class)); - rval.add(SequenceFile.Writer.valueClass(Result.class)); - rval.add(getOutputPath(conf, info, request)); - boolean compressed = getCompression(request); - if (compressed) { - SequenceFile.CompressionType type = getCompressionType(request); - if (type != null) { - CompressionCodec codec = getCompressionCodec(conf, request); - rval.add(SequenceFile.Writer.compression(type, codec)); - } - } - return rval; - } - private Scan validateKey(final HRegionInfo region, final Scan scan) { - byte[] regionStartKey = region.getStartKey(); - byte[] originStartKey = scan.getStartRow(); - if (originStartKey == null - || Bytes.compareTo(originStartKey, regionStartKey) < 0) { - scan.setStartRow(regionStartKey); - } - byte[] regionEndKey = region.getEndKey(); - byte[] originEndKey = scan.getStopRow(); - if (originEndKey == null - || Bytes.compareTo(originEndKey, regionEndKey) > 0) { - scan.setStartRow(regionEndKey); - } - return scan; - } - @Override - public void export(RpcController controller, ExportProtos.ExportRequest request, - RpcCallback done) { - Region region = env.getRegion(); - Configuration conf = HBaseConfiguration.create(env.getConfiguration()); - conf.setStrings("io.serializations", conf.get("io.serializations"), ResultSerialization.class.getName()); - try { - Scan scan = validateKey(region.getRegionInfo(), ProtobufUtil.toScan(request.getScan())); - ExportProtos.ExportResponse response = processData(conf, region, scan, - getWriterOptions(conf, region.getRegionInfo(), request)); - done.run(response); - } catch (IOException e) { - ResponseConverter.setControllerException(controller, e); - LOG.error(e); - } - } - private static ExportProtos.ExportResponse processData(final Configuration conf, - final Region region, final Scan scan, final List opts) throws IOException { - region.startRegionOperation(); - try (SequenceFile.Writer out = SequenceFile.createWriter(conf, - opts.toArray(new SequenceFile.Writer.Option[opts.size()])); - RegionScanner scanner = region.getScanner(scan)) { - ImmutableBytesWritable key = new ImmutableBytesWritable(); - long rowCount = 0; - long cellCount = 0; - List buf = new ArrayList<>(); - boolean hasMore; - do { - hasMore = scanner.nextRaw(buf); - if (!buf.isEmpty()) { - Cell firstCell = buf.get(0); - for (Cell cell : buf) { - if (Bytes.compareTo( - firstCell.getRowArray(), firstCell.getRowOffset(), firstCell.getRowLength(), - cell.getRowArray(), cell.getRowOffset(), cell.getRowLength()) != 0) { - throw new IOException("Why the RegionScanner#nextRaw returns the data of different rows??"); - } - } - key.set(firstCell.getRowArray(), firstCell.getRowOffset(), firstCell.getRowLength()); - out.append(key, Result.create(buf)); - ++rowCount; - cellCount += buf.size(); - buf.clear(); - } - } while (hasMore); - return ExportProtos.ExportResponse.newBuilder() - .setRowCount(rowCount) - .setCellCount(cellCount) - .build(); - } finally { - region.closeRegionOperation(); - } - } - public static void main(String[] args) throws IOException, Throwable { - run(HBaseConfiguration.create(), args); - } - public static Map run(final Configuration conf, - final String[] args) throws IOException, Throwable { - String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs(); - if (!Export.checkArguments(otherArgs)) { - Export.usage("Wrong number of arguments: " + otherArgs.length); - System.exit(-1); - } - TableName tableName = TableName.valueOf(otherArgs[0]); - FileSystem fs = FileSystem.get(conf); - String dir = otherArgs[1]; - checkDir(fs, dir); - Scan scan = Export.getConfiguredScanForJob(conf, otherArgs); - final ExportProtos.ExportRequest request = getConfiguredRequestForJob(conf, otherArgs, scan); - try (Connection con = ConnectionFactory.createConnection(conf); - Table table = con.getTable(tableName)) { - return table.coprocessorService(ExportProtos.ExportService.class, - scan.getStartRow(), - scan.getStopRow(), new Batch.Call() { - @Override - public ExportProtos.ExportResponse call(ExportProtos.ExportService service) throws IOException { - ServerRpcController controller = new ServerRpcController(); - BlockingRpcCallback rpcCallback = new BlockingRpcCallback<>(); - service.export(controller, request, rpcCallback); - if (controller.failedOnException()) { - throw controller.getFailedOn(); - } - return rpcCallback.get(); - } - }); - } catch (Throwable e) { - fs.delete(new Path(dir), true); - throw e; - } - } - private static void checkDir(final FileSystem fs, final String path) throws IOException { - Path dir = fs.makeQualified(new Path(path)); - if (fs.exists(dir)) { - throw new RuntimeException("The " + path + " exists"); - } - fs.mkdirs(dir); - fs.setPermission(dir, new FsPermission(FsAction.ALL, FsAction.ALL, FsAction.ALL)); - } - private static ExportProtos.ExportRequest getConfiguredRequestForJob(Configuration conf, - String[] args, final Scan scan) throws IOException { - String dir = args[1]; - boolean compressed = conf.getBoolean(FileOutputFormat.COMPRESS, true); - String compressionType = conf.get(FileOutputFormat.COMPRESS_TYPE, - SequenceFile.CompressionType.RECORD.toString()); - String compressionCodec = conf.get(FileOutputFormat.COMPRESS_CODEC, - DefaultCodec.class.getName()); - LOG.info("compressed=" + compressed - + ", compression type=" + compressionType - + ", compression codec=" + compressionCodec); - return ExportProtos.ExportRequest.newBuilder() - .setScan(ProtobufUtil.toScan(scan)) - .setOutputPath(dir) - .setCompressed(compressed) - .setCompressCodec(compressionCodec) - .setCompressType(compressionType) - .build(); - } -} diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Export.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Export.java index 4ccbe304c3b..56d229a4234 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Export.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Export.java @@ -86,7 +86,7 @@ public class Export extends Configured implements Tool { return job; } - public static Scan getConfiguredScanForJob(Configuration conf, String[] args) throws IOException { + private static Scan getConfiguredScanForJob(Configuration conf, String[] args) throws IOException { Scan s = new Scan(); // Optional arguments. // Set Scan Versions @@ -150,7 +150,7 @@ public class Export extends Configured implements Tool { /* * @param errorMsg Error message. Can be null. */ - public static void usage(final String errorMsg) { + private static void usage(final String errorMsg) { if (errorMsg != null && errorMsg.length() > 0) { System.err.println("ERROR: " + errorMsg); } @@ -176,12 +176,11 @@ public class Export extends Configured implements Tool { System.err.println("For tables with very wide rows consider setting the batch size as below:\n" + " -D" + EXPORT_BATCHING + "=10"); } - public static boolean checkArguments(final String[] args) { - return args.length >= 2; - } + + @Override public int run(String[] args) throws Exception { - if (!checkArguments(args)) { + if (args.length < 2) { usage("Wrong number of arguments: " + args.length); return -1; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java index 7c74913097f..50146fd651c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java @@ -17,7 +17,13 @@ */ package org.apache.hadoop.hbase.mapreduce; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Matchers.any; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.io.ByteArrayOutputStream; @@ -28,10 +34,11 @@ import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.NavigableMap; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HConstants; @@ -52,8 +59,6 @@ import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.coprocessor.ExportEndpoint; import org.apache.hadoop.hbase.filter.Filter; import org.apache.hadoop.hbase.filter.FilterBase; import org.apache.hadoop.hbase.filter.PrefixFilter; @@ -67,10 +72,7 @@ import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.VerySlowMapReduceTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.LauncherSecurityManager; -import org.apache.hadoop.io.SequenceFile; -import org.apache.hadoop.io.compress.BZip2Codec; import org.apache.hadoop.mapreduce.Mapper.Context; -import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.ToolRunner; import org.junit.After; import org.junit.AfterClass; @@ -83,12 +85,6 @@ import org.junit.experimental.categories.Category; import org.junit.rules.TestName; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.mock; /** * Tests the table import and table export MR job functionality @@ -110,40 +106,14 @@ public class TestImportExport { private static final String EXPORT_BATCH_SIZE = "100"; private static long now = System.currentTimeMillis(); - private static final Exporter EXPORTER_MR = new Exporter() { - @Override - public boolean runExport(String[] args) throws Throwable { - // need to make a copy of the configuration because to make sure different temp dirs are used. - int status = ToolRunner.run(new Configuration(UTIL.getConfiguration()), new Export(), args); - return status == 0; - } - @Override - public String toString() { - return "MR-based export"; - } - }; - private static final Exporter EXPORTER_ENDPOINT = new Exporter() { - @Override - public boolean runExport(String[] args) throws Throwable { - ExportEndpoint.run(new Configuration(UTIL.getConfiguration()), args); - return true; - } - @Override - public String toString() { - return "Endpoint-based export"; - } - }; - private static final List EXPORTERS = Arrays.asList(EXPORTER_MR, EXPORTER_ENDPOINT); + @BeforeClass public static void beforeClass() throws Exception { // Up the handlers; this test needs more than usual. - UTIL.getConfiguration().setStrings(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY, - ExportEndpoint.class.getName()); UTIL.getConfiguration().setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 10); UTIL.startMiniCluster(); - FileSystem fs = FileSystem.get(UTIL.getConfiguration()); FQ_OUTPUT_DIR = - new Path(OUTPUT_DIR).makeQualified(fs.getUri(), fs.getWorkingDirectory()).toString(); + new Path(OUTPUT_DIR).makeQualified(FileSystem.get(UTIL.getConfiguration())).toString(); } @AfterClass @@ -161,108 +131,47 @@ public class TestImportExport { @Before @After - public void cleanup() throws IOException { - deleteOutput(); - } - - private static void deleteOutput() throws IOException { + public void cleanup() throws Exception { FileSystem fs = FileSystem.get(UTIL.getConfiguration()); fs.delete(new Path(OUTPUT_DIR), true); } + /** + * Runs an export job with the specified command line args + * @param args + * @return true if job completed successfully + * @throws IOException + * @throws InterruptedException + * @throws ClassNotFoundException + */ + boolean runExport(String[] args) throws Exception { + // need to make a copy of the configuration because to make sure different temp dirs are used. + int status = ToolRunner.run(new Configuration(UTIL.getConfiguration()), new Export(), args); + return status == 0; + } + /** * Runs an import job with the specified command line args * @param args * @return true if job completed successfully - * @throws Exception + * @throws IOException + * @throws InterruptedException + * @throws ClassNotFoundException */ boolean runImport(String[] args) throws Exception { // need to make a copy of the configuration because to make sure different temp dirs are used. int status = ToolRunner.run(new Configuration(UTIL.getConfiguration()), new Import(), args); return status == 0; } - /** - * Test the writer's options. - * @throws IOException - */ - @Test - public void testOutputFileFormat() throws IOException, Throwable { - String exportTable = "testOutputFileFormat"; - for (Exporter exporter : EXPORTERS) { - testOutputFileFormat(exportTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - deleteOutput(); - } - } - /** - * Test the writer's options. - * @throws IOException - */ - public void testOutputFileFormat(final String exportTable, final Exporter exporter) throws IOException, Throwable { - String codec = BZip2Codec.class.getName(); - String type = SequenceFile.CompressionType.RECORD.name(); - try (Table t = UTIL.createTable(TableName.valueOf(exportTable), FAMILYA, 3);) { - Put p = new Put(ROW1); - p.addColumn(FAMILYA, QUAL, now, QUAL); - t.put(p); - p = new Put(ROW2); - p.addColumn(FAMILYA, QUAL, now, QUAL); - t.put(p); - p = new Put(ROW3); - p.addColumn(FAMILYA, QUAL, now, QUAL); - t.put(p); - } - //use compress - String[] args = new String[] { - // Only export row1 & row2. - "-D" + FileOutputFormat.COMPRESS + "=true", - "-D" + FileOutputFormat.COMPRESS_CODEC + "=" + codec, - "-D" + FileOutputFormat.COMPRESS_TYPE + "=" + type, - exportTable, - FQ_OUTPUT_DIR - }; - assertTrue(exporter.toString(), exporter.runExport(args)); - FileSystem fs = FileSystem.get(UTIL.getConfiguration()); - List files = Arrays.asList(fs.listStatus(new Path(FQ_OUTPUT_DIR))); - assertEquals(exporter.toString(), false, files.isEmpty()); - Configuration copy = new Configuration(UTIL.getConfiguration()); - //need to make a copy of the configuration because to make sure the Exporter has set the "io.serializations" - copy.setStrings("io.serializations", copy.get("io.serializations"), - ResultSerialization.class.getName()); - for (FileStatus file : files) { - Path path = file.getPath(); - //skips the MR meta output - if (path.getName().equals("_SUCCESS")) { - continue; - } - try (SequenceFile.Reader reader = new SequenceFile.Reader( - copy, SequenceFile.Reader.file(file.getPath()))) { - assertEquals(exporter.toString(), reader.getCompressionCodec().getClass().getName(), codec); - assertEquals(exporter.toString(), reader.getCompressionType().name(), type); - } - } - } + /** * Test simple replication case with column mapping - * @throws IOException + * @throws Exception */ @Test - public void testSimpleCase() throws IOException, Throwable { - String exportTable = "exportSimpleCase"; - String importTable = "importTableSimpleCase"; - for (Exporter exporter : EXPORTERS) { - testSimpleCase(exportTable, importTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - UTIL.deleteTable(TableName.valueOf(importTable)); - deleteOutput(); - } - } - /** - * Test simple replication case with column mapping. - */ - public void testSimpleCase(final String exportTable, final String importTable, - final Exporter exporter) throws IOException, Throwable { - try (Table t = UTIL.createTable(TableName.valueOf(exportTable), FAMILYA, 3);) { + public void testSimpleCase() throws Exception { + String EXPORT_TABLE = "exportSimpleCase"; + try (Table t = UTIL.createTable(TableName.valueOf(EXPORT_TABLE), FAMILYA, 3);) { Put p = new Put(ROW1); p.addColumn(FAMILYA, QUAL, now, QUAL); p.addColumn(FAMILYA, QUAL, now + 1, QUAL); @@ -280,53 +189,53 @@ public class TestImportExport { t.put(p); } - String[] args = new String[] { - // Only export row1 & row2. - "-D" + TableInputFormat.SCAN_ROW_START + "=\\x32row1", - "-D" + TableInputFormat.SCAN_ROW_STOP + "=\\x32row3", - exportTable, - FQ_OUTPUT_DIR, - "1000", // max number of key versions per key to export - }; - assertTrue(exporter.toString(), exporter.runExport(args)); - - try (Table t = UTIL.createTable(TableName.valueOf(importTable), FAMILYB, 3);) { - args = new String[] { - "-D" + Import.CF_RENAME_PROP + "="+FAMILYA_STRING+":"+FAMILYB_STRING, - importTable, - FQ_OUTPUT_DIR + String[] args = new String[] { + // Only export row1 & row2. + "-D" + TableInputFormat.SCAN_ROW_START + "=\\x32row1", + "-D" + TableInputFormat.SCAN_ROW_STOP + "=\\x32row3", + EXPORT_TABLE, + FQ_OUTPUT_DIR, + "1000", // max number of key versions per key to export }; - assertTrue(exporter.toString(), runImport(args)); + assertTrue(runExport(args)); - Get g = new Get(ROW1); - g.setMaxVersions(); - Result r = t.get(g); - assertEquals(exporter.toString(), 3, r.size()); - g = new Get(ROW2); - g.setMaxVersions(); - r = t.get(g); - assertEquals(exporter.toString(), 3, r.size()); - g = new Get(ROW3); - r = t.get(g); - assertEquals(exporter.toString(), 0, r.size()); - } + String IMPORT_TABLE = "importTableSimpleCase"; + try (Table t = UTIL.createTable(TableName.valueOf(IMPORT_TABLE), FAMILYB, 3);) { + args = new String[] { + "-D" + Import.CF_RENAME_PROP + "="+FAMILYA_STRING+":"+FAMILYB_STRING, + IMPORT_TABLE, + FQ_OUTPUT_DIR + }; + assertTrue(runImport(args)); + + Get g = new Get(ROW1); + g.setMaxVersions(); + Result r = t.get(g); + assertEquals(3, r.size()); + g = new Get(ROW2); + g.setMaxVersions(); + r = t.get(g); + assertEquals(3, r.size()); + g = new Get(ROW3); + r = t.get(g); + assertEquals(0, r.size()); + } } + /** * Test export hbase:meta table * - * @throws IOException + * @throws Exception */ @Test - public void testMetaExport() throws IOException, Throwable { - String exportTable = TableName.META_TABLE_NAME.getNameAsString(); - String[] args = new String[] { exportTable, FQ_OUTPUT_DIR, "1", "0", "0" }; - for (Exporter exporter : EXPORTERS) { - assertTrue(exporter.toString(), exporter.runExport(args)); - deleteOutput(); - } + public void testMetaExport() throws Exception { + String EXPORT_TABLE = TableName.META_TABLE_NAME.getNameAsString(); + String[] args = new String[] { EXPORT_TABLE, FQ_OUTPUT_DIR, "1", "0", "0" }; + assertTrue(runExport(args)); } + /** - * Test import data from 0.94 exported file. + * Test import data from 0.94 exported file * @throws Exception */ @Test @@ -343,11 +252,11 @@ public class TestImportExport { Path importPath = new Path(f.toURI()); FileSystem fs = FileSystem.get(UTIL.getConfiguration()); fs.copyFromLocalFile(importPath, new Path(FQ_OUTPUT_DIR + Path.SEPARATOR + name)); - String importTable = name; - try (Table t = UTIL.createTable(TableName.valueOf(importTable), Bytes.toBytes("f1"), 3);) { + String IMPORT_TABLE = name; + try (Table t = UTIL.createTable(TableName.valueOf(IMPORT_TABLE), Bytes.toBytes("f1"), 3);) { String[] args = new String[] { "-Dhbase.import.version=0.94" , - importTable, FQ_OUTPUT_DIR + IMPORT_TABLE, FQ_OUTPUT_DIR }; assertTrue(runImport(args)); /* exportedTableIn94Format contains 5 rows @@ -361,28 +270,18 @@ public class TestImportExport { assertEquals(5, UTIL.countRows(t)); } } + /** * Test export scanner batching - * @throws java.lang.IOException */ @Test - public void testExportScannerBatching() throws IOException, Throwable { - String exportTable = "exportWithBatch"; - for (Exporter exporter : EXPORTERS) { - testExportScannerBatching(exportTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - deleteOutput(); - } - } - /** - * Test export scanner batching. - */ - public void testExportScannerBatching(final String exportTable, final Exporter exporter) throws IOException, Throwable { - HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(exportTable)); + public void testExportScannerBatching() throws Exception { + String BATCH_TABLE = "exportWithBatch"; + HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(BATCH_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA) .setMaxVersions(1) ); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); try (Table t = UTIL.getConnection().getTable(desc.getTableName());) { Put p = new Put(ROW1); @@ -395,34 +294,25 @@ public class TestImportExport { String[] args = new String[] { "-D" + Export.EXPORT_BATCHING + "=" + EXPORT_BATCH_SIZE, // added scanner batching arg. - exportTable, + BATCH_TABLE, FQ_OUTPUT_DIR }; - assertTrue(exporter.toString(), exporter.runExport(args)); + assertTrue(runExport(args)); FileSystem fs = FileSystem.get(UTIL.getConfiguration()); fs.delete(new Path(FQ_OUTPUT_DIR), true); } } + @Test - public void testWithDeletes() throws IOException, Throwable { - String exportTable = "exportWithDeletes"; - String importTable = "importWithDeletes"; - for (Exporter exporter : EXPORTERS) { - testWithDeletes(exportTable, importTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - UTIL.deleteTable(TableName.valueOf(importTable)); - deleteOutput(); - } - } - public void testWithDeletes(final String exportTable, final String importTable, - final Exporter exporter) throws IOException, Throwable { - HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(exportTable)); + public void testWithDeletes() throws Exception { + String EXPORT_TABLE = "exportWithDeletes"; + HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(EXPORT_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA) .setMaxVersions(5) .setKeepDeletedCells(KeepDeletedCells.TRUE) ); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); try (Table t = UTIL.getConnection().getTable(desc.getTableName());) { Put p = new Put(ROW1); @@ -442,23 +332,25 @@ public class TestImportExport { String[] args = new String[] { "-D" + Export.RAW_SCAN + "=true", - exportTable, + EXPORT_TABLE, FQ_OUTPUT_DIR, "1000", // max number of key versions per key to export }; - assertTrue(exporter.toString(), exporter.runExport(args)); - desc = new HTableDescriptor(TableName.valueOf(importTable)); + assertTrue(runExport(args)); + + String IMPORT_TABLE = "importWithDeletes"; + desc = new HTableDescriptor(TableName.valueOf(IMPORT_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA) .setMaxVersions(5) .setKeepDeletedCells(KeepDeletedCells.TRUE) ); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); try (Table t = UTIL.getConnection().getTable(desc.getTableName());) { args = new String[] { - importTable, - FQ_OUTPUT_DIR + IMPORT_TABLE, + FQ_OUTPUT_DIR }; - assertTrue(exporter.toString(), runImport(args)); + assertTrue(runImport(args)); Scan s = new Scan(); s.setMaxVersions(); @@ -466,36 +358,29 @@ public class TestImportExport { ResultScanner scanner = t.getScanner(s); Result r = scanner.next(); Cell[] res = r.rawCells(); - assertTrue(exporter.toString(), CellUtil.isDeleteFamily(res[0])); - assertEquals(exporter.toString(), now+4, res[1].getTimestamp()); - assertEquals(exporter.toString(), now+3, res[2].getTimestamp()); - assertTrue(exporter.toString(), CellUtil.isDelete(res[3])); - assertEquals(exporter.toString(), now+2, res[4].getTimestamp()); - assertEquals(exporter.toString(), now+1, res[5].getTimestamp()); - assertEquals(exporter.toString(), now, res[6].getTimestamp()); + assertTrue(CellUtil.isDeleteFamily(res[0])); + assertEquals(now+4, res[1].getTimestamp()); + assertEquals(now+3, res[2].getTimestamp()); + assertTrue(CellUtil.isDelete(res[3])); + assertEquals(now+2, res[4].getTimestamp()); + assertEquals(now+1, res[5].getTimestamp()); + assertEquals(now, res[6].getTimestamp()); } } + + @Test - public void testWithMultipleDeleteFamilyMarkersOfSameRowSameFamily() throws IOException, Throwable { - String exportTable = "exportWithMultipleDeleteFamilyMarkersOfSameRowSameFamily"; - String importTable = "importWithMultipleDeleteFamilyMarkersOfSameRowSameFamily"; - for (Exporter exporter : EXPORTERS) { - testWithMultipleDeleteFamilyMarkersOfSameRowSameFamily(exportTable, importTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - UTIL.deleteTable(TableName.valueOf(importTable)); - deleteOutput(); - } - } - public void testWithMultipleDeleteFamilyMarkersOfSameRowSameFamily(final String exportTable, final String importTable, - final Exporter exporter) throws IOException, Throwable { - HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(exportTable)); + public void testWithMultipleDeleteFamilyMarkersOfSameRowSameFamily() throws Exception { + TableName EXPORT_TABLE = + TableName.valueOf("exportWithMultipleDeleteFamilyMarkersOfSameRowSameFamily"); + HTableDescriptor desc = new HTableDescriptor(EXPORT_TABLE); desc.addFamily(new HColumnDescriptor(FAMILYA) .setMaxVersions(5) .setKeepDeletedCells(KeepDeletedCells.TRUE) ); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); - Table exportT = UTIL.getConnection().getTable(desc.getTableName()); + Table exportT = UTIL.getConnection().getTable(EXPORT_TABLE); //Add first version of QUAL Put p = new Put(ROW1); @@ -517,24 +402,26 @@ public class TestImportExport { String[] args = new String[] { - "-D" + Export.RAW_SCAN + "=true", exportTable, + "-D" + Export.RAW_SCAN + "=true", EXPORT_TABLE.getNameAsString(), FQ_OUTPUT_DIR, "1000", // max number of key versions per key to export }; - assertTrue(exporter.toString(), exporter.runExport(args)); - desc = new HTableDescriptor(TableName.valueOf(importTable)); + assertTrue(runExport(args)); + + String IMPORT_TABLE = "importWithMultipleDeleteFamilyMarkersOfSameRowSameFamily"; + desc = new HTableDescriptor(TableName.valueOf(IMPORT_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA) .setMaxVersions(5) .setKeepDeletedCells(KeepDeletedCells.TRUE) ); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); - Table importT = UTIL.getConnection().getTable(TableName.valueOf(importTable)); + Table importT = UTIL.getConnection().getTable(TableName.valueOf(IMPORT_TABLE)); args = new String[] { - importTable, + IMPORT_TABLE, FQ_OUTPUT_DIR }; - assertTrue(exporter.toString(), runImport(args)); + assertTrue(runImport(args)); Scan s = new Scan(); s.setMaxVersions(); @@ -547,39 +434,26 @@ public class TestImportExport { Result exportedTResult = exportedTScanner.next(); try { Result.compareResults(exportedTResult, importedTResult); - } catch (IOException e) { + } catch (Exception e) { fail("Original and imported tables data comparision failed with error:"+e.getMessage()); } finally { exportT.close(); importT.close(); } } + /** * Create a simple table, run an Export Job on it, Import with filtering on, verify counts, * attempt with invalid values. */ @Test - public void testWithFilter() throws IOException, Throwable { - String exportTable = "exportSimpleCase_ImportWithFilter"; - String importTable = "importWithFilter"; - for (Exporter exporter : EXPORTERS) { - testWithFilter(exportTable, importTable, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - UTIL.deleteTable(TableName.valueOf(importTable)); - deleteOutput(); - } - } - /** - * Create a simple table, run an Export Job on it, Import with filtering on, verify counts, - * attempt with invalid values. - */ - public void testWithFilter(final String exportTable, final String importTable, - final Exporter exporter) throws IOException, Throwable { + public void testWithFilter() throws Exception { // Create simple table to export - HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(exportTable)); + String EXPORT_TABLE = "exportSimpleCase_ImportWithFilter"; + HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(EXPORT_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA).setMaxVersions(5)); - UTIL.getAdmin().createTable(desc); - Table exportT = UTIL.getConnection().getTable(desc.getTableName()); + UTIL.getHBaseAdmin().createTable(desc); + Table exportTable = UTIL.getConnection().getTable(desc.getTableName()); Put p1 = new Put(ROW1); p1.addColumn(FAMILYA, QUAL, now, QUAL); @@ -592,42 +466,43 @@ public class TestImportExport { Put p2 = new Put(ROW2); p2.addColumn(FAMILYA, QUAL, now, QUAL); - exportT.put(Arrays.asList(p1, p2)); + exportTable.put(Arrays.asList(p1, p2)); // Export the simple table - String[] args = new String[] { exportTable, FQ_OUTPUT_DIR, "1000" }; - assertTrue(exporter.toString(), exporter.runExport(args)); + String[] args = new String[] { EXPORT_TABLE, FQ_OUTPUT_DIR, "1000" }; + assertTrue(runExport(args)); // Import to a new table - desc = new HTableDescriptor(TableName.valueOf(importTable)); + String IMPORT_TABLE = "importWithFilter"; + desc = new HTableDescriptor(TableName.valueOf(IMPORT_TABLE)); desc.addFamily(new HColumnDescriptor(FAMILYA).setMaxVersions(5)); - UTIL.getAdmin().createTable(desc); + UTIL.getHBaseAdmin().createTable(desc); - Table importT = UTIL.getConnection().getTable(desc.getTableName()); + Table importTable = UTIL.getConnection().getTable(desc.getTableName()); args = new String[] { "-D" + Import.FILTER_CLASS_CONF_KEY + "=" + PrefixFilter.class.getName(), - "-D" + Import.FILTER_ARGS_CONF_KEY + "=" + Bytes.toString(ROW1), importTable, + "-D" + Import.FILTER_ARGS_CONF_KEY + "=" + Bytes.toString(ROW1), IMPORT_TABLE, FQ_OUTPUT_DIR, "1000" }; - assertTrue(exporter.toString(), runImport(args)); + assertTrue(runImport(args)); // get the count of the source table for that time range PrefixFilter filter = new PrefixFilter(ROW1); - int count = getCount(exportT, filter); + int count = getCount(exportTable, filter); - Assert.assertEquals("Unexpected row count between export(" + exporter.toString() + ") and import tables", count, - getCount(importT, null)); + Assert.assertEquals("Unexpected row count between export and import tables", count, + getCount(importTable, null)); // and then test that a broken command doesn't bork everything - easier here because we don't // need to re-run the export job args = new String[] { "-D" + Import.FILTER_CLASS_CONF_KEY + "=" + Filter.class.getName(), - "-D" + Import.FILTER_ARGS_CONF_KEY + "=" + Bytes.toString(ROW1) + "", exportTable, + "-D" + Import.FILTER_ARGS_CONF_KEY + "=" + Bytes.toString(ROW1) + "", EXPORT_TABLE, FQ_OUTPUT_DIR, "1000" }; assertFalse(runImport(args)); // cleanup - exportT.close(); - importT.close(); + exportTable.close(); + importTable.close(); } /** @@ -762,50 +637,40 @@ public class TestImportExport { Import.addFilterAndArguments(configuration, FilterBase.class, args); assertEquals("org.apache.hadoop.hbase.filter.FilterBase", - configuration.get(Import.FILTER_CLASS_CONF_KEY)); + configuration.get(Import.FILTER_CLASS_CONF_KEY)); assertEquals("param1,param2", configuration.get(Import.FILTER_ARGS_CONF_KEY)); } + @Test - public void testDurability() throws IOException, Throwable { - String exportTable = "exporttestDurability"; - String importTable = "importTestDurability1"; - String importTableV2 = "importTestDurability2"; - for (Exporter exporter : EXPORTERS) { - testDurability(exportTable, importTable, importTableV2, exporter); - UTIL.deleteTable(TableName.valueOf(exportTable)); - UTIL.deleteTable(TableName.valueOf(importTable)); - UTIL.deleteTable(TableName.valueOf(importTableV2)); - deleteOutput(); - } - } - public void testDurability(final String exportTable, final String importTable, final String importTable2, - final Exporter exporter) throws IOException, Throwable { + public void testDurability() throws Exception { // Create an export table. - try (Table exportT = UTIL.createTable(TableName.valueOf(exportTable), FAMILYA, 3);) { + String exportTableName = "exporttestDurability"; + try (Table exportTable = UTIL.createTable(TableName.valueOf(exportTableName), FAMILYA, 3);) { // Insert some data Put put = new Put(ROW1); put.addColumn(FAMILYA, QUAL, now, QUAL); put.addColumn(FAMILYA, QUAL, now + 1, QUAL); put.addColumn(FAMILYA, QUAL, now + 2, QUAL); - exportT.put(put); + exportTable.put(put); put = new Put(ROW2); put.addColumn(FAMILYA, QUAL, now, QUAL); put.addColumn(FAMILYA, QUAL, now + 1, QUAL); put.addColumn(FAMILYA, QUAL, now + 2, QUAL); - exportT.put(put); + exportTable.put(put); // Run the export - String[] args = new String[] { exportTable, FQ_OUTPUT_DIR, "1000"}; - assertTrue(exporter.toString(), exporter.runExport(args)); + String[] args = new String[] { exportTableName, FQ_OUTPUT_DIR, "1000"}; + assertTrue(runExport(args)); // Create the table for import - Table importT = UTIL.createTable(TableName.valueOf(importTable), FAMILYA, 3); + String importTableName = "importTestDurability1"; + Table importTable = UTIL.createTable(TableName.valueOf(importTableName), FAMILYA, 3); // Register the wal listener for the import table HRegionInfo region = UTIL.getHBaseCluster().getRegionServerThreads().get(0).getRegionServer() - .getOnlineRegions(importT.getName()).get(0).getRegionInfo(); + .getOnlineRegions(importTable.getName()).get(0).getRegionInfo(); TableWALActionListener walListener = new TableWALActionListener(region); WAL wal = UTIL.getMiniHBaseCluster().getRegionServer(0).getWAL(region); wal.registerWALActionsListener(walListener); @@ -813,26 +678,27 @@ public class TestImportExport { // Run the import with SKIP_WAL args = new String[] { "-D" + Import.WAL_DURABILITY + "=" + Durability.SKIP_WAL.name(), - importTable, FQ_OUTPUT_DIR }; - assertTrue(exporter.toString(), runImport(args)); + importTableName, FQ_OUTPUT_DIR }; + assertTrue(runImport(args)); //Assert that the wal is not visisted - assertTrue(exporter.toString(), !walListener.isWALVisited()); + assertTrue(!walListener.isWALVisited()); //Ensure that the count is 2 (only one version of key value is obtained) - assertTrue(exporter.toString(), getCount(importT, null) == 2); + assertTrue(getCount(importTable, null) == 2); // Run the import with the default durability option - importT = UTIL.createTable(TableName.valueOf(importTable2), FAMILYA, 3); + importTableName = "importTestDurability2"; + importTable = UTIL.createTable(TableName.valueOf(importTableName), FAMILYA, 3); region = UTIL.getHBaseCluster().getRegionServerThreads().get(0).getRegionServer() - .getOnlineRegions(importT.getName()).get(0).getRegionInfo(); + .getOnlineRegions(importTable.getName()).get(0).getRegionInfo(); wal = UTIL.getMiniHBaseCluster().getRegionServer(0).getWAL(region); walListener = new TableWALActionListener(region); wal.registerWALActionsListener(walListener); - args = new String[] { importTable2, FQ_OUTPUT_DIR }; - assertTrue(exporter.toString(), runImport(args)); + args = new String[] { importTableName, FQ_OUTPUT_DIR }; + assertTrue(runImport(args)); //Assert that the wal is visisted - assertTrue(exporter.toString(), walListener.isWALVisited()); + assertTrue(walListener.isWALVisited()); //Ensure that the count is 2 (only one version of key value is obtained) - assertTrue(exporter.toString(), getCount(importT, null) == 2); + assertTrue(getCount(importTable, null) == 2); } } @@ -861,7 +727,4 @@ public class TestImportExport { return isVisited; } } - public interface Exporter { - boolean runExport(final String[] args) throws Throwable; - } }