diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java index 53704ea..b86e7ca 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java @@ -26,7 +26,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import com.google.protobuf.HBaseZeroCopyByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.hbase.master.RegionState; @@ -41,6 +40,8 @@ import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.Re import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.VersionedWritable; +import com.google.protobuf.ByteString; + /** * Status information on the HBase cluster. @@ -334,7 +335,7 @@ public class ClusterStatus extends VersionedWritable { ClusterStatusProtos.RegionState rs = rit.getValue().convert(); RegionSpecifier.Builder spec = RegionSpecifier.newBuilder().setType(RegionSpecifierType.REGION_NAME); - spec.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(rit.getKey()))); + spec.setValue(ByteString.copyFrom(Bytes.toBytes(rit.getKey()))); RegionInTransition pbRIT = RegionInTransition.newBuilder().setSpec(spec.build()).setRegionState(rs).build(); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java index 0b7c382..0ce19bb 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java @@ -45,7 +45,7 @@ import org.apache.hadoop.io.Text; import org.apache.hadoop.io.WritableComparable; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -1280,11 +1280,11 @@ public class HColumnDescriptor implements WritableComparable */ public ColumnFamilySchema convert() { ColumnFamilySchema.Builder builder = ColumnFamilySchema.newBuilder(); - builder.setName(HBaseZeroCopyByteString.wrap(getName())); + builder.setName(ByteString.copyFrom(getName())); for (Map.Entry e: this.values.entrySet()) { BytesBytesPair.Builder aBuilder = BytesBytesPair.newBuilder(); - aBuilder.setFirst(HBaseZeroCopyByteString.wrap(e.getKey().get())); - aBuilder.setSecond(HBaseZeroCopyByteString.wrap(e.getValue().get())); + aBuilder.setFirst(ByteString.copyFrom(e.getKey().get())); + aBuilder.setSecond(ByteString.copyFrom(e.getValue().get())); builder.addAttributes(aBuilder.build()); } for (Map.Entry e : this.configuration.entrySet()) { diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java index cc87c49..b9a8107 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience; @@ -842,10 +842,10 @@ public class HRegionInfo implements Comparable { builder.setTableName(ProtobufUtil.toProtoTableName(info.getTable())); builder.setRegionId(info.getRegionId()); if (info.getStartKey() != null) { - builder.setStartKey(HBaseZeroCopyByteString.wrap(info.getStartKey())); + builder.setStartKey(ByteString.copyFrom(info.getStartKey())); } if (info.getEndKey() != null) { - builder.setEndKey(HBaseZeroCopyByteString.wrap(info.getEndKey())); + builder.setEndKey(ByteString.copyFrom(info.getEndKey())); } builder.setOffline(info.isOffline()); builder.setSplit(info.isSplit()); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index 59b1394..a5b886f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -53,7 +53,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Writables; import org.apache.hadoop.io.WritableComparable; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -1412,8 +1412,8 @@ public class HTableDescriptor implements WritableComparable { builder.setTableName(ProtobufUtil.toProtoTableName(getTableName())); for (Map.Entry e: this.values.entrySet()) { BytesBytesPair.Builder aBuilder = BytesBytesPair.newBuilder(); - aBuilder.setFirst(HBaseZeroCopyByteString.wrap(e.getKey().get())); - aBuilder.setSecond(HBaseZeroCopyByteString.wrap(e.getValue().get())); + aBuilder.setFirst(ByteString.copyFrom(e.getKey().get())); + aBuilder.setSecond(ByteString.copyFrom(e.getValue().get())); builder.addAttributes(aBuilder.build()); } for (HColumnDescriptor hcd: getColumnFamilies()) { diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionTransition.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionTransition.java index 0632825..9c63803 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionTransition.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionTransition.java @@ -17,7 +17,7 @@ */ package org.apache.hadoop.hbase; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import org.apache.hadoop.classification.InterfaceAudience; @@ -104,10 +104,10 @@ public class RegionTransition { org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ServerName.newBuilder(). setHostName(sn.getHostname()).setPort(sn.getPort()).setStartCode(sn.getStartcode()).build(); ZooKeeperProtos.RegionTransition.Builder builder = ZooKeeperProtos.RegionTransition.newBuilder(). - setEventTypeCode(type.getCode()).setRegionName(HBaseZeroCopyByteString.wrap(regionName)). + setEventTypeCode(type.getCode()).setRegionName(ByteString.copyFrom(regionName)). setServerName(pbsn); builder.setCreateTime(System.currentTimeMillis()); - if (payload != null) builder.setPayload(HBaseZeroCopyByteString.wrap(payload)); + if (payload != null) builder.setPayload(ByteString.copyFrom(payload)); return new RegionTransition(builder.build()); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java index cc1fcfd..ea092ee 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; @@ -121,7 +121,7 @@ public class BigDecimalColumnInterpreter extends ColumnInterpreter(); for(Pair el: familyPaths) { protoFamilyPaths.add(ClientProtos.BulkLoadHFileRequest.FamilyPath.newBuilder() - .setFamily(HBaseZeroCopyByteString.wrap(el.getFirst())) + .setFamily(ByteString.copyFrom(el.getFirst())) .setPath(el.getSecond()).build()); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java index 73d735a..6c0d6ec 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java @@ -18,7 +18,7 @@ */ package org.apache.hadoop.hbase.filter; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.hbase.exceptions.DeserializationException; @@ -53,7 +53,7 @@ public abstract class ByteArrayComparable implements Comparable { ComparatorProtos.ByteArrayComparable convert() { ComparatorProtos.ByteArrayComparable.Builder builder = ComparatorProtos.ByteArrayComparable.newBuilder(); - if (value != null) builder.setValue(HBaseZeroCopyByteString.wrap(value)); + if (value != null) builder.setValue(ByteString.copyFrom(value)); return builder.build(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java index 9cf1c4e..29b44ef 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java @@ -29,7 +29,7 @@ import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -175,7 +175,7 @@ public class ColumnPaginationFilter extends FilterBase builder.setOffset(this.offset); } if (this.columnOffset != null) { - builder.setColumnOffset(HBaseZeroCopyByteString.wrap(this.columnOffset)); + builder.setColumnOffset(ByteString.copyFrom(this.columnOffset)); } return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java index 01138c9..ab342c1 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java @@ -30,7 +30,7 @@ import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -95,7 +95,7 @@ public class ColumnPrefixFilter extends FilterBase { public byte [] toByteArray() { FilterProtos.ColumnPrefixFilter.Builder builder = FilterProtos.ColumnPrefixFilter.newBuilder(); - if (this.prefix != null) builder.setPrefix(HBaseZeroCopyByteString.wrap(this.prefix)); + if (this.prefix != null) builder.setPrefix(ByteString.copyFrom(this.prefix)); return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java index 2c254fe..3cc34e8 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java @@ -32,7 +32,7 @@ import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -173,9 +173,9 @@ public class ColumnRangeFilter extends FilterBase { public byte [] toByteArray() { FilterProtos.ColumnRangeFilter.Builder builder = FilterProtos.ColumnRangeFilter.newBuilder(); - if (this.minColumn != null) builder.setMinColumn(HBaseZeroCopyByteString.wrap(this.minColumn)); + if (this.minColumn != null) builder.setMinColumn(ByteString.copyFrom(this.minColumn)); builder.setMinColumnInclusive(this.minColumnInclusive); - if (this.maxColumn != null) builder.setMaxColumn(HBaseZeroCopyByteString.wrap(this.maxColumn)); + if (this.maxColumn != null) builder.setMaxColumn(ByteString.copyFrom(this.maxColumn)); builder.setMaxColumnInclusive(this.maxColumnInclusive); return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java index 1f5fd95..bc4670e 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java @@ -37,7 +37,7 @@ import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -226,10 +226,10 @@ public class DependentColumnFilter extends CompareFilter { FilterProtos.DependentColumnFilter.newBuilder(); builder.setCompareFilter(super.convert()); if (this.columnFamily != null) { - builder.setColumnFamily(HBaseZeroCopyByteString.wrap(this.columnFamily)); + builder.setColumnFamily(ByteString.copyFrom(this.columnFamily)); } if (this.columnQualifier != null) { - builder.setColumnQualifier(HBaseZeroCopyByteString.wrap(this.columnQualifier)); + builder.setColumnQualifier(ByteString.copyFrom(this.columnQualifier)); } builder.setDropDependentColumn(this.dropDependentColumn); return builder.build().toByteArray(); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java index e9cd3e2..8aad386 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java @@ -30,7 +30,7 @@ import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; import com.google.protobuf.ByteString; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -86,7 +86,7 @@ public class FirstKeyValueMatchingQualifiersFilter extends FirstKeyOnlyFilter { FilterProtos.FirstKeyValueMatchingQualifiersFilter.Builder builder = FilterProtos.FirstKeyValueMatchingQualifiersFilter.newBuilder(); for (byte[] qualifier : qualifiers) { - if (qualifier != null) builder.addQualifiers(HBaseZeroCopyByteString.wrap(qualifier)); + if (qualifier != null) builder.addQualifiers(ByteString.copyFrom(qualifier)); } return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java index 118811d..69cf1ab 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java @@ -32,7 +32,7 @@ import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.BytesBytesPair; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Pair; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -147,8 +147,8 @@ public class FuzzyRowFilter extends FilterBase { FilterProtos.FuzzyRowFilter.newBuilder(); for (Pair fuzzyData : fuzzyKeysData) { BytesBytesPair.Builder bbpBuilder = BytesBytesPair.newBuilder(); - bbpBuilder.setFirst(HBaseZeroCopyByteString.wrap(fuzzyData.getFirst())); - bbpBuilder.setSecond(HBaseZeroCopyByteString.wrap(fuzzyData.getSecond())); + bbpBuilder.setFirst(ByteString.copyFrom(fuzzyData.getFirst())); + bbpBuilder.setSecond(ByteString.copyFrom(fuzzyData.getSecond())); builder.addFuzzyKeysData(bbpBuilder); } return builder.build().toByteArray(); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java index 2c03067..7576d12 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java @@ -21,7 +21,7 @@ package org.apache.hadoop.hbase.filter; import java.util.ArrayList; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.hbase.Cell; @@ -94,7 +94,7 @@ public class InclusiveStopFilter extends FilterBase { public byte [] toByteArray() { FilterProtos.InclusiveStopFilter.Builder builder = FilterProtos.InclusiveStopFilter.newBuilder(); - if (this.stopRowKey != null) builder.setStopRowKey(HBaseZeroCopyByteString.wrap(this.stopRowKey)); + if (this.stopRowKey != null) builder.setStopRowKey(ByteString.copyFrom(this.stopRowKey)); return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java index 7328efe..4daf27b 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java @@ -31,7 +31,7 @@ import org.apache.hadoop.hbase.exceptions.DeserializationException; import org.apache.hadoop.hbase.protobuf.generated.FilterProtos; import org.apache.hadoop.hbase.util.Bytes; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -114,7 +114,7 @@ public class MultipleColumnPrefixFilter extends FilterBase { FilterProtos.MultipleColumnPrefixFilter.Builder builder = FilterProtos.MultipleColumnPrefixFilter.newBuilder(); for (byte [] element : sortedPrefixes) { - if (element != null) builder.addSortedPrefixes(HBaseZeroCopyByteString.wrap(element)); + if (element != null) builder.addSortedPrefixes(ByteString.copyFrom(element)); } return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java index 29bdcde..24e0eea 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.filter; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import org.apache.hadoop.classification.InterfaceAudience; @@ -98,7 +98,7 @@ public class PrefixFilter extends FilterBase { public byte [] toByteArray() { FilterProtos.PrefixFilter.Builder builder = FilterProtos.PrefixFilter.newBuilder(); - if (this.prefix != null) builder.setPrefix(HBaseZeroCopyByteString.wrap(this.prefix)); + if (this.prefix != null) builder.setPrefix(ByteString.copyFrom(this.prefix)); return builder.build().toByteArray(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java index 34d6549..3cfe694 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java @@ -40,7 +40,7 @@ import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.CompareType; import org.apache.hadoop.hbase.util.Bytes; import com.google.common.base.Preconditions; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; /** @@ -308,10 +308,10 @@ public class SingleColumnValueFilter extends FilterBase { FilterProtos.SingleColumnValueFilter.Builder builder = FilterProtos.SingleColumnValueFilter.newBuilder(); if (this.columnFamily != null) { - builder.setColumnFamily(HBaseZeroCopyByteString.wrap(this.columnFamily)); + builder.setColumnFamily(ByteString.copyFrom(this.columnFamily)); } if (this.columnQualifier != null) { - builder.setColumnQualifier(HBaseZeroCopyByteString.wrap(this.columnQualifier)); + builder.setColumnQualifier(ByteString.copyFrom(this.columnQualifier)); } HBaseProtos.CompareType compareOp = CompareType.valueOf(this.compareOp.name()); builder.setCompareOp(compareOp); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.java index 97fdb6f..8394197 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.ipc; import java.io.IOException; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience; @@ -61,7 +61,7 @@ public class MasterCoprocessorRpcChannel extends CoprocessorRpcChannel{ final ClientProtos.CoprocessorServiceCall call = ClientProtos.CoprocessorServiceCall.newBuilder() - .setRow(HBaseZeroCopyByteString.wrap(HConstants.EMPTY_BYTE_ARRAY)) + .setRow(ByteString.copyFrom(HConstants.EMPTY_BYTE_ARRAY)) .setServiceName(method.getService().getFullName()) .setMethodName(method.getName()) .setRequest(request.toByteString()).build(); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.java index e627662..39375a9 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.ipc; import java.io.IOException; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience; @@ -81,7 +81,7 @@ public class RegionCoprocessorRpcChannel extends CoprocessorRpcChannel{ final ClientProtos.CoprocessorServiceCall call = ClientProtos.CoprocessorServiceCall.newBuilder() - .setRow(HBaseZeroCopyByteString.wrap(row)) + .setRow(ByteString.copyFrom(row)) .setServiceName(method.getService().getFullName()) .setMethodName(method.getName()) .setRequest(request.toByteString()).build(); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java index f875e7e..e3ddea4 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java @@ -36,7 +36,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.NavigableSet; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Cell; @@ -824,17 +824,17 @@ public final class ProtobufUtil { NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder(); for (Map.Entry attribute: attributes.entrySet()) { attributeBuilder.setName(attribute.getKey()); - attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue())); + attributeBuilder.setValue(ByteString.copyFrom(attribute.getValue())); scanBuilder.addAttribute(attributeBuilder.build()); } } byte[] startRow = scan.getStartRow(); if (startRow != null && startRow.length > 0) { - scanBuilder.setStartRow(HBaseZeroCopyByteString.wrap(startRow)); + scanBuilder.setStartRow(ByteString.copyFrom(startRow)); } byte[] stopRow = scan.getStopRow(); if (stopRow != null && stopRow.length > 0) { - scanBuilder.setStopRow(HBaseZeroCopyByteString.wrap(stopRow)); + scanBuilder.setStopRow(ByteString.copyFrom(stopRow)); } if (scan.hasFilter()) { scanBuilder.setFilter(ProtobufUtil.toFilter(scan.getFilter())); @@ -843,12 +843,12 @@ public final class ProtobufUtil { Column.Builder columnBuilder = Column.newBuilder(); for (Map.Entry> family: scan.getFamilyMap().entrySet()) { - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey())); + columnBuilder.setFamily(ByteString.copyFrom(family.getKey())); NavigableSet qualifiers = family.getValue(); columnBuilder.clearQualifier(); if (qualifiers != null && qualifiers.size() > 0) { for (byte [] qualifier: qualifiers) { - columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + columnBuilder.addQualifier(ByteString.copyFrom(qualifier)); } } scanBuilder.addColumn(columnBuilder.build()); @@ -956,7 +956,7 @@ public final class ProtobufUtil { final Get get) throws IOException { ClientProtos.Get.Builder builder = ClientProtos.Get.newBuilder(); - builder.setRow(HBaseZeroCopyByteString.wrap(get.getRow())); + builder.setRow(ByteString.copyFrom(get.getRow())); builder.setCacheBlocks(get.getCacheBlocks()); builder.setMaxVersions(get.getMaxVersions()); if (get.getFilter() != null) { @@ -975,7 +975,7 @@ public final class ProtobufUtil { NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder(); for (Map.Entry attribute: attributes.entrySet()) { attributeBuilder.setName(attribute.getKey()); - attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue())); + attributeBuilder.setValue(ByteString.copyFrom(attribute.getValue())); builder.addAttribute(attributeBuilder.build()); } } @@ -984,11 +984,11 @@ public final class ProtobufUtil { Map> families = get.getFamilyMap(); for (Map.Entry> family: families.entrySet()) { NavigableSet qualifiers = family.getValue(); - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey())); + columnBuilder.setFamily(ByteString.copyFrom(family.getKey())); columnBuilder.clearQualifier(); if (qualifiers != null && qualifiers.size() > 0) { for (byte[] qualifier: qualifiers) { - columnBuilder.addQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + columnBuilder.addQualifier(ByteString.copyFrom(qualifier)); } } builder.addColumn(columnBuilder.build()); @@ -1017,7 +1017,7 @@ public final class ProtobufUtil { */ public static MutationProto toMutation( final Increment increment, final MutationProto.Builder builder, long nonce) { - builder.setRow(HBaseZeroCopyByteString.wrap(increment.getRow())); + builder.setRow(ByteString.copyFrom(increment.getRow())); builder.setMutateType(MutationType.INCREMENT); builder.setDurability(toDurability(increment.getDurability())); if (nonce != HConstants.NO_NONCE) { @@ -1034,18 +1034,18 @@ public final class ProtobufUtil { ColumnValue.Builder columnBuilder = ColumnValue.newBuilder(); QualifierValue.Builder valueBuilder = QualifierValue.newBuilder(); for (Map.Entry> family: increment.getFamilyCellMap().entrySet()) { - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey())); + columnBuilder.setFamily(ByteString.copyFrom(family.getKey())); columnBuilder.clearQualifierValue(); List values = family.getValue(); if (values != null && values.size() > 0) { for (Cell cell: values) { KeyValue kv = KeyValueUtil.ensureKeyValue(cell); - valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap( + valueBuilder.setQualifier(ByteString.copyFrom( kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength())); - valueBuilder.setValue(HBaseZeroCopyByteString.wrap( + valueBuilder.setValue(ByteString.copyFrom( kv.getValueArray(), kv.getValueOffset(), kv.getValueLength())); if (kv.getTagsLength() > 0) { - valueBuilder.setTags(HBaseZeroCopyByteString.wrap(kv.getTagsArray(), + valueBuilder.setTags(ByteString.copyFrom(kv.getTagsArray(), kv.getTagsOffset(), kv.getTagsLength())); } columnBuilder.addQualifierValue(valueBuilder.build()); @@ -1058,7 +1058,7 @@ public final class ProtobufUtil { NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder(); for (Map.Entry attribute : attributes.entrySet()) { attributeBuilder.setName(attribute.getKey()); - attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue())); + attributeBuilder.setValue(ByteString.copyFrom(attribute.getValue())); builder.addAttribute(attributeBuilder.build()); } } @@ -1099,12 +1099,12 @@ public final class ProtobufUtil { QualifierValue.Builder valueBuilder = QualifierValue.newBuilder(); for (Map.Entry> family: mutation.getFamilyCellMap().entrySet()) { columnBuilder.clear(); - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family.getKey())); + columnBuilder.setFamily(ByteString.copyFrom(family.getKey())); for (Cell cell: family.getValue()) { KeyValue kv = KeyValueUtil.ensureKeyValue(cell); - valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap( + valueBuilder.setQualifier(ByteString.copyFrom( kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength())); - valueBuilder.setValue(HBaseZeroCopyByteString.wrap( + valueBuilder.setValue(ByteString.copyFrom( kv.getValueArray(), kv.getValueOffset(), kv.getValueLength())); valueBuilder.setTimestamp(kv.getTimestamp()); if(cell.getTagsLength() > 0) { @@ -1168,7 +1168,7 @@ public final class ProtobufUtil { */ private static MutationProto.Builder getMutationBuilderAndSetCommonFields(final MutationType type, final Mutation mutation, MutationProto.Builder builder) { - builder.setRow(HBaseZeroCopyByteString.wrap(mutation.getRow())); + builder.setRow(ByteString.copyFrom(mutation.getRow())); builder.setMutateType(type); builder.setDurability(toDurability(mutation.getDurability())); builder.setTimestamp(mutation.getTimeStamp()); @@ -1177,7 +1177,7 @@ public final class ProtobufUtil { NameBytesPair.Builder attributeBuilder = NameBytesPair.newBuilder(); for (Map.Entry attribute: attributes.entrySet()) { attributeBuilder.setName(attribute.getKey()); - attributeBuilder.setValue(HBaseZeroCopyByteString.wrap(attribute.getValue())); + attributeBuilder.setValue(ByteString.copyFrom(attribute.getValue())); builder.addAttribute(attributeBuilder.build()); } } @@ -1308,7 +1308,7 @@ public final class ProtobufUtil { public static ComparatorProtos.Comparator toComparator(ByteArrayComparable comparator) { ComparatorProtos.Comparator.Builder builder = ComparatorProtos.Comparator.newBuilder(); builder.setName(comparator.getClass().getName()); - builder.setSerializedComparator(HBaseZeroCopyByteString.wrap(comparator.toByteArray())); + builder.setSerializedComparator(ByteString.copyFrom(comparator.toByteArray())); return builder.build(); } @@ -1370,7 +1370,7 @@ public final class ProtobufUtil { public static FilterProtos.Filter toFilter(Filter filter) throws IOException { FilterProtos.Filter.Builder builder = FilterProtos.Filter.newBuilder(); builder.setName(filter.getClass().getName()); - builder.setSerializedFilter(HBaseZeroCopyByteString.wrap(filter.toByteArray())); + builder.setSerializedFilter(ByteString.copyFrom(filter.toByteArray())); return builder.build(); } @@ -1840,10 +1840,10 @@ public final class ProtobufUtil { AccessControlProtos.TablePermission.newBuilder(); builder.setTableName(ProtobufUtil.toProtoTableName(tablePerm.getTableName())); if (tablePerm.hasFamily()) { - builder.setFamily(HBaseZeroCopyByteString.wrap(tablePerm.getFamily())); + builder.setFamily(ByteString.copyFrom(tablePerm.getFamily())); } if (tablePerm.hasQualifier()) { - builder.setQualifier(HBaseZeroCopyByteString.wrap(tablePerm.getQualifier())); + builder.setQualifier(ByteString.copyFrom(tablePerm.getQualifier())); } Permission.Action actions[] = perm.getActions(); if (actions != null) { @@ -1939,7 +1939,7 @@ public final class ProtobufUtil { */ public static AccessControlProtos.UserPermission toUserPermission(UserPermission perm) { return AccessControlProtos.UserPermission.newBuilder() - .setUser(HBaseZeroCopyByteString.wrap(perm.getUser())) + .setUser(ByteString.copyFrom(perm.getUser())) .setPermission(toPermission(perm)) .build(); } @@ -2195,7 +2195,7 @@ public final class ProtobufUtil { AccessControlProtos.GetUserPermissionsRequest.Builder builder = AccessControlProtos.GetUserPermissionsRequest.newBuilder(); if (namespace != null) { - builder.setNamespaceName(HBaseZeroCopyByteString.wrap(namespace)); + builder.setNamespaceName(ByteString.copyFrom(namespace)); } builder.setType(AccessControlProtos.Permission.Type.Namespace); AccessControlProtos.GetUserPermissionsRequest request = builder.build(); @@ -2239,8 +2239,8 @@ public final class ProtobufUtil { */ public static AuthenticationProtos.Token toToken(Token token) { AuthenticationProtos.Token.Builder builder = AuthenticationProtos.Token.newBuilder(); - builder.setIdentifier(HBaseZeroCopyByteString.wrap(token.getIdentifier())); - builder.setPassword(HBaseZeroCopyByteString.wrap(token.getPassword())); + builder.setIdentifier(ByteString.copyFrom(token.getIdentifier())); + builder.setPassword(ByteString.copyFrom(token.getPassword())); if (token.getService() != null) { builder.setService(ByteString.copyFromUtf8(token.getService().toString())); } @@ -2337,15 +2337,15 @@ public final class ProtobufUtil { // Doing this is going to kill us if we do it for all data passed. // St.Ack 20121205 CellProtos.Cell.Builder kvbuilder = CellProtos.Cell.newBuilder(); - kvbuilder.setRow(HBaseZeroCopyByteString.wrap(kv.getRowArray(), kv.getRowOffset(), + kvbuilder.setRow(ByteString.copyFrom(kv.getRowArray(), kv.getRowOffset(), kv.getRowLength())); - kvbuilder.setFamily(HBaseZeroCopyByteString.wrap(kv.getFamilyArray(), + kvbuilder.setFamily(ByteString.copyFrom(kv.getFamilyArray(), kv.getFamilyOffset(), kv.getFamilyLength())); - kvbuilder.setQualifier(HBaseZeroCopyByteString.wrap(kv.getQualifierArray(), + kvbuilder.setQualifier(ByteString.copyFrom(kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierLength())); kvbuilder.setCellType(CellProtos.CellType.valueOf(kv.getTypeByte())); kvbuilder.setTimestamp(kv.getTimestamp()); - kvbuilder.setValue(HBaseZeroCopyByteString.wrap(kv.getValueArray(), kv.getValueOffset(), + kvbuilder.setValue(ByteString.copyFrom(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength())); return kvbuilder.build(); } @@ -2424,9 +2424,9 @@ public final class ProtobufUtil { // input / output paths are relative to the store dir // store dir is relative to region dir CompactionDescriptor.Builder builder = CompactionDescriptor.newBuilder() - .setTableName(HBaseZeroCopyByteString.wrap(info.getTableName())) - .setEncodedRegionName(HBaseZeroCopyByteString.wrap(info.getEncodedNameAsBytes())) - .setFamilyName(HBaseZeroCopyByteString.wrap(family)) + .setTableName(ByteString.copyFrom(info.getTableName())) + .setEncodedRegionName(ByteString.copyFrom(info.getEncodedNameAsBytes())) + .setFamilyName(ByteString.copyFrom(family)) .setStoreHomeDir(storeDir.getName()); //make relative for (Path inputPath : inputPaths) { builder.addCompactionInput(inputPath.getName()); //relative path @@ -2503,8 +2503,8 @@ public final class ProtobufUtil { public static HBaseProtos.TableName toProtoTableName(TableName tableName) { return HBaseProtos.TableName.newBuilder() - .setNamespace(HBaseZeroCopyByteString.wrap(tableName.getNamespace())) - .setQualifier(HBaseZeroCopyByteString.wrap(tableName.getQualifier())).build(); + .setNamespace(ByteString.copyFrom(tableName.getNamespace())) + .setQualifier(ByteString.copyFrom(tableName.getQualifier())).build(); } public static TableName[] getTableNameArray(List tableNamesList) { diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java index 381ddda..d978198 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.protobuf; import java.io.IOException; import java.util.List; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.configuration.Configuration; import org.apache.hadoop.classification.InterfaceAudience; @@ -138,10 +138,10 @@ public final class RequestConverter { builder.setRegion(region); Column.Builder columnBuilder = Column.newBuilder(); - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + columnBuilder.setFamily(ByteString.copyFrom(family)); ClientProtos.Get.Builder getBuilder = ClientProtos.Get.newBuilder(); - getBuilder.setRow(HBaseZeroCopyByteString.wrap(row)); + getBuilder.setRow(ByteString.copyFrom(row)); getBuilder.addColumn(columnBuilder.build()); getBuilder.setClosestRowBefore(true); builder.setGet(getBuilder.build()); @@ -186,14 +186,14 @@ public final class RequestConverter { builder.setRegion(region); MutationProto.Builder mutateBuilder = MutationProto.newBuilder(); - mutateBuilder.setRow(HBaseZeroCopyByteString.wrap(row)); + mutateBuilder.setRow(ByteString.copyFrom(row)); mutateBuilder.setMutateType(MutationType.INCREMENT); mutateBuilder.setDurability(ProtobufUtil.toDurability(durability)); ColumnValue.Builder columnBuilder = ColumnValue.newBuilder(); - columnBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + columnBuilder.setFamily(ByteString.copyFrom(family)); QualifierValue.Builder valueBuilder = QualifierValue.newBuilder(); - valueBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(amount))); - valueBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + valueBuilder.setValue(ByteString.copyFrom(Bytes.toBytes(amount))); + valueBuilder.setQualifier(ByteString.copyFrom(qualifier)); columnBuilder.addQualifierValue(valueBuilder.build()); mutateBuilder.addColumnValue(columnBuilder.build()); if (nonce != HConstants.NO_NONCE) { @@ -496,7 +496,7 @@ public final class RequestConverter { builder.setRegion(region); FamilyPath.Builder familyPathBuilder = FamilyPath.newBuilder(); for (Pair familyPath: familyPaths) { - familyPathBuilder.setFamily(HBaseZeroCopyByteString.wrap(familyPath.getFirst())); + familyPathBuilder.setFamily(ByteString.copyFrom(familyPath.getFirst())); familyPathBuilder.setPath(familyPath.getSecond()); builder.addFamilyPath(familyPathBuilder.build()); } @@ -541,7 +541,7 @@ public final class RequestConverter { RegionCoprocessorServiceExec exec = (RegionCoprocessorServiceExec) row; regionActionBuilder.addAction(actionBuilder.setServiceCall( ClientProtos.CoprocessorServiceCall.newBuilder() - .setRow(HBaseZeroCopyByteString.wrap(exec.getRow())) + .setRow(ByteString.copyFrom(exec.getRow())) .setServiceName(exec.getMethod().getService().getFullName()) .setMethodName(exec.getMethod().getName()) .setRequest(exec.getRequest().toByteString()))); @@ -672,7 +672,7 @@ public final class RequestConverter { RegionSpecifier region = buildRegionSpecifier( RegionSpecifierType.REGION_NAME, regionName); builder.setRegion(region); - builder.addFamily(HBaseZeroCopyByteString.wrap(family)); + builder.addFamily(ByteString.copyFrom(family)); return builder.build(); } @@ -835,7 +835,7 @@ public final class RequestConverter { RegionSpecifierType.REGION_NAME, regionName); builder.setRegion(region); if (splitPoint != null) { - builder.setSplitPoint(HBaseZeroCopyByteString.wrap(splitPoint)); + builder.setSplitPoint(ByteString.copyFrom(splitPoint)); } return builder.build(); } @@ -875,7 +875,7 @@ public final class RequestConverter { builder.setRegion(region); builder.setMajor(major); if (family != null) { - builder.setFamily(HBaseZeroCopyByteString.wrap(family)); + builder.setFamily(ByteString.copyFrom(family)); } return builder.build(); } @@ -934,7 +934,7 @@ public final class RequestConverter { public static RegionSpecifier buildRegionSpecifier( final RegionSpecifierType type, final byte[] value) { RegionSpecifier.Builder regionBuilder = RegionSpecifier.newBuilder(); - regionBuilder.setValue(HBaseZeroCopyByteString.wrap(value)); + regionBuilder.setValue(ByteString.copyFrom(value)); regionBuilder.setType(type); return regionBuilder.build(); } @@ -955,9 +955,9 @@ public final class RequestConverter { final ByteArrayComparable comparator, final CompareType compareType) throws IOException { Condition.Builder builder = Condition.newBuilder(); - builder.setRow(HBaseZeroCopyByteString.wrap(row)); - builder.setFamily(HBaseZeroCopyByteString.wrap(family)); - builder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + builder.setRow(ByteString.copyFrom(row)); + builder.setFamily(ByteString.copyFrom(family)); + builder.setQualifier(ByteString.copyFrom(qualifier)); builder.setComparator(ProtobufUtil.toComparator(comparator)); builder.setCompareType(compareType); return builder.build(); @@ -989,7 +989,7 @@ public final class RequestConverter { final TableName tableName, final byte [] columnName) { DeleteColumnRequest.Builder builder = DeleteColumnRequest.newBuilder(); builder.setTableName(ProtobufUtil.toProtoTableName((tableName))); - builder.setColumnName(HBaseZeroCopyByteString.wrap(columnName)); + builder.setColumnName(ByteString.copyFrom(columnName)); return builder.build(); } @@ -1144,7 +1144,7 @@ public final class RequestConverter { builder.setTableSchema(hTableDesc.convert()); if (splitKeys != null) { for (byte [] splitKey : splitKeys) { - builder.addSplitKeys(HBaseZeroCopyByteString.wrap(splitKey)); + builder.addSplitKeys(ByteString.copyFrom(splitKey)); } } return builder.build(); @@ -1297,7 +1297,7 @@ public final class RequestConverter { public static GetLastFlushedSequenceIdRequest buildGetLastFlushedSequenceIdRequest( byte[] regionName) { return GetLastFlushedSequenceIdRequest.newBuilder().setRegionName( - HBaseZeroCopyByteString.wrap(regionName)).build(); + ByteString.copyFrom(regionName)).build(); } /** @@ -1352,10 +1352,10 @@ public final class RequestConverter { permissionBuilder.setTableName(ProtobufUtil.toProtoTableName(tableName)); if (family != null) { - permissionBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + permissionBuilder.setFamily(ByteString.copyFrom(family)); } if (qualifier != null) { - permissionBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + permissionBuilder.setQualifier(ByteString.copyFrom(qualifier)); } ret.setType(AccessControlProtos.Permission.Type.Table) .setTablePermission(permissionBuilder); @@ -1448,10 +1448,10 @@ public final class RequestConverter { permissionBuilder.setTableName(ProtobufUtil.toProtoTableName(tableName)); } if (family != null) { - permissionBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + permissionBuilder.setFamily(ByteString.copyFrom(family)); } if (qualifier != null) { - permissionBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + permissionBuilder.setQualifier(ByteString.copyFrom(qualifier)); } ret.setType(AccessControlProtos.Permission.Type.Table) .setTablePermission(permissionBuilder); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java index 2853aaa..e6ef401 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java @@ -26,7 +26,7 @@ import java.security.SecureRandom; import javax.crypto.spec.SecretKeySpec; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; @@ -83,15 +83,15 @@ public class EncryptionUtil { if (cipher.getIvLength() > 0) { iv = new byte[cipher.getIvLength()]; RNG.nextBytes(iv); - builder.setIv(HBaseZeroCopyByteString.wrap(iv)); + builder.setIv(ByteString.copyFrom(iv)); } byte[] keyBytes = key.getEncoded(); builder.setLength(keyBytes.length); - builder.setHash(HBaseZeroCopyByteString.wrap(Encryption.hash128(keyBytes))); + builder.setHash(ByteString.copyFrom(Encryption.hash128(keyBytes))); ByteArrayOutputStream out = new ByteArrayOutputStream(); Encryption.encryptWithSubjectKey(out, new ByteArrayInputStream(keyBytes), subject, conf, cipher, iv); - builder.setData(HBaseZeroCopyByteString.wrap(out.toByteArray())); + builder.setData(ByteString.copyFrom(out.toByteArray())); // Build and return the protobuf message out.reset(); builder.build().writeDelimitedTo(out); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlClient.java index e19c23c..9a78b66 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlClient.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlClient.java @@ -20,7 +20,7 @@ package org.apache.hadoop.hbase.security.access; import java.io.IOException; import java.util.Map; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; @@ -86,10 +86,10 @@ public class AccessControlClient { permissionBuilder.setTableName(ProtobufUtil.toProtoTableName(tableName)); if (family != null) { - permissionBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + permissionBuilder.setFamily(ByteString.copyFrom(family)); } if (qual != null) { - permissionBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qual)); + permissionBuilder.setQualifier(ByteString.copyFrom(qual)); } ret.setType(AccessControlProtos.Permission.Type.Table).setTablePermission( permissionBuilder); @@ -150,10 +150,10 @@ public class AccessControlClient { permissionBuilder.setTableName(ProtobufUtil.toProtoTableName(tableName)); } if (family != null) { - permissionBuilder.setFamily(HBaseZeroCopyByteString.wrap(family)); + permissionBuilder.setFamily(ByteString.copyFrom(family)); } if (qualifier != null) { - permissionBuilder.setQualifier(HBaseZeroCopyByteString.wrap(qualifier)); + permissionBuilder.setQualifier(ByteString.copyFrom(qualifier)); } ret.setType(AccessControlProtos.Permission.Type.Table).setTablePermission( permissionBuilder); diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java index bf1b01f..95112a5 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityClient.java @@ -22,7 +22,7 @@ import static org.apache.hadoop.hbase.security.visibility.VisibilityConstants.LA import java.io.IOException; import java.util.Map; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.conf.Configuration; @@ -86,7 +86,7 @@ public class VisibilityClient { for (String label : labels) { if (label.length() > 0) { VisibilityLabel.Builder newBuilder = VisibilityLabel.newBuilder(); - newBuilder.setLabel(HBaseZeroCopyByteString.wrap(Bytes.toBytes(label))); + newBuilder.setLabel(ByteString.copyFrom(Bytes.toBytes(label))); builder.addVisLabel(newBuilder.build()); } } @@ -137,7 +137,7 @@ public class VisibilityClient { public GetAuthsResponse call(VisibilityLabelsService service) throws IOException { GetAuthsRequest.Builder getAuthReqBuilder = GetAuthsRequest.newBuilder(); - getAuthReqBuilder.setUser(HBaseZeroCopyByteString.wrap(Bytes.toBytes(user))); + getAuthReqBuilder.setUser(ByteString.copyFrom(Bytes.toBytes(user))); service.getAuths(controller, getAuthReqBuilder.build(), rpcCallback); return rpcCallback.get(); } @@ -179,10 +179,10 @@ public class VisibilityClient { public VisibilityLabelsResponse call(VisibilityLabelsService service) throws IOException { SetAuthsRequest.Builder setAuthReqBuilder = SetAuthsRequest.newBuilder(); - setAuthReqBuilder.setUser(HBaseZeroCopyByteString.wrap(Bytes.toBytes(user))); + setAuthReqBuilder.setUser(ByteString.copyFrom(Bytes.toBytes(user))); for (String auth : auths) { if (auth.length() > 0) { - setAuthReqBuilder.addAuth(HBaseZeroCopyByteString.wrap(Bytes.toBytes(auth))); + setAuthReqBuilder.addAuth(ByteString.copyFrom(Bytes.toBytes(auth))); } } if (setOrClear) { diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java index a68d8c9..eeb01ca 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java @@ -35,7 +35,7 @@ import java.util.Properties; import javax.security.auth.login.AppConfigurationEntry; import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -1968,7 +1968,7 @@ public class ZKUtil { for (Map.Entry e : storeSequenceIds.entrySet()){ byte[] columnFamilyName = e.getKey(); Long curSeqId = e.getValue(); - storeSequenceIdBuilder.setFamilyName(HBaseZeroCopyByteString.wrap(columnFamilyName)); + storeSequenceIdBuilder.setFamilyName(ByteString.copyFrom(columnFamilyName)); storeSequenceIdBuilder.setSequenceId(curSeqId); regionSequenceIdsBuilder.addStoreSequenceId(storeSequenceIdBuilder.build()); storeSequenceIdBuilder.clear(); diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java index 2067e01..197cf03 100644 --- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java +++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java @@ -33,7 +33,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; -import com.google.protobuf.HBaseZeroCopyByteString; +import com.google.protobuf.ByteString; import org.apache.commons.lang.NotImplementedException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -510,7 +510,7 @@ public class TestClientNoCluster extends Configured implements Tool { if (max <= 0) break; if (++count > max) break; HRegionInfo hri = e.getValue().getFirst(); - ByteString row = HBaseZeroCopyByteString.wrap(hri.getRegionName()); + ByteString row = ByteString.copyFrom(hri.getRegionName()); resultBuilder.clear(); resultBuilder.addCell(getRegionInfo(row, hri)); resultBuilder.addCell(getServer(row, e.getValue().getSecond())); @@ -565,11 +565,11 @@ public class TestClientNoCluster extends Configured implements Tool { } private final static ByteString CATALOG_FAMILY_BYTESTRING = - HBaseZeroCopyByteString.wrap(HConstants.CATALOG_FAMILY); + ByteString.copyFrom(HConstants.CATALOG_FAMILY); private final static ByteString REGIONINFO_QUALIFIER_BYTESTRING = - HBaseZeroCopyByteString.wrap(HConstants.REGIONINFO_QUALIFIER); + ByteString.copyFrom(HConstants.REGIONINFO_QUALIFIER); private final static ByteString SERVER_QUALIFIER_BYTESTRING = - HBaseZeroCopyByteString.wrap(HConstants.SERVER_QUALIFIER); + ByteString.copyFrom(HConstants.SERVER_QUALIFIER); static CellProtos.Cell.Builder getBaseCellBuilder(final ByteString row) { CellProtos.Cell.Builder cellBuilder = CellProtos.Cell.newBuilder(); @@ -582,7 +582,7 @@ public class TestClientNoCluster extends Configured implements Tool { static CellProtos.Cell getRegionInfo(final ByteString row, final HRegionInfo hri) { CellProtos.Cell.Builder cellBuilder = getBaseCellBuilder(row); cellBuilder.setQualifier(REGIONINFO_QUALIFIER_BYTESTRING); - cellBuilder.setValue(HBaseZeroCopyByteString.wrap(hri.toByteArray())); + cellBuilder.setValue(ByteString.copyFrom(hri.toByteArray())); return cellBuilder.build(); } @@ -595,9 +595,9 @@ public class TestClientNoCluster extends Configured implements Tool { static CellProtos.Cell getStartCode(final ByteString row) { CellProtos.Cell.Builder cellBuilder = getBaseCellBuilder(row); - cellBuilder.setQualifier(HBaseZeroCopyByteString.wrap(HConstants.STARTCODE_QUALIFIER)); + cellBuilder.setQualifier(ByteString.copyFrom(HConstants.STARTCODE_QUALIFIER)); // TODO: - cellBuilder.setValue(HBaseZeroCopyByteString.wrap(Bytes.toBytes(META_SERVERNAME.getStartcode()))); + cellBuilder.setValue(ByteString.copyFrom(Bytes.toBytes(META_SERVERNAME.getStartcode()))); return cellBuilder.build(); } diff --git a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java b/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java deleted file mode 100644 index 68c4f6f..0000000 --- a/hbase-protocol/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java +++ /dev/null @@ -1,68 +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 com.google.protobuf; // This is a lie. - -/** - * Helper class to extract byte arrays from {@link ByteString} without copy. - *

- * Without this protobufs would force us to copy every single byte array out - * of the objects de-serialized from the wire (which already do one copy, on - * top of the copies the JVM does to go from kernel buffer to C buffer and - * from C buffer to JVM buffer). - * - * @since 0.96.1 - */ -public final class HBaseZeroCopyByteString extends LiteralByteString { - // Gotten from AsyncHBase code base with permission. - /** Private constructor so this class cannot be instantiated. */ - private HBaseZeroCopyByteString() { - super(null); - throw new UnsupportedOperationException("Should never be here."); - } - - /** - * Wraps a byte array in a {@link ByteString} without copying it. - */ - public static ByteString wrap(final byte[] array) { - return new LiteralByteString(array); - } - - /** - * Wraps a subset of a byte array in a {@link ByteString} without copying it. - */ - public static ByteString wrap(final byte[] array, int offset, int length) { - return new BoundedByteString(array, offset, length); - } - - // TODO: - // ZeroCopyLiteralByteString.wrap(this.buf, 0, this.count); - - /** - * Extracts the byte array from the given {@link ByteString} without copy. - * @param buf A buffer from which to extract the array. This buffer must be - * actually an instance of a {@code LiteralByteString}. - */ - public static byte[] zeroCopyGetBytes(final ByteString buf) { - if (buf instanceof LiteralByteString) { - return ((LiteralByteString) buf).bytes; - } - throw new UnsupportedOperationException("Need a LiteralByteString, got a " - + buf.getClass().getName()); - } - -} diff --git a/hbase-server/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java b/hbase-server/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java new file mode 100644 index 0000000..68c4f6f --- /dev/null +++ b/hbase-server/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java @@ -0,0 +1,68 @@ +/** + * 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 com.google.protobuf; // This is a lie. + +/** + * Helper class to extract byte arrays from {@link ByteString} without copy. + *

+ * Without this protobufs would force us to copy every single byte array out + * of the objects de-serialized from the wire (which already do one copy, on + * top of the copies the JVM does to go from kernel buffer to C buffer and + * from C buffer to JVM buffer). + * + * @since 0.96.1 + */ +public final class HBaseZeroCopyByteString extends LiteralByteString { + // Gotten from AsyncHBase code base with permission. + /** Private constructor so this class cannot be instantiated. */ + private HBaseZeroCopyByteString() { + super(null); + throw new UnsupportedOperationException("Should never be here."); + } + + /** + * Wraps a byte array in a {@link ByteString} without copying it. + */ + public static ByteString wrap(final byte[] array) { + return new LiteralByteString(array); + } + + /** + * Wraps a subset of a byte array in a {@link ByteString} without copying it. + */ + public static ByteString wrap(final byte[] array, int offset, int length) { + return new BoundedByteString(array, offset, length); + } + + // TODO: + // ZeroCopyLiteralByteString.wrap(this.buf, 0, this.count); + + /** + * Extracts the byte array from the given {@link ByteString} without copy. + * @param buf A buffer from which to extract the array. This buffer must be + * actually an instance of a {@code LiteralByteString}. + */ + public static byte[] zeroCopyGetBytes(final ByteString buf) { + if (buf instanceof LiteralByteString) { + return ((LiteralByteString) buf).bytes; + } + throw new UnsupportedOperationException("Need a LiteralByteString, got a " + + buf.getClass().getName()); + } + +}