HBASE-21650 Add DDL operation and some other miscellaneous to thrift2
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4e8a8467 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4e8a8467 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4e8a8467 Branch: refs/heads/branch-2 Commit: 4e8a846794f88cfd273649cdce6125b6bfc21b2d Parents: 8add791 Author: Allan Yang <allan...@apache.org> Authored: Sat Dec 29 18:04:57 2018 +0800 Committer: Allan Yang <allan...@apache.org> Committed: Sat Dec 29 18:04:57 2018 +0800 ---------------------------------------------------------------------- .../hbase/thrift/generated/AlreadyExists.java | 2 +- .../hbase/thrift/generated/BatchMutation.java | 2 +- .../thrift/generated/ColumnDescriptor.java | 2 +- .../hadoop/hbase/thrift/generated/Hbase.java | 2 +- .../hadoop/hbase/thrift/generated/IOError.java | 2 +- .../hbase/thrift/generated/IllegalArgument.java | 2 +- .../hadoop/hbase/thrift/generated/Mutation.java | 2 +- .../hadoop/hbase/thrift/generated/TAppend.java | 2 +- .../hadoop/hbase/thrift/generated/TCell.java | 2 +- .../hadoop/hbase/thrift/generated/TColumn.java | 2 +- .../hbase/thrift/generated/TIncrement.java | 2 +- .../hbase/thrift/generated/TRegionInfo.java | 2 +- .../hbase/thrift/generated/TRowResult.java | 2 +- .../hadoop/hbase/thrift/generated/TScan.java | 2 +- .../thrift2/ThriftHBaseServiceHandler.java | 290 + .../hadoop/hbase/thrift2/ThriftUtilities.java | 411 +- .../thrift2/generated/NamespaceDescriptor.java | 554 + .../hadoop/hbase/thrift2/generated/TAppend.java | 114 +- .../hbase/thrift2/generated/TAuthorization.java | 2 +- .../thrift2/generated/TBloomFilterType.java | 69 + .../thrift2/generated/TCellVisibility.java | 2 +- .../hadoop/hbase/thrift2/generated/TColumn.java | 2 +- .../generated/TColumnFamilyDescriptor.java | 2519 + .../thrift2/generated/TColumnIncrement.java | 2 +- .../hbase/thrift2/generated/TColumnValue.java | 110 +- .../generated/TCompressionAlgorithm.java | 60 + .../thrift2/generated/TDataBlockEncoding.java | 57 + .../hadoop/hbase/thrift2/generated/TDelete.java | 2 +- .../hbase/thrift2/generated/TDurability.java | 3 + .../hadoop/hbase/thrift2/generated/TGet.java | 410 +- .../hbase/thrift2/generated/THBaseService.java | 44644 +++++++++++++---- .../hbase/thrift2/generated/THRegionInfo.java | 2 +- .../thrift2/generated/THRegionLocation.java | 2 +- .../hbase/thrift2/generated/TIOError.java | 2 +- .../thrift2/generated/TIllegalArgument.java | 2 +- .../hbase/thrift2/generated/TIncrement.java | 114 +- .../thrift2/generated/TKeepDeletedCells.java | 63 + .../thrift2/generated/TNamespaceDescriptor.java | 554 + .../hadoop/hbase/thrift2/generated/TPut.java | 2 +- .../hadoop/hbase/thrift2/generated/TResult.java | 112 +- .../hbase/thrift2/generated/TRowMutations.java | 38 +- .../hadoop/hbase/thrift2/generated/TScan.java | 2 +- .../hbase/thrift2/generated/TServerName.java | 2 +- .../thrift2/generated/TTableDescriptor.java | 843 + .../hbase/thrift2/generated/TTableName.java | 512 + .../hbase/thrift2/generated/TTimeRange.java | 2 +- .../apache/hadoop/hbase/thrift2/hbase.thrift | 229 +- .../thrift2/TestThriftHBaseServiceHandler.java | 96 + 48 files changed, 41553 insertions(+), 10303 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java index 68361c1..8ec3e32 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java @@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory; * An AlreadyExists exceptions signals that a table with the specified * name already exists */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class AlreadyExists extends TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExists"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java index a2920ea..0872223 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * A BatchMutation object is used to apply a number of Mutations to a single row. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable, Comparable<BatchMutation> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchMutation"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java index 3252377..bccd48b 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java @@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory; * such as the number of versions, compression settings, etc. It is * used as input when creating a table or adding a column. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnDescriptor> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnDescriptor"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java index f77ce14..dc4d8bc 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class Hbase { public interface Iface { http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java index 558f3e1..a32b008 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java @@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory; * to the Hbase master or an Hbase region server. Also used to return * more general Hbase error conditions. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class IOError extends TException implements org.apache.thrift.TBase<IOError, IOError._Fields>, java.io.Serializable, Cloneable, Comparable<IOError> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IOError"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java index bd296cc..573c496 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java @@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory; * An IllegalArgument exception indicates an illegal or invalid * argument was passed into a procedure. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class IllegalArgument extends TException implements org.apache.thrift.TBase<IllegalArgument, IllegalArgument._Fields>, java.io.Serializable, Cloneable, Comparable<IllegalArgument> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IllegalArgument"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java index 216df2d..72925b7 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * A Mutation object is used to either update or delete a column-value. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class Mutation implements org.apache.thrift.TBase<Mutation, Mutation._Fields>, java.io.Serializable, Cloneable, Comparable<Mutation> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Mutation"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java index 439d71e..a21b5f7 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * An Append object is used to specify the parameters for performing the append operation. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java index 37021c0..afe0af1 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java @@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory; * the timestamp of a cell to a first-class value, making it easy to take * note of temporal data. Cell is used all the way from HStore up to HTable. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TCell implements org.apache.thrift.TBase<TCell, TCell._Fields>, java.io.Serializable, Cloneable, Comparable<TCell> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TCell"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java index 77e875d..0115bbd 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * Holds column name and the cell. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TColumn implements org.apache.thrift.TBase<TColumn, TColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TColumn> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumn"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java index 22b5f79..7c018f1 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java @@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory; * For increments that are not incrementColumnValue * equivalents. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TIncrement> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIncrement"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java index a1dab6b..ec75247 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * A TRegionInfo contains information about an HTable region. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TRegionInfo implements org.apache.thrift.TBase<TRegionInfo, TRegionInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TRegionInfo> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRegionInfo"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java index 418f503..b09a368 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * Holds row name and then a map of columns to cells. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TRowResult implements org.apache.thrift.TBase<TRowResult, TRowResult._Fields>, java.io.Serializable, Cloneable, Comparable<TRowResult> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRowResult"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java index 3faadd9..97d59c7 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java @@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory; /** * A Scan object is used to specify scanner parameters when opening a scanner. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TScan"); http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java index 8e3ee96..2bfeefe 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java @@ -19,18 +19,28 @@ package org.apache.hadoop.hbase.thrift2; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.appendFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.columnFamilyDescriptorFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.compareOpFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.deleteFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.deletesFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.getFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.getsFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.incrementFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorFromHBase; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorsFromHBase; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.putFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.putsFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.resultFromHBase; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.resultsFromHBase; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.rowMutationsFromThrift; import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.scanFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.splitKeyFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorFromHBase; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorsFromHBase; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableNameFromThrift; +import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableNamesFromHBase; import static org.apache.thrift.TBaseHelper.byteBufferToByteArray; import java.io.IOException; @@ -45,16 +55,22 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; +import java.util.regex.Pattern; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.DoNotRetryIOException; import org.apache.hadoop.hbase.HRegionLocation; +import org.apache.hadoop.hbase.NamespaceDescriptor; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.RegionLocator; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Table; +import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.security.UserProvider; import org.apache.hadoop.hbase.thrift.ThriftMetrics; import org.apache.hadoop.hbase.thrift2.generated.TAppend; +import org.apache.hadoop.hbase.thrift2.generated.TColumnFamilyDescriptor; import org.apache.hadoop.hbase.thrift2.generated.TCompareOp; import org.apache.hadoop.hbase.thrift2.generated.TDelete; import org.apache.hadoop.hbase.thrift2.generated.TGet; @@ -63,10 +79,13 @@ import org.apache.hadoop.hbase.thrift2.generated.THRegionLocation; import org.apache.hadoop.hbase.thrift2.generated.TIOError; import org.apache.hadoop.hbase.thrift2.generated.TIllegalArgument; import org.apache.hadoop.hbase.thrift2.generated.TIncrement; +import org.apache.hadoop.hbase.thrift2.generated.TNamespaceDescriptor; import org.apache.hadoop.hbase.thrift2.generated.TPut; import org.apache.hadoop.hbase.thrift2.generated.TResult; import org.apache.hadoop.hbase.thrift2.generated.TRowMutations; import org.apache.hadoop.hbase.thrift2.generated.TScan; +import org.apache.hadoop.hbase.thrift2.generated.TTableDescriptor; +import org.apache.hadoop.hbase.thrift2.generated.TTableName; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.ConnectionCache; import org.apache.thrift.TException; @@ -570,4 +589,275 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface { private boolean isReadOnly() { return isReadOnly; } + + @Override + public TTableDescriptor getTableDescriptor(TTableName table) throws TIOError, TException { + try { + TableName tableName = ThriftUtilities.tableNameFromThrift(table); + TableDescriptor tableDescriptor = connectionCache.getAdmin().getDescriptor(tableName); + return tableDescriptorFromHBase(tableDescriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TTableDescriptor> getTableDescriptors(List<TTableName> tables) + throws TIOError, TException { + try { + List<TableName> tableNames = ThriftUtilities.tableNamesFromThrift(tables); + List<TableDescriptor> tableDescriptors = connectionCache.getAdmin() + .listTableDescriptors(tableNames); + return tableDescriptorsFromHBase(tableDescriptors); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public boolean tableExists(TTableName tTableName) throws TIOError, TException { + try { + TableName tableName = tableNameFromThrift(tTableName); + return connectionCache.getAdmin().tableExists(tableName); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TTableDescriptor> getTableDescriptorsByPattern(String regex, boolean includeSysTables) + throws TIOError, TException { + try { + Pattern pattern = Pattern.compile(regex); + List<TableDescriptor> tableDescriptors = connectionCache.getAdmin() + .listTableDescriptors(pattern, includeSysTables); + return tableDescriptorsFromHBase(tableDescriptors); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TTableDescriptor> getTableDescriptorsByNamespace(String name) + throws TIOError, TException { + try { + List<TableDescriptor> descriptors = connectionCache.getAdmin() + .listTableDescriptorsByNamespace(Bytes.toBytes(name)); + return tableDescriptorsFromHBase(descriptors); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TTableName> getTableNamesByPattern(String regex, boolean includeSysTables) + throws TIOError, TException { + try { + Pattern pattern = Pattern.compile(regex); + TableName[] tableNames = connectionCache.getAdmin() + .listTableNames(pattern, includeSysTables); + return tableNamesFromHBase(tableNames); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TTableName> getTableNamesByNamespace(String name) throws TIOError, TException { + try { + TableName[] tableNames = connectionCache.getAdmin().listTableNamesByNamespace(name); + return tableNamesFromHBase(tableNames); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys) + throws TIOError, TException { + try { + TableDescriptor descriptor = tableDescriptorFromThrift(desc); + byte[][] split = splitKeyFromThrift(splitKeys); + connectionCache.getAdmin().createTable(descriptor, split); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void deleteTable(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + connectionCache.getAdmin().deleteTable(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void truncateTable(TTableName tableName, boolean preserveSplits) + throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + connectionCache.getAdmin().truncateTable(table, preserveSplits); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void enableTable(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + connectionCache.getAdmin().enableTable(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void disableTable(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + connectionCache.getAdmin().disableTable(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public boolean isTableEnabled(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + return connectionCache.getAdmin().isTableEnabled(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public boolean isTableDisabled(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + return connectionCache.getAdmin().isTableDisabled(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public boolean isTableAvailable(TTableName tableName) throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + return connectionCache.getAdmin().isTableAvailable(table); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public boolean isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys) + throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + byte[][] split = splitKeyFromThrift(splitKeys); + return connectionCache.getAdmin().isTableAvailable(table, split); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) + throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + ColumnFamilyDescriptor columnFamilyDescriptor = columnFamilyDescriptorFromThrift(column); + connectionCache.getAdmin().addColumnFamily(table, columnFamilyDescriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void deleteColumnFamily(TTableName tableName, ByteBuffer column) + throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + connectionCache.getAdmin().deleteColumnFamily(table, column.array()); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) + throws TIOError, TException { + try { + TableName table = tableNameFromThrift(tableName); + ColumnFamilyDescriptor columnFamilyDescriptor = columnFamilyDescriptorFromThrift(column); + connectionCache.getAdmin().modifyColumnFamily(table, columnFamilyDescriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void modifyTable(TTableDescriptor desc) throws TIOError, TException { + try { + TableDescriptor descriptor = tableDescriptorFromThrift(desc); + connectionCache.getAdmin().modifyTable(descriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void createNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, TException { + try { + NamespaceDescriptor descriptor = namespaceDescriptorFromThrift(namespaceDesc); + connectionCache.getAdmin().createNamespace(descriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void modifyNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, TException { + try { + NamespaceDescriptor descriptor = namespaceDescriptorFromThrift(namespaceDesc); + connectionCache.getAdmin().modifyNamespace(descriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public void deleteNamespace(String name) throws TIOError, TException { + try { + connectionCache.getAdmin().deleteNamespace(name); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public TNamespaceDescriptor getNamespaceDescriptor(String name) throws TIOError, TException { + try { + NamespaceDescriptor descriptor = connectionCache.getAdmin().getNamespaceDescriptor(name); + return namespaceDescriptorFromHBase(descriptor); + } catch (IOException e) { + throw getTIOError(e); + } + } + + @Override + public List<TNamespaceDescriptor> listNamespaceDescriptors() throws TIOError, TException { + try { + NamespaceDescriptor[] descriptors = connectionCache.getAdmin().listNamespaceDescriptors(); + return namespaceDescriptorsFromHBase(descriptors); + } catch (IOException e) { + throw getTIOError(e); + } + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java index 57d340f..a0cec37 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java @@ -34,9 +34,14 @@ import org.apache.hadoop.hbase.CompareOperator; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.HRegionLocation; +import org.apache.hadoop.hbase.KeepDeletedCells; +import org.apache.hadoop.hbase.NamespaceDescriptor; import org.apache.hadoop.hbase.PrivateCellUtil; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Append; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import org.apache.hadoop.hbase.client.Consistency; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Durability; @@ -48,28 +53,42 @@ import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.RowMutations; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Scan.ReadType; +import org.apache.hadoop.hbase.client.TableDescriptor; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.filter.ParseFilter; +import org.apache.hadoop.hbase.io.compress.Compression; +import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding; +import org.apache.hadoop.hbase.regionserver.BloomType; import org.apache.hadoop.hbase.security.visibility.Authorizations; import org.apache.hadoop.hbase.security.visibility.CellVisibility; import org.apache.hadoop.hbase.thrift2.generated.TAppend; +import org.apache.hadoop.hbase.thrift2.generated.TBloomFilterType; import org.apache.hadoop.hbase.thrift2.generated.TColumn; +import org.apache.hadoop.hbase.thrift2.generated.TColumnFamilyDescriptor; import org.apache.hadoop.hbase.thrift2.generated.TColumnIncrement; import org.apache.hadoop.hbase.thrift2.generated.TColumnValue; import org.apache.hadoop.hbase.thrift2.generated.TCompareOp; +import org.apache.hadoop.hbase.thrift2.generated.TCompressionAlgorithm; import org.apache.hadoop.hbase.thrift2.generated.TConsistency; +import org.apache.hadoop.hbase.thrift2.generated.TDataBlockEncoding; import org.apache.hadoop.hbase.thrift2.generated.TDelete; +import org.apache.hadoop.hbase.thrift2.generated.TDeleteType; import org.apache.hadoop.hbase.thrift2.generated.TDurability; import org.apache.hadoop.hbase.thrift2.generated.TGet; import org.apache.hadoop.hbase.thrift2.generated.THRegionInfo; import org.apache.hadoop.hbase.thrift2.generated.THRegionLocation; import org.apache.hadoop.hbase.thrift2.generated.TIncrement; +import org.apache.hadoop.hbase.thrift2.generated.TKeepDeletedCells; import org.apache.hadoop.hbase.thrift2.generated.TMutation; +import org.apache.hadoop.hbase.thrift2.generated.TNamespaceDescriptor; import org.apache.hadoop.hbase.thrift2.generated.TPut; import org.apache.hadoop.hbase.thrift2.generated.TReadType; import org.apache.hadoop.hbase.thrift2.generated.TResult; import org.apache.hadoop.hbase.thrift2.generated.TRowMutations; import org.apache.hadoop.hbase.thrift2.generated.TScan; import org.apache.hadoop.hbase.thrift2.generated.TServerName; +import org.apache.hadoop.hbase.thrift2.generated.TTableDescriptor; +import org.apache.hadoop.hbase.thrift2.generated.TTableName; import org.apache.hadoop.hbase.thrift2.generated.TTimeRange; import org.apache.hadoop.hbase.util.Bytes; import org.apache.yetus.audience.InterfaceAudience; @@ -79,6 +98,12 @@ import org.apache.hbase.thirdparty.org.apache.commons.collections4.MapUtils; @InterfaceAudience.Private public class ThriftUtilities { + private final static Cell[] EMPTY_CELL_ARRAY = new Cell[]{}; + private final static Result EMPTY_RESULT = Result.create(EMPTY_CELL_ARRAY); + private final static Result EMPTY_RESULT_STALE = Result.create(EMPTY_CELL_ARRAY, null, true); + + + private ThriftUtilities() { throw new UnsupportedOperationException("Can't initialize class"); } @@ -129,6 +154,20 @@ public class ThriftUtilities { out.setReplicaId(in.getTargetReplicaId()); } + if (in.isSetCacheBlocks()) { + out.setCacheBlocks(in.isCacheBlocks()); + } + if (in.isSetStoreLimit()) { + out.setMaxResultsPerColumnFamily(in.getStoreLimit()); + } + if (in.isSetStoreOffset()) { + out.setRowOffsetPerColumnFamily(in.getStoreOffset()); + } + if (in.isSetExistence_only()) { + out.setCheckExistenceOnly(in.isExistence_only()); + } + + if (!in.isSetColumns()) { return out; } @@ -183,6 +222,7 @@ public class ThriftUtilities { col.setQualifier(CellUtil.cloneQualifier(kv)); col.setTimestamp(kv.getTimestamp()); col.setValue(CellUtil.cloneValue(kv)); + col.setType(kv.getType().getCode()); if (kv.getTagsLength() > 0) { col.setTags(PrivateCellUtil.cloneTags(kv)); } @@ -191,6 +231,8 @@ public class ThriftUtilities { out.setColumnValues(columnValues); out.setStale(in.isStale()); + + out.setPartial(in.mayHaveMoreCellsInRow()); return out; } @@ -371,6 +413,15 @@ public class ThriftUtilities { return out; } + public static TDeleteType deleteTypeFromHBase(Cell.Type type) { + switch (type) { + case Delete: return TDeleteType.DELETE_COLUMN; + case DeleteColumn: return TDeleteType.DELETE_COLUMNS; + case DeleteFamily: return TDeleteType.DELETE_FAMILY; + case DeleteFamilyVersion: return TDeleteType.DELETE_FAMILY_VERSION; + default: throw new IllegalArgumentException("Unknow delete type " + type); + } } + public static TDelete deleteFromHBase(Delete in) { TDelete out = new TDelete(ByteBuffer.wrap(in.getRow())); @@ -380,17 +431,33 @@ public class ThriftUtilities { out.setTimestamp(rowTimestamp); } - // Map<family, List<KeyValue>> - for (Map.Entry<byte[], List<org.apache.hadoop.hbase.Cell>> familyEntry: + for (Map.Entry<String, byte[]> attribute : in.getAttributesMap().entrySet()) { + out.putToAttributes(ByteBuffer.wrap(Bytes.toBytes(attribute.getKey())), + ByteBuffer.wrap(attribute.getValue())); + } + if (in.getDurability() != Durability.USE_DEFAULT) { + out.setDurability(durabilityFromHBase(in.getDurability())); + } + // Delete the whole row + if (in.getFamilyCellMap().size() == 0) { + return out; + } + TDeleteType type = null; + for (Map.Entry<byte[], List<Cell>> familyEntry: in.getFamilyCellMap().entrySet()) { + byte[] family = familyEntry.getKey(); TColumn column = new TColumn(ByteBuffer.wrap(familyEntry.getKey())); - for (org.apache.hadoop.hbase.Cell cell: familyEntry.getValue()) { - byte[] family = CellUtil.cloneFamily(cell); + for (Cell cell: familyEntry.getValue()) { + TDeleteType cellDeleteType = deleteTypeFromHBase(cell.getType()); + if (type == null) { + type = cellDeleteType; + } else if (type != cellDeleteType){ + throw new RuntimeException("Only the same delete type is supported, but two delete type " + + "is founded, one is " + type + " the other one is " + cellDeleteType); + } byte[] qualifier = CellUtil.cloneQualifier(cell); long timestamp = cell.getTimestamp(); - if (family != null) { - column.setFamily(family); - } + column.setFamily(family); if (qualifier != null) { column.setQualifier(qualifier); } @@ -401,6 +468,7 @@ public class ThriftUtilities { columns.add(column); } out.setColumns(columns); + out.setDeleteType(type); return out; } @@ -527,6 +595,10 @@ public class ThriftUtilities { out.setCellVisibility(new CellVisibility(in.getCellVisibility().getExpression())); } + if (in.isSetReturnResults()) { + out.setReturnResults(in.isReturnResults()); + } + return out; } @@ -548,6 +620,10 @@ public class ThriftUtilities { out.setCellVisibility(new CellVisibility(append.getCellVisibility().getExpression())); } + if (append.isSetReturnResults()) { + out.setReturnResults(append.isReturnResults()); + } + return out; } @@ -601,11 +677,12 @@ public class ThriftUtilities { private static Durability durabilityFromThrift(TDurability tDurability) { switch (tDurability.getValue()) { + case 0: return Durability.USE_DEFAULT; case 1: return Durability.SKIP_WAL; case 2: return Durability.ASYNC_WAL; case 3: return Durability.SYNC_WAL; case 4: return Durability.FSYNC_WAL; - default: return null; + default: return Durability.USE_DEFAULT; } } @@ -638,4 +715,322 @@ public class ThriftUtilities { default: return Consistency.STRONG; } } + + public static TableName tableNameFromThrift(TTableName tableName) { + return TableName.valueOf(tableName.getNs(), tableName.getQualifier()); + } + + public static List<TableName> tableNamesFromThrift(List<TTableName> tableNames) { + List<TableName> out = new ArrayList<>(tableNames.size()); + for (TTableName tableName : tableNames) { + out.add(tableNameFromThrift(tableName)); + } + return out; + } + + public static TTableName tableNameFromHBase(TableName table) { + TTableName tableName = new TTableName(); + tableName.setNs(table.getNamespace()); + tableName.setQualifier(table.getQualifier()); + return tableName; + } + + public static List<TTableName> tableNamesFromHBase(TableName[] in) { + List<TTableName> out = new ArrayList<>(in.length); + for (TableName tableName : in) { + out.add(tableNameFromHBase(tableName)); + } + return out; + } + + public static byte[][] splitKeyFromThrift(List<ByteBuffer> in) { + if (in == null || in.size() == 0) { + return null; + } + byte[][] out = new byte[in.size()][]; + int index = 0; + for (ByteBuffer key : in) { + out[index++] = key.array(); + } + return out; + } + + public static BloomType bloomFilterFromThrift(TBloomFilterType in) { + switch (in.getValue()) { + case 0: return BloomType.NONE; + case 1: return BloomType.ROW; + case 2: return BloomType.ROWCOL; + case 3: return BloomType.ROWPREFIX_FIXED_LENGTH; + case 4: return BloomType.ROWPREFIX_DELIMITED; + default: return BloomType.ROW; + } + } + + public static Compression.Algorithm compressionAlgorithmFromThrift(TCompressionAlgorithm in) { + switch (in.getValue()) { + case 0: return Compression.Algorithm.LZO; + case 1: return Compression.Algorithm.GZ; + case 2: return Compression.Algorithm.NONE; + case 3: return Compression.Algorithm.SNAPPY; + case 4: return Compression.Algorithm.LZ4; + case 5: return Compression.Algorithm.BZIP2; + case 6: return Compression.Algorithm.ZSTD; + default: return Compression.Algorithm.NONE; + } + } + + public static DataBlockEncoding dataBlockEncodingFromThrift(TDataBlockEncoding in) { + switch (in.getValue()) { + case 0: return DataBlockEncoding.NONE; + case 2: return DataBlockEncoding.PREFIX; + case 3: return DataBlockEncoding.DIFF; + case 4: return DataBlockEncoding.FAST_DIFF; + case 7: return DataBlockEncoding.ROW_INDEX_V1; + default: return DataBlockEncoding.NONE; + } + } + + public static KeepDeletedCells keepDeletedCellsFromThrift(TKeepDeletedCells in) { + switch (in.getValue()) { + case 0: return KeepDeletedCells.FALSE; + case 1: return KeepDeletedCells.TRUE; + case 2: return KeepDeletedCells.TTL; + default: return KeepDeletedCells.FALSE; + } + } + + public static ColumnFamilyDescriptor columnFamilyDescriptorFromThrift( + TColumnFamilyDescriptor in) { + ColumnFamilyDescriptorBuilder builder = ColumnFamilyDescriptorBuilder + .newBuilder(in.getName()); + + if (in.isSetAttributes()) { + for (Map.Entry<ByteBuffer, ByteBuffer> attribute : in.getAttributes().entrySet()) { + builder.setValue(attribute.getKey().array(), attribute.getValue().array()); + } + } + if (in.isSetConfiguration()) { + for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) { + builder.setConfiguration(conf.getKey(), conf.getValue()); + } + } + if (in.isSetBlockSize()) { + builder.setBlocksize(in.getBlockSize()); + } + if (in.isSetBloomnFilterType()) { + builder.setBloomFilterType(bloomFilterFromThrift(in.getBloomnFilterType())); + } + if (in.isSetCompressionType()) { + builder.setCompressionType(compressionAlgorithmFromThrift(in.getCompressionType())); + } + if (in.isSetDfsReplication()) { + builder.setDFSReplication(in.getDfsReplication()); + } + if (in.isSetDataBlockEncoding()) { + builder.setDataBlockEncoding(dataBlockEncodingFromThrift(in.getDataBlockEncoding())); + } + if (in.isSetKeepDeletedCells()) { + builder.setKeepDeletedCells(keepDeletedCellsFromThrift(in.getKeepDeletedCells())); + } + if (in.isSetMaxVersions()) { + builder.setMaxVersions(in.getMaxVersions()); + } + if (in.isSetMinVersions()) { + builder.setMinVersions(in.getMinVersions()); + } + if (in.isSetScope()) { + builder.setScope(in.getScope()); + } + if (in.isSetTimeToLive()) { + builder.setTimeToLive(in.getTimeToLive()); + } + if (in.isSetBlockCacheEnabled()) { + builder.setBlockCacheEnabled(in.isBlockCacheEnabled()); + } + if (in.isSetCacheBloomsOnWrite()) { + builder.setCacheBloomsOnWrite(in.isCacheBloomsOnWrite()); + } + if (in.isSetCacheDataOnWrite()) { + builder.setCacheDataOnWrite(in.isCacheDataOnWrite()); + } + if (in.isSetCacheIndexesOnWrite()) { + builder.setCacheIndexesOnWrite(in.isCacheIndexesOnWrite()); + } + if (in.isSetCompressTags()) { + builder.setCompressTags(in.isCompressTags()); + } + if (in.isSetEvictBlocksOnClose()) { + builder.setEvictBlocksOnClose(in.isEvictBlocksOnClose()); + } + if (in.isSetInMemory()) { + builder.setInMemory(in.isInMemory()); + } + + + return builder.build(); + } + + public static NamespaceDescriptor namespaceDescriptorFromThrift(TNamespaceDescriptor in) { + NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(in.getName()); + if (in.isSetConfiguration()) { + for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) { + builder.addConfiguration(conf.getKey(), conf.getValue()); + } + } + return builder.build(); + } + + public static TNamespaceDescriptor namespaceDescriptorFromHBase(NamespaceDescriptor in) { + TNamespaceDescriptor out = new TNamespaceDescriptor(); + out.setName(in.getName()); + for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) { + out.putToConfiguration(conf.getKey(), conf.getValue()); + } + return out; + } + + public static List<TNamespaceDescriptor> namespaceDescriptorsFromHBase( + NamespaceDescriptor[] in) { + List<TNamespaceDescriptor> out = new ArrayList<>(in.length); + for (NamespaceDescriptor descriptor : in) { + out.add(namespaceDescriptorFromHBase(descriptor)); + } + return out; + } + + public static TableDescriptor tableDescriptorFromThrift(TTableDescriptor in) { + TableDescriptorBuilder builder = TableDescriptorBuilder + .newBuilder(tableNameFromThrift(in.getTableName())); + for (TColumnFamilyDescriptor column : in.getColumns()) { + builder.setColumnFamily(columnFamilyDescriptorFromThrift(column)); + } + if (in.isSetAttributes()) { + for (Map.Entry<ByteBuffer, ByteBuffer> attribute : in.getAttributes().entrySet()) { + builder.setValue(attribute.getKey().array(), attribute.getValue().array()); + } + } + if (in.isSetDurability()) { + builder.setDurability(durabilityFromThrift(in.getDurability())); + } + return builder.build(); + } + + private static TDurability durabilityFromHBase(Durability durability) { + switch (durability) { + case USE_DEFAULT: return TDurability.USE_DEFAULT; + case SKIP_WAL: return TDurability.SKIP_WAL; + case ASYNC_WAL: return TDurability.ASYNC_WAL; + case SYNC_WAL: return TDurability.SYNC_WAL; + case FSYNC_WAL: return TDurability.FSYNC_WAL; + default: return null; + } + } + + public static TTableDescriptor tableDescriptorFromHBase(TableDescriptor in) { + TTableDescriptor out = new TTableDescriptor(); + out.setTableName(tableNameFromHBase(in.getTableName())); + Map<Bytes, Bytes> attributes = in.getValues(); + for (Map.Entry<Bytes, Bytes> attribute : attributes.entrySet()) { + out.putToAttributes(ByteBuffer.wrap(attribute.getKey().get()), + ByteBuffer.wrap(attribute.getValue().get())); + } + for (ColumnFamilyDescriptor column : in.getColumnFamilies()) { + out.addToColumns(columnFamilyDescriptorFromHBase(column)); + } + out.setDurability(durabilityFromHBase(in.getDurability())); + return out; + } + + public static List<TTableDescriptor> tableDescriptorsFromHBase(List<TableDescriptor> in) { + List<TTableDescriptor> out = new ArrayList<>(in.size()); + for (TableDescriptor descriptor : in) { + out.add(tableDescriptorFromHBase(descriptor)); + } + return out; + } + + public static List<TTableDescriptor> tableDescriptorsFromHBase(TableDescriptor[] in) { + List<TTableDescriptor> out = new ArrayList<>(in.length); + for (TableDescriptor descriptor : in) { + out.add(tableDescriptorFromHBase(descriptor)); + } + return out; + } + + + public static TBloomFilterType bloomFilterFromHBase(BloomType in) { + switch (in) { + case NONE: return TBloomFilterType.NONE; + case ROW: return TBloomFilterType.ROW; + case ROWCOL: return TBloomFilterType.ROWCOL; + case ROWPREFIX_FIXED_LENGTH: return TBloomFilterType.ROWPREFIX_FIXED_LENGTH; + case ROWPREFIX_DELIMITED: return TBloomFilterType.ROWPREFIX_DELIMITED; + default: return TBloomFilterType.ROW; + } + } + + public static TCompressionAlgorithm compressionAlgorithmFromHBase(Compression.Algorithm in) { + switch (in) { + case LZO: return TCompressionAlgorithm.LZO; + case GZ: return TCompressionAlgorithm.GZ; + case NONE: return TCompressionAlgorithm.NONE; + case SNAPPY: return TCompressionAlgorithm.SNAPPY; + case LZ4: return TCompressionAlgorithm.LZ4; + case BZIP2: return TCompressionAlgorithm.BZIP2; + case ZSTD: return TCompressionAlgorithm.ZSTD; + default: return TCompressionAlgorithm.NONE; + } + } + + public static TDataBlockEncoding dataBlockEncodingFromHBase(DataBlockEncoding in) { + switch (in) { + case NONE: return TDataBlockEncoding.NONE; + case PREFIX: return TDataBlockEncoding.PREFIX; + case DIFF: return TDataBlockEncoding.DIFF; + case FAST_DIFF: return TDataBlockEncoding.FAST_DIFF; + case ROW_INDEX_V1: return TDataBlockEncoding.ROW_INDEX_V1; + default: return TDataBlockEncoding.NONE; + } + } + + public static TKeepDeletedCells keepDeletedCellsFromHBase(KeepDeletedCells in) { + switch (in) { + case FALSE: return TKeepDeletedCells.FALSE; + case TRUE: return TKeepDeletedCells.TRUE; + case TTL: return TKeepDeletedCells.TTL; + default: return TKeepDeletedCells.FALSE; + } + } + + public static TColumnFamilyDescriptor columnFamilyDescriptorFromHBase( + ColumnFamilyDescriptor in) { + TColumnFamilyDescriptor out = new TColumnFamilyDescriptor(); + out.setName(in.getName()); + for (Map.Entry<Bytes, Bytes> attribute : in.getValues().entrySet()) { + out.putToAttributes(ByteBuffer.wrap(attribute.getKey().get()), + ByteBuffer.wrap(attribute.getValue().get())); + } + for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) { + out.putToConfiguration(conf.getKey(), conf.getValue()); + } + out.setBlockSize(in.getBlocksize()); + out.setBloomnFilterType(bloomFilterFromHBase(in.getBloomFilterType())); + out.setCompressionType(compressionAlgorithmFromHBase(in.getCompressionType())); + out.setDfsReplication(in.getDFSReplication()); + out.setDataBlockEncoding(dataBlockEncodingFromHBase(in.getDataBlockEncoding())); + out.setKeepDeletedCells(keepDeletedCellsFromHBase(in.getKeepDeletedCells())); + out.setMaxVersions(in.getMaxVersions()); + out.setMinVersions(in.getMinVersions()); + out.setScope(in.getScope()); + out.setTimeToLive(in.getTimeToLive()); + out.setBlockCacheEnabled(in.isBlockCacheEnabled()); + out.setCacheBloomsOnWrite(in.isCacheBloomsOnWrite()); + out.setCacheDataOnWrite(in.isCacheDataOnWrite()); + out.setCacheIndexesOnWrite(in.isCacheIndexesOnWrite()); + out.setCompressTags(in.isCompressTags()); + out.setEvictBlocksOnClose(in.isEvictBlocksOnClose()); + out.setInMemory(in.isInMemory()); + return out; + } + } http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java new file mode 100644 index 0000000..3f9f512 --- /dev/null +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java @@ -0,0 +1,554 @@ +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.hadoop.hbase.thrift2.generated; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-26") +public class NamespaceDescriptor implements org.apache.thrift.TBase<NamespaceDescriptor, NamespaceDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<NamespaceDescriptor> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NamespaceDescriptor"); + + private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)2); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new NamespaceDescriptorStandardSchemeFactory()); + schemes.put(TupleScheme.class, new NamespaceDescriptorTupleSchemeFactory()); + } + + public String name; // required + public Map<String,String> configuration; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + NAME((short)1, "name"), + CONFIGURATION((short)2, "configuration"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // NAME + return NAME; + case 2: // CONFIGURATION + return CONFIGURATION; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final _Fields optionals[] = {_Fields.CONFIGURATION}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(NamespaceDescriptor.class, metaDataMap); + } + + public NamespaceDescriptor() { + } + + public NamespaceDescriptor( + String name) + { + this(); + this.name = name; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public NamespaceDescriptor(NamespaceDescriptor other) { + if (other.isSetName()) { + this.name = other.name; + } + if (other.isSetConfiguration()) { + Map<String,String> __this__configuration = new HashMap<String,String>(other.configuration); + this.configuration = __this__configuration; + } + } + + public NamespaceDescriptor deepCopy() { + return new NamespaceDescriptor(this); + } + + @Override + public void clear() { + this.name = null; + this.configuration = null; + } + + public String getName() { + return this.name; + } + + public NamespaceDescriptor setName(String name) { + this.name = name; + return this; + } + + public void unsetName() { + this.name = null; + } + + /** Returns true if field name is set (has been assigned a value) and false otherwise */ + public boolean isSetName() { + return this.name != null; + } + + public void setNameIsSet(boolean value) { + if (!value) { + this.name = null; + } + } + + public int getConfigurationSize() { + return (this.configuration == null) ? 0 : this.configuration.size(); + } + + public void putToConfiguration(String key, String val) { + if (this.configuration == null) { + this.configuration = new HashMap<String,String>(); + } + this.configuration.put(key, val); + } + + public Map<String,String> getConfiguration() { + return this.configuration; + } + + public NamespaceDescriptor setConfiguration(Map<String,String> configuration) { + this.configuration = configuration; + return this; + } + + public void unsetConfiguration() { + this.configuration = null; + } + + /** Returns true if field configuration is set (has been assigned a value) and false otherwise */ + public boolean isSetConfiguration() { + return this.configuration != null; + } + + public void setConfigurationIsSet(boolean value) { + if (!value) { + this.configuration = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case NAME: + if (value == null) { + unsetName(); + } else { + setName((String)value); + } + break; + + case CONFIGURATION: + if (value == null) { + unsetConfiguration(); + } else { + setConfiguration((Map<String,String>)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case NAME: + return getName(); + + case CONFIGURATION: + return getConfiguration(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case NAME: + return isSetName(); + case CONFIGURATION: + return isSetConfiguration(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof NamespaceDescriptor) + return this.equals((NamespaceDescriptor)that); + return false; + } + + public boolean equals(NamespaceDescriptor that) { + if (that == null) + return false; + + boolean this_present_name = true && this.isSetName(); + boolean that_present_name = true && that.isSetName(); + if (this_present_name || that_present_name) { + if (!(this_present_name && that_present_name)) + return false; + if (!this.name.equals(that.name)) + return false; + } + + boolean this_present_configuration = true && this.isSetConfiguration(); + boolean that_present_configuration = true && that.isSetConfiguration(); + if (this_present_configuration || that_present_configuration) { + if (!(this_present_configuration && that_present_configuration)) + return false; + if (!this.configuration.equals(that.configuration)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_name = true && (isSetName()); + list.add(present_name); + if (present_name) + list.add(name); + + boolean present_configuration = true && (isSetConfiguration()); + list.add(present_configuration); + if (present_configuration) + list.add(configuration); + + return list.hashCode(); + } + + @Override + public int compareTo(NamespaceDescriptor other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetConfiguration()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("NamespaceDescriptor("); + boolean first = true; + + sb.append("name:"); + if (this.name == null) { + sb.append("null"); + } else { + sb.append(this.name); + } + first = false; + if (isSetConfiguration()) { + if (!first) sb.append(", "); + sb.append("configuration:"); + if (this.configuration == null) { + sb.append("null"); + } else { + sb.append(this.configuration); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (name == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString()); + } + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class NamespaceDescriptorStandardSchemeFactory implements SchemeFactory { + public NamespaceDescriptorStandardScheme getScheme() { + return new NamespaceDescriptorStandardScheme(); + } + } + + private static class NamespaceDescriptorStandardScheme extends StandardScheme<NamespaceDescriptor> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, NamespaceDescriptor struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readString(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // CONFIGURATION + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map180 = iprot.readMapBegin(); + struct.configuration = new HashMap<String,String>(2*_map180.size); + String _key181; + String _val182; + for (int _i183 = 0; _i183 < _map180.size; ++_i183) + { + _key181 = iprot.readString(); + _val182 = iprot.readString(); + struct.configuration.put(_key181, _val182); + } + iprot.readMapEnd(); + } + struct.setConfigurationIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, NamespaceDescriptor struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeString(struct.name); + oprot.writeFieldEnd(); + } + if (struct.configuration != null) { + if (struct.isSetConfiguration()) { + oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size())); + for (Map.Entry<String, String> _iter184 : struct.configuration.entrySet()) + { + oprot.writeString(_iter184.getKey()); + oprot.writeString(_iter184.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class NamespaceDescriptorTupleSchemeFactory implements SchemeFactory { + public NamespaceDescriptorTupleScheme getScheme() { + return new NamespaceDescriptorTupleScheme(); + } + } + + private static class NamespaceDescriptorTupleScheme extends TupleScheme<NamespaceDescriptor> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, NamespaceDescriptor struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.name); + BitSet optionals = new BitSet(); + if (struct.isSetConfiguration()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetConfiguration()) { + { + oprot.writeI32(struct.configuration.size()); + for (Map.Entry<String, String> _iter185 : struct.configuration.entrySet()) + { + oprot.writeString(_iter185.getKey()); + oprot.writeString(_iter185.getValue()); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, NamespaceDescriptor struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readString(); + struct.setNameIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map186 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.configuration = new HashMap<String,String>(2*_map186.size); + String _key187; + String _val188; + for (int _i189 = 0; _i189 < _map186.size; ++_i189) + { + _key187 = iprot.readString(); + _val188 = iprot.readString(); + struct.configuration.put(_key187, _val188); + } + } + struct.setConfigurationIsSet(true); + } + } + } + +} + http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java index e0e3074..c89f67b 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend"); @@ -43,6 +43,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)3); private static final org.apache.thrift.protocol.TField DURABILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("durability", org.apache.thrift.protocol.TType.I32, (short)4); private static final org.apache.thrift.protocol.TField CELL_VISIBILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("cellVisibility", org.apache.thrift.protocol.TType.STRUCT, (short)5); + private static final org.apache.thrift.protocol.TField RETURN_RESULTS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnResults", org.apache.thrift.protocol.TType.BOOL, (short)6); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -59,6 +60,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields */ public TDurability durability; // optional public TCellVisibility cellVisibility; // optional + public boolean returnResults; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -70,7 +72,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields * @see TDurability */ DURABILITY((short)4, "durability"), - CELL_VISIBILITY((short)5, "cellVisibility"); + CELL_VISIBILITY((short)5, "cellVisibility"), + RETURN_RESULTS((short)6, "returnResults"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -95,6 +98,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields return DURABILITY; case 5: // CELL_VISIBILITY return CELL_VISIBILITY; + case 6: // RETURN_RESULTS + return RETURN_RESULTS; default: return null; } @@ -135,7 +140,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields } // isset id assignments - private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY}; + private static final int __RETURNRESULTS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY,_Fields.RETURN_RESULTS}; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -152,6 +159,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TDurability.class))); tmpMap.put(_Fields.CELL_VISIBILITY, new org.apache.thrift.meta_data.FieldMetaData("cellVisibility", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCellVisibility.class))); + tmpMap.put(_Fields.RETURN_RESULTS, new org.apache.thrift.meta_data.FieldMetaData("returnResults", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TAppend.class, metaDataMap); } @@ -172,6 +181,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields * Performs a deep copy on <i>other</i>. */ public TAppend(TAppend other) { + __isset_bitfield = other.__isset_bitfield; if (other.isSetRow()) { this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row); } @@ -192,6 +202,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields if (other.isSetCellVisibility()) { this.cellVisibility = new TCellVisibility(other.cellVisibility); } + this.returnResults = other.returnResults; } public TAppend deepCopy() { @@ -205,6 +216,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields this.attributes = null; this.durability = null; this.cellVisibility = null; + setReturnResultsIsSet(false); + this.returnResults = false; } public byte[] getRow() { @@ -371,6 +384,29 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields } } + public boolean isReturnResults() { + return this.returnResults; + } + + public TAppend setReturnResults(boolean returnResults) { + this.returnResults = returnResults; + setReturnResultsIsSet(true); + return this; + } + + public void unsetReturnResults() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID); + } + + /** Returns true if field returnResults is set (has been assigned a value) and false otherwise */ + public boolean isSetReturnResults() { + return EncodingUtils.testBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID); + } + + public void setReturnResultsIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID, value); + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case ROW: @@ -413,6 +449,14 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields } break; + case RETURN_RESULTS: + if (value == null) { + unsetReturnResults(); + } else { + setReturnResults((Boolean)value); + } + break; + } } @@ -433,6 +477,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields case CELL_VISIBILITY: return getCellVisibility(); + case RETURN_RESULTS: + return isReturnResults(); + } throw new IllegalStateException(); } @@ -454,6 +501,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields return isSetDurability(); case CELL_VISIBILITY: return isSetCellVisibility(); + case RETURN_RESULTS: + return isSetReturnResults(); } throw new IllegalStateException(); } @@ -516,6 +565,15 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields return false; } + boolean this_present_returnResults = true && this.isSetReturnResults(); + boolean that_present_returnResults = true && that.isSetReturnResults(); + if (this_present_returnResults || that_present_returnResults) { + if (!(this_present_returnResults && that_present_returnResults)) + return false; + if (this.returnResults != that.returnResults) + return false; + } + return true; } @@ -548,6 +606,11 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields if (present_cellVisibility) list.add(cellVisibility); + boolean present_returnResults = true && (isSetReturnResults()); + list.add(present_returnResults); + if (present_returnResults) + list.add(returnResults); + return list.hashCode(); } @@ -609,6 +672,16 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields return lastComparison; } } + lastComparison = Boolean.valueOf(isSetReturnResults()).compareTo(other.isSetReturnResults()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetReturnResults()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnResults, other.returnResults); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -674,6 +747,12 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields } first = false; } + if (isSetReturnResults()) { + if (!first) sb.append(", "); + sb.append("returnResults:"); + sb.append(this.returnResults); + first = false; + } sb.append(")"); return sb.toString(); } @@ -702,6 +781,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); @@ -790,6 +871,14 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 6: // RETURN_RESULTS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.returnResults = iprot.readBool(); + struct.setReturnResultsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -851,6 +940,11 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields oprot.writeFieldEnd(); } } + if (struct.isSetReturnResults()) { + oprot.writeFieldBegin(RETURN_RESULTS_FIELD_DESC); + oprot.writeBool(struct.returnResults); + oprot.writeFieldEnd(); + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -886,7 +980,10 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields if (struct.isSetCellVisibility()) { optionals.set(2); } - oprot.writeBitSet(optionals, 3); + if (struct.isSetReturnResults()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); if (struct.isSetAttributes()) { { oprot.writeI32(struct.attributes.size()); @@ -903,6 +1000,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields if (struct.isSetCellVisibility()) { struct.cellVisibility.write(oprot); } + if (struct.isSetReturnResults()) { + oprot.writeBool(struct.returnResults); + } } @Override @@ -922,7 +1022,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields } } struct.setColumnsIsSet(true); - BitSet incoming = iprot.readBitSet(3); + BitSet incoming = iprot.readBitSet(4); if (incoming.get(0)) { { org.apache.thrift.protocol.TMap _map102 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); @@ -947,6 +1047,10 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields struct.cellVisibility.read(iprot); struct.setCellVisibilityIsSet(true); } + if (incoming.get(3)) { + struct.returnResults = iprot.readBool(); + struct.setReturnResultsIsSet(true); + } } } http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java index 6c355a6..1b168d8 100644 --- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java +++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java @@ -34,7 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27") public class TAuthorization implements org.apache.thrift.TBase<TAuthorization, TAuthorization._Fields>, java.io.Serializable, Cloneable, Comparable<TAuthorization> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAuthorization");