HBASE-13698 Add RegionLocator methods to Thrift2
This commit is contained in:
parent
315f596798
commit
1bfe387956
|
@ -342,7 +342,7 @@
|
|||
Profile for regenerating the thrift java classes.
|
||||
The generated files are to be committed to version control.
|
||||
Activate using:
|
||||
mvn compile -Dcompile-thrift
|
||||
mvn compile -Pcompile-thrift
|
||||
-->
|
||||
<profile>
|
||||
<id>compile-thrift</id>
|
||||
|
|
|
@ -47,7 +47,9 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.hbase.HRegionLocation;
|
||||
import org.apache.hadoop.hbase.classification.InterfaceAudience;
|
||||
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.security.UserProvider;
|
||||
|
@ -56,6 +58,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TAppend;
|
|||
import org.apache.hadoop.hbase.thrift2.generated.TDelete;
|
||||
import org.apache.hadoop.hbase.thrift2.generated.TGet;
|
||||
import org.apache.hadoop.hbase.thrift2.generated.THBaseService;
|
||||
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;
|
||||
|
@ -141,6 +144,14 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface {
|
|||
}
|
||||
}
|
||||
|
||||
private RegionLocator getLocator(ByteBuffer tableName) {
|
||||
try {
|
||||
return connectionCache.getRegionLocator(byteBufferToByteArray(tableName));
|
||||
} catch (IOException ie) {
|
||||
throw new RuntimeException(ie);
|
||||
}
|
||||
}
|
||||
|
||||
private void closeTable(Table table) throws TIOError {
|
||||
try {
|
||||
table.close();
|
||||
|
@ -385,6 +396,8 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface {
|
|||
return results;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void closeScanner(int scannerId) throws TIOError, TIllegalArgument, TException {
|
||||
LOG.debug("scannerClose: id=" + scannerId);
|
||||
|
@ -412,4 +425,48 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<THRegionLocation> getAllRegionLocations(ByteBuffer table)
|
||||
throws TIOError, TException {
|
||||
RegionLocator locator = null;
|
||||
try {
|
||||
locator = getLocator(table);
|
||||
return ThriftUtilities.regionLocationsFromHBase(locator.getAllRegionLocations());
|
||||
|
||||
} catch (IOException e) {
|
||||
throw getTIOError(e);
|
||||
} finally {
|
||||
if (locator != null) {
|
||||
try {
|
||||
locator.close();
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Couldn't close the locator.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public THRegionLocation getRegionLocation(ByteBuffer table, ByteBuffer row, boolean reload)
|
||||
throws TIOError, TException {
|
||||
|
||||
RegionLocator locator = null;
|
||||
try {
|
||||
locator = getLocator(table);
|
||||
byte[] rowBytes = byteBufferToByteArray(row);
|
||||
HRegionLocation hrl = locator.getRegionLocation(rowBytes, reload);
|
||||
return ThriftUtilities.regionLocationFromHBase(hrl);
|
||||
|
||||
} catch (IOException e) {
|
||||
throw getTIOError(e);
|
||||
} finally {
|
||||
if (locator != null) {
|
||||
try {
|
||||
locator.close();
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Couldn't close the locator.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,9 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.hadoop.hbase.HRegionInfo;
|
||||
import org.apache.hadoop.hbase.HRegionLocation;
|
||||
import org.apache.hadoop.hbase.ServerName;
|
||||
import org.apache.hadoop.hbase.classification.InterfaceAudience;
|
||||
import org.apache.hadoop.hbase.Cell;
|
||||
import org.apache.hadoop.hbase.CellUtil;
|
||||
|
@ -34,6 +37,7 @@ import org.apache.hadoop.hbase.client.Append;
|
|||
import org.apache.hadoop.hbase.client.Delete;
|
||||
import org.apache.hadoop.hbase.client.Durability;
|
||||
import org.apache.hadoop.hbase.client.Get;
|
||||
import org.apache.hadoop.hbase.client.HRegionLocator;
|
||||
import org.apache.hadoop.hbase.client.Increment;
|
||||
import org.apache.hadoop.hbase.client.OperationWithAttributes;
|
||||
import org.apache.hadoop.hbase.client.Put;
|
||||
|
@ -51,12 +55,15 @@ 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.TMutation;
|
||||
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.TServerName;
|
||||
import org.apache.hadoop.hbase.thrift2.generated.TTimeRange;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
|
||||
|
@ -467,6 +474,39 @@ public class ThriftUtilities {
|
|||
return out;
|
||||
}
|
||||
|
||||
public static THRegionLocation regionLocationFromHBase(HRegionLocation hrl) {
|
||||
HRegionInfo hri = hrl.getRegionInfo();
|
||||
ServerName serverName = hrl.getServerName();
|
||||
|
||||
THRegionInfo thRegionInfo = new THRegionInfo();
|
||||
THRegionLocation thRegionLocation = new THRegionLocation();
|
||||
TServerName tServerName = new TServerName();
|
||||
|
||||
tServerName.setHostName(serverName.getHostname());
|
||||
tServerName.setPort(serverName.getPort());
|
||||
tServerName.setStartCode(serverName.getStartcode());
|
||||
|
||||
thRegionInfo.setTableName(hri.getTable().getName());
|
||||
thRegionInfo.setEndKey(hri.getEndKey());
|
||||
thRegionInfo.setStartKey(hri.getStartKey());
|
||||
thRegionInfo.setOffline(hri.isOffline());
|
||||
thRegionInfo.setSplit(hri.isSplit());
|
||||
thRegionInfo.setReplicaId(hri.getReplicaId());
|
||||
|
||||
thRegionLocation.setRegionInfo(thRegionInfo);
|
||||
thRegionLocation.setServerName(tServerName);
|
||||
|
||||
return thRegionLocation;
|
||||
}
|
||||
|
||||
public static List<THRegionLocation> regionLocationsFromHBase(List<HRegionLocation> locations) {
|
||||
List<THRegionLocation> tlocations = new ArrayList<THRegionLocation>(locations.size());
|
||||
for (HRegionLocation hrl:locations) {
|
||||
tlocations.add(regionLocationFromHBase(hrl));
|
||||
}
|
||||
return tlocations;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds all the attributes into the Operation object
|
||||
*/
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,498 @@
|
|||
/**
|
||||
* Autogenerated by Thrift Compiler (0.9.0)
|
||||
*
|
||||
* 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.commons.lang.builder.HashCodeBuilder;
|
||||
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 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 org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class THRegionLocation implements org.apache.thrift.TBase<THRegionLocation, THRegionLocation._Fields>, java.io.Serializable, Cloneable {
|
||||
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("THRegionLocation");
|
||||
|
||||
private static final org.apache.thrift.protocol.TField SERVER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("serverName", org.apache.thrift.protocol.TType.STRUCT, (short)1);
|
||||
private static final org.apache.thrift.protocol.TField REGION_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("regionInfo", org.apache.thrift.protocol.TType.STRUCT, (short)2);
|
||||
|
||||
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
|
||||
static {
|
||||
schemes.put(StandardScheme.class, new THRegionLocationStandardSchemeFactory());
|
||||
schemes.put(TupleScheme.class, new THRegionLocationTupleSchemeFactory());
|
||||
}
|
||||
|
||||
public TServerName serverName; // required
|
||||
public THRegionInfo regionInfo; // required
|
||||
|
||||
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
|
||||
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
|
||||
SERVER_NAME((short)1, "serverName"),
|
||||
REGION_INFO((short)2, "regionInfo");
|
||||
|
||||
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: // SERVER_NAME
|
||||
return SERVER_NAME;
|
||||
case 2: // REGION_INFO
|
||||
return REGION_INFO;
|
||||
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
|
||||
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.SERVER_NAME, new org.apache.thrift.meta_data.FieldMetaData("serverName", org.apache.thrift.TFieldRequirementType.REQUIRED,
|
||||
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TServerName.class)));
|
||||
tmpMap.put(_Fields.REGION_INFO, new org.apache.thrift.meta_data.FieldMetaData("regionInfo", org.apache.thrift.TFieldRequirementType.REQUIRED,
|
||||
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, THRegionInfo.class)));
|
||||
metaDataMap = Collections.unmodifiableMap(tmpMap);
|
||||
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(THRegionLocation.class, metaDataMap);
|
||||
}
|
||||
|
||||
public THRegionLocation() {
|
||||
}
|
||||
|
||||
public THRegionLocation(
|
||||
TServerName serverName,
|
||||
THRegionInfo regionInfo)
|
||||
{
|
||||
this();
|
||||
this.serverName = serverName;
|
||||
this.regionInfo = regionInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs a deep copy on <i>other</i>.
|
||||
*/
|
||||
public THRegionLocation(THRegionLocation other) {
|
||||
if (other.isSetServerName()) {
|
||||
this.serverName = new TServerName(other.serverName);
|
||||
}
|
||||
if (other.isSetRegionInfo()) {
|
||||
this.regionInfo = new THRegionInfo(other.regionInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public THRegionLocation deepCopy() {
|
||||
return new THRegionLocation(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.serverName = null;
|
||||
this.regionInfo = null;
|
||||
}
|
||||
|
||||
public TServerName getServerName() {
|
||||
return this.serverName;
|
||||
}
|
||||
|
||||
public THRegionLocation setServerName(TServerName serverName) {
|
||||
this.serverName = serverName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetServerName() {
|
||||
this.serverName = null;
|
||||
}
|
||||
|
||||
/** Returns true if field serverName is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetServerName() {
|
||||
return this.serverName != null;
|
||||
}
|
||||
|
||||
public void setServerNameIsSet(boolean value) {
|
||||
if (!value) {
|
||||
this.serverName = null;
|
||||
}
|
||||
}
|
||||
|
||||
public THRegionInfo getRegionInfo() {
|
||||
return this.regionInfo;
|
||||
}
|
||||
|
||||
public THRegionLocation setRegionInfo(THRegionInfo regionInfo) {
|
||||
this.regionInfo = regionInfo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetRegionInfo() {
|
||||
this.regionInfo = null;
|
||||
}
|
||||
|
||||
/** Returns true if field regionInfo is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetRegionInfo() {
|
||||
return this.regionInfo != null;
|
||||
}
|
||||
|
||||
public void setRegionInfoIsSet(boolean value) {
|
||||
if (!value) {
|
||||
this.regionInfo = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setFieldValue(_Fields field, Object value) {
|
||||
switch (field) {
|
||||
case SERVER_NAME:
|
||||
if (value == null) {
|
||||
unsetServerName();
|
||||
} else {
|
||||
setServerName((TServerName)value);
|
||||
}
|
||||
break;
|
||||
|
||||
case REGION_INFO:
|
||||
if (value == null) {
|
||||
unsetRegionInfo();
|
||||
} else {
|
||||
setRegionInfo((THRegionInfo)value);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Object getFieldValue(_Fields field) {
|
||||
switch (field) {
|
||||
case SERVER_NAME:
|
||||
return getServerName();
|
||||
|
||||
case REGION_INFO:
|
||||
return getRegionInfo();
|
||||
|
||||
}
|
||||
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 SERVER_NAME:
|
||||
return isSetServerName();
|
||||
case REGION_INFO:
|
||||
return isSetRegionInfo();
|
||||
}
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
if (that instanceof THRegionLocation)
|
||||
return this.equals((THRegionLocation)that);
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(THRegionLocation that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
|
||||
boolean this_present_serverName = true && this.isSetServerName();
|
||||
boolean that_present_serverName = true && that.isSetServerName();
|
||||
if (this_present_serverName || that_present_serverName) {
|
||||
if (!(this_present_serverName && that_present_serverName))
|
||||
return false;
|
||||
if (!this.serverName.equals(that.serverName))
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean this_present_regionInfo = true && this.isSetRegionInfo();
|
||||
boolean that_present_regionInfo = true && that.isSetRegionInfo();
|
||||
if (this_present_regionInfo || that_present_regionInfo) {
|
||||
if (!(this_present_regionInfo && that_present_regionInfo))
|
||||
return false;
|
||||
if (!this.regionInfo.equals(that.regionInfo))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
HashCodeBuilder builder = new HashCodeBuilder();
|
||||
|
||||
boolean present_serverName = true && (isSetServerName());
|
||||
builder.append(present_serverName);
|
||||
if (present_serverName)
|
||||
builder.append(serverName);
|
||||
|
||||
boolean present_regionInfo = true && (isSetRegionInfo());
|
||||
builder.append(present_regionInfo);
|
||||
if (present_regionInfo)
|
||||
builder.append(regionInfo);
|
||||
|
||||
return builder.toHashCode();
|
||||
}
|
||||
|
||||
public int compareTo(THRegionLocation other) {
|
||||
if (!getClass().equals(other.getClass())) {
|
||||
return getClass().getName().compareTo(other.getClass().getName());
|
||||
}
|
||||
|
||||
int lastComparison = 0;
|
||||
THRegionLocation typedOther = (THRegionLocation)other;
|
||||
|
||||
lastComparison = Boolean.valueOf(isSetServerName()).compareTo(typedOther.isSetServerName());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetServerName()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serverName, typedOther.serverName);
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
}
|
||||
lastComparison = Boolean.valueOf(isSetRegionInfo()).compareTo(typedOther.isSetRegionInfo());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetRegionInfo()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.regionInfo, typedOther.regionInfo);
|
||||
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("THRegionLocation(");
|
||||
boolean first = true;
|
||||
|
||||
sb.append("serverName:");
|
||||
if (this.serverName == null) {
|
||||
sb.append("null");
|
||||
} else {
|
||||
sb.append(this.serverName);
|
||||
}
|
||||
first = false;
|
||||
if (!first) sb.append(", ");
|
||||
sb.append("regionInfo:");
|
||||
if (this.regionInfo == null) {
|
||||
sb.append("null");
|
||||
} else {
|
||||
sb.append(this.regionInfo);
|
||||
}
|
||||
first = false;
|
||||
sb.append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void validate() throws org.apache.thrift.TException {
|
||||
// check for required fields
|
||||
if (serverName == null) {
|
||||
throw new org.apache.thrift.protocol.TProtocolException("Required field 'serverName' was not present! Struct: " + toString());
|
||||
}
|
||||
if (regionInfo == null) {
|
||||
throw new org.apache.thrift.protocol.TProtocolException("Required field 'regionInfo' was not present! Struct: " + toString());
|
||||
}
|
||||
// check for sub-struct validity
|
||||
if (serverName != null) {
|
||||
serverName.validate();
|
||||
}
|
||||
if (regionInfo != null) {
|
||||
regionInfo.validate();
|
||||
}
|
||||
}
|
||||
|
||||
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 THRegionLocationStandardSchemeFactory implements SchemeFactory {
|
||||
public THRegionLocationStandardScheme getScheme() {
|
||||
return new THRegionLocationStandardScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class THRegionLocationStandardScheme extends StandardScheme<THRegionLocation> {
|
||||
|
||||
public void read(org.apache.thrift.protocol.TProtocol iprot, THRegionLocation 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: // SERVER_NAME
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
|
||||
struct.serverName = new TServerName();
|
||||
struct.serverName.read(iprot);
|
||||
struct.setServerNameIsSet(true);
|
||||
} else {
|
||||
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||
}
|
||||
break;
|
||||
case 2: // REGION_INFO
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
|
||||
struct.regionInfo = new THRegionInfo();
|
||||
struct.regionInfo.read(iprot);
|
||||
struct.setRegionInfoIsSet(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, THRegionLocation struct) throws org.apache.thrift.TException {
|
||||
struct.validate();
|
||||
|
||||
oprot.writeStructBegin(STRUCT_DESC);
|
||||
if (struct.serverName != null) {
|
||||
oprot.writeFieldBegin(SERVER_NAME_FIELD_DESC);
|
||||
struct.serverName.write(oprot);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
if (struct.regionInfo != null) {
|
||||
oprot.writeFieldBegin(REGION_INFO_FIELD_DESC);
|
||||
struct.regionInfo.write(oprot);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
oprot.writeFieldStop();
|
||||
oprot.writeStructEnd();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class THRegionLocationTupleSchemeFactory implements SchemeFactory {
|
||||
public THRegionLocationTupleScheme getScheme() {
|
||||
return new THRegionLocationTupleScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class THRegionLocationTupleScheme extends TupleScheme<THRegionLocation> {
|
||||
|
||||
@Override
|
||||
public void write(org.apache.thrift.protocol.TProtocol prot, THRegionLocation struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol oprot = (TTupleProtocol) prot;
|
||||
struct.serverName.write(oprot);
|
||||
struct.regionInfo.write(oprot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(org.apache.thrift.protocol.TProtocol prot, THRegionLocation struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol iprot = (TTupleProtocol) prot;
|
||||
struct.serverName = new TServerName();
|
||||
struct.serverName.read(iprot);
|
||||
struct.setServerNameIsSet(true);
|
||||
struct.regionInfo = new THRegionInfo();
|
||||
struct.regionInfo.read(iprot);
|
||||
struct.setRegionInfoIsSet(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -103,9 +103,9 @@ public class TMutation extends org.apache.thrift.TUnion<TMutation, TMutation._Fi
|
|||
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.PUT, new org.apache.thrift.meta_data.FieldMetaData("put", org.apache.thrift.TFieldRequirementType.OPTIONAL,
|
||||
tmpMap.put(_Fields.PUT, new org.apache.thrift.meta_data.FieldMetaData("put", org.apache.thrift.TFieldRequirementType.DEFAULT,
|
||||
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TPut.class)));
|
||||
tmpMap.put(_Fields.DELETE_SINGLE, new org.apache.thrift.meta_data.FieldMetaData("deleteSingle", org.apache.thrift.TFieldRequirementType.OPTIONAL,
|
||||
tmpMap.put(_Fields.DELETE_SINGLE, new org.apache.thrift.meta_data.FieldMetaData("deleteSingle", org.apache.thrift.TFieldRequirementType.DEFAULT,
|
||||
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TDelete.class)));
|
||||
metaDataMap = Collections.unmodifiableMap(tmpMap);
|
||||
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TMutation.class, metaDataMap);
|
||||
|
|
|
@ -0,0 +1,595 @@
|
|||
/**
|
||||
* Autogenerated by Thrift Compiler (0.9.0)
|
||||
*
|
||||
* 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.commons.lang.builder.HashCodeBuilder;
|
||||
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 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 org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class TServerName implements org.apache.thrift.TBase<TServerName, TServerName._Fields>, java.io.Serializable, Cloneable {
|
||||
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TServerName");
|
||||
|
||||
private static final org.apache.thrift.protocol.TField HOST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("hostName", org.apache.thrift.protocol.TType.STRING, (short)1);
|
||||
private static final org.apache.thrift.protocol.TField PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("port", org.apache.thrift.protocol.TType.I32, (short)2);
|
||||
private static final org.apache.thrift.protocol.TField START_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("startCode", org.apache.thrift.protocol.TType.I64, (short)3);
|
||||
|
||||
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
|
||||
static {
|
||||
schemes.put(StandardScheme.class, new TServerNameStandardSchemeFactory());
|
||||
schemes.put(TupleScheme.class, new TServerNameTupleSchemeFactory());
|
||||
}
|
||||
|
||||
public String hostName; // required
|
||||
public int port; // optional
|
||||
public long startCode; // 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 {
|
||||
HOST_NAME((short)1, "hostName"),
|
||||
PORT((short)2, "port"),
|
||||
START_CODE((short)3, "startCode");
|
||||
|
||||
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: // HOST_NAME
|
||||
return HOST_NAME;
|
||||
case 2: // PORT
|
||||
return PORT;
|
||||
case 3: // START_CODE
|
||||
return START_CODE;
|
||||
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 int __PORT_ISSET_ID = 0;
|
||||
private static final int __STARTCODE_ISSET_ID = 1;
|
||||
private byte __isset_bitfield = 0;
|
||||
private _Fields optionals[] = {_Fields.PORT,_Fields.START_CODE};
|
||||
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.HOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("hostName", org.apache.thrift.TFieldRequirementType.REQUIRED,
|
||||
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
|
||||
tmpMap.put(_Fields.PORT, new org.apache.thrift.meta_data.FieldMetaData("port", org.apache.thrift.TFieldRequirementType.OPTIONAL,
|
||||
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
|
||||
tmpMap.put(_Fields.START_CODE, new org.apache.thrift.meta_data.FieldMetaData("startCode", org.apache.thrift.TFieldRequirementType.OPTIONAL,
|
||||
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
|
||||
metaDataMap = Collections.unmodifiableMap(tmpMap);
|
||||
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TServerName.class, metaDataMap);
|
||||
}
|
||||
|
||||
public TServerName() {
|
||||
}
|
||||
|
||||
public TServerName(
|
||||
String hostName)
|
||||
{
|
||||
this();
|
||||
this.hostName = hostName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs a deep copy on <i>other</i>.
|
||||
*/
|
||||
public TServerName(TServerName other) {
|
||||
__isset_bitfield = other.__isset_bitfield;
|
||||
if (other.isSetHostName()) {
|
||||
this.hostName = other.hostName;
|
||||
}
|
||||
this.port = other.port;
|
||||
this.startCode = other.startCode;
|
||||
}
|
||||
|
||||
public TServerName deepCopy() {
|
||||
return new TServerName(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.hostName = null;
|
||||
setPortIsSet(false);
|
||||
this.port = 0;
|
||||
setStartCodeIsSet(false);
|
||||
this.startCode = 0;
|
||||
}
|
||||
|
||||
public String getHostName() {
|
||||
return this.hostName;
|
||||
}
|
||||
|
||||
public TServerName setHostName(String hostName) {
|
||||
this.hostName = hostName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetHostName() {
|
||||
this.hostName = null;
|
||||
}
|
||||
|
||||
/** Returns true if field hostName is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetHostName() {
|
||||
return this.hostName != null;
|
||||
}
|
||||
|
||||
public void setHostNameIsSet(boolean value) {
|
||||
if (!value) {
|
||||
this.hostName = null;
|
||||
}
|
||||
}
|
||||
|
||||
public int getPort() {
|
||||
return this.port;
|
||||
}
|
||||
|
||||
public TServerName setPort(int port) {
|
||||
this.port = port;
|
||||
setPortIsSet(true);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetPort() {
|
||||
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PORT_ISSET_ID);
|
||||
}
|
||||
|
||||
/** Returns true if field port is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetPort() {
|
||||
return EncodingUtils.testBit(__isset_bitfield, __PORT_ISSET_ID);
|
||||
}
|
||||
|
||||
public void setPortIsSet(boolean value) {
|
||||
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PORT_ISSET_ID, value);
|
||||
}
|
||||
|
||||
public long getStartCode() {
|
||||
return this.startCode;
|
||||
}
|
||||
|
||||
public TServerName setStartCode(long startCode) {
|
||||
this.startCode = startCode;
|
||||
setStartCodeIsSet(true);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void unsetStartCode() {
|
||||
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STARTCODE_ISSET_ID);
|
||||
}
|
||||
|
||||
/** Returns true if field startCode is set (has been assigned a value) and false otherwise */
|
||||
public boolean isSetStartCode() {
|
||||
return EncodingUtils.testBit(__isset_bitfield, __STARTCODE_ISSET_ID);
|
||||
}
|
||||
|
||||
public void setStartCodeIsSet(boolean value) {
|
||||
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STARTCODE_ISSET_ID, value);
|
||||
}
|
||||
|
||||
public void setFieldValue(_Fields field, Object value) {
|
||||
switch (field) {
|
||||
case HOST_NAME:
|
||||
if (value == null) {
|
||||
unsetHostName();
|
||||
} else {
|
||||
setHostName((String)value);
|
||||
}
|
||||
break;
|
||||
|
||||
case PORT:
|
||||
if (value == null) {
|
||||
unsetPort();
|
||||
} else {
|
||||
setPort((Integer)value);
|
||||
}
|
||||
break;
|
||||
|
||||
case START_CODE:
|
||||
if (value == null) {
|
||||
unsetStartCode();
|
||||
} else {
|
||||
setStartCode((Long)value);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Object getFieldValue(_Fields field) {
|
||||
switch (field) {
|
||||
case HOST_NAME:
|
||||
return getHostName();
|
||||
|
||||
case PORT:
|
||||
return Integer.valueOf(getPort());
|
||||
|
||||
case START_CODE:
|
||||
return Long.valueOf(getStartCode());
|
||||
|
||||
}
|
||||
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 HOST_NAME:
|
||||
return isSetHostName();
|
||||
case PORT:
|
||||
return isSetPort();
|
||||
case START_CODE:
|
||||
return isSetStartCode();
|
||||
}
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
if (that instanceof TServerName)
|
||||
return this.equals((TServerName)that);
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(TServerName that) {
|
||||
if (that == null)
|
||||
return false;
|
||||
|
||||
boolean this_present_hostName = true && this.isSetHostName();
|
||||
boolean that_present_hostName = true && that.isSetHostName();
|
||||
if (this_present_hostName || that_present_hostName) {
|
||||
if (!(this_present_hostName && that_present_hostName))
|
||||
return false;
|
||||
if (!this.hostName.equals(that.hostName))
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean this_present_port = true && this.isSetPort();
|
||||
boolean that_present_port = true && that.isSetPort();
|
||||
if (this_present_port || that_present_port) {
|
||||
if (!(this_present_port && that_present_port))
|
||||
return false;
|
||||
if (this.port != that.port)
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean this_present_startCode = true && this.isSetStartCode();
|
||||
boolean that_present_startCode = true && that.isSetStartCode();
|
||||
if (this_present_startCode || that_present_startCode) {
|
||||
if (!(this_present_startCode && that_present_startCode))
|
||||
return false;
|
||||
if (this.startCode != that.startCode)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
HashCodeBuilder builder = new HashCodeBuilder();
|
||||
|
||||
boolean present_hostName = true && (isSetHostName());
|
||||
builder.append(present_hostName);
|
||||
if (present_hostName)
|
||||
builder.append(hostName);
|
||||
|
||||
boolean present_port = true && (isSetPort());
|
||||
builder.append(present_port);
|
||||
if (present_port)
|
||||
builder.append(port);
|
||||
|
||||
boolean present_startCode = true && (isSetStartCode());
|
||||
builder.append(present_startCode);
|
||||
if (present_startCode)
|
||||
builder.append(startCode);
|
||||
|
||||
return builder.toHashCode();
|
||||
}
|
||||
|
||||
public int compareTo(TServerName other) {
|
||||
if (!getClass().equals(other.getClass())) {
|
||||
return getClass().getName().compareTo(other.getClass().getName());
|
||||
}
|
||||
|
||||
int lastComparison = 0;
|
||||
TServerName typedOther = (TServerName)other;
|
||||
|
||||
lastComparison = Boolean.valueOf(isSetHostName()).compareTo(typedOther.isSetHostName());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetHostName()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostName, typedOther.hostName);
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
}
|
||||
lastComparison = Boolean.valueOf(isSetPort()).compareTo(typedOther.isSetPort());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetPort()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.port, typedOther.port);
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
}
|
||||
lastComparison = Boolean.valueOf(isSetStartCode()).compareTo(typedOther.isSetStartCode());
|
||||
if (lastComparison != 0) {
|
||||
return lastComparison;
|
||||
}
|
||||
if (isSetStartCode()) {
|
||||
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.startCode, typedOther.startCode);
|
||||
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("TServerName(");
|
||||
boolean first = true;
|
||||
|
||||
sb.append("hostName:");
|
||||
if (this.hostName == null) {
|
||||
sb.append("null");
|
||||
} else {
|
||||
sb.append(this.hostName);
|
||||
}
|
||||
first = false;
|
||||
if (isSetPort()) {
|
||||
if (!first) sb.append(", ");
|
||||
sb.append("port:");
|
||||
sb.append(this.port);
|
||||
first = false;
|
||||
}
|
||||
if (isSetStartCode()) {
|
||||
if (!first) sb.append(", ");
|
||||
sb.append("startCode:");
|
||||
sb.append(this.startCode);
|
||||
first = false;
|
||||
}
|
||||
sb.append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void validate() throws org.apache.thrift.TException {
|
||||
// check for required fields
|
||||
if (hostName == null) {
|
||||
throw new org.apache.thrift.protocol.TProtocolException("Required field 'hostName' 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 {
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
private static class TServerNameStandardSchemeFactory implements SchemeFactory {
|
||||
public TServerNameStandardScheme getScheme() {
|
||||
return new TServerNameStandardScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class TServerNameStandardScheme extends StandardScheme<TServerName> {
|
||||
|
||||
public void read(org.apache.thrift.protocol.TProtocol iprot, TServerName 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: // HOST_NAME
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
|
||||
struct.hostName = iprot.readString();
|
||||
struct.setHostNameIsSet(true);
|
||||
} else {
|
||||
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||
}
|
||||
break;
|
||||
case 2: // PORT
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
|
||||
struct.port = iprot.readI32();
|
||||
struct.setPortIsSet(true);
|
||||
} else {
|
||||
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
|
||||
}
|
||||
break;
|
||||
case 3: // START_CODE
|
||||
if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
|
||||
struct.startCode = iprot.readI64();
|
||||
struct.setStartCodeIsSet(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, TServerName struct) throws org.apache.thrift.TException {
|
||||
struct.validate();
|
||||
|
||||
oprot.writeStructBegin(STRUCT_DESC);
|
||||
if (struct.hostName != null) {
|
||||
oprot.writeFieldBegin(HOST_NAME_FIELD_DESC);
|
||||
oprot.writeString(struct.hostName);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
if (struct.isSetPort()) {
|
||||
oprot.writeFieldBegin(PORT_FIELD_DESC);
|
||||
oprot.writeI32(struct.port);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
if (struct.isSetStartCode()) {
|
||||
oprot.writeFieldBegin(START_CODE_FIELD_DESC);
|
||||
oprot.writeI64(struct.startCode);
|
||||
oprot.writeFieldEnd();
|
||||
}
|
||||
oprot.writeFieldStop();
|
||||
oprot.writeStructEnd();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class TServerNameTupleSchemeFactory implements SchemeFactory {
|
||||
public TServerNameTupleScheme getScheme() {
|
||||
return new TServerNameTupleScheme();
|
||||
}
|
||||
}
|
||||
|
||||
private static class TServerNameTupleScheme extends TupleScheme<TServerName> {
|
||||
|
||||
@Override
|
||||
public void write(org.apache.thrift.protocol.TProtocol prot, TServerName struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol oprot = (TTupleProtocol) prot;
|
||||
oprot.writeString(struct.hostName);
|
||||
BitSet optionals = new BitSet();
|
||||
if (struct.isSetPort()) {
|
||||
optionals.set(0);
|
||||
}
|
||||
if (struct.isSetStartCode()) {
|
||||
optionals.set(1);
|
||||
}
|
||||
oprot.writeBitSet(optionals, 2);
|
||||
if (struct.isSetPort()) {
|
||||
oprot.writeI32(struct.port);
|
||||
}
|
||||
if (struct.isSetStartCode()) {
|
||||
oprot.writeI64(struct.startCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(org.apache.thrift.protocol.TProtocol prot, TServerName struct) throws org.apache.thrift.TException {
|
||||
TTupleProtocol iprot = (TTupleProtocol) prot;
|
||||
struct.hostName = iprot.readString();
|
||||
struct.setHostNameIsSet(true);
|
||||
BitSet incoming = iprot.readBitSet(2);
|
||||
if (incoming.get(0)) {
|
||||
struct.port = iprot.readI32();
|
||||
struct.setPortIsSet(true);
|
||||
}
|
||||
if (incoming.get(1)) {
|
||||
struct.startCode = iprot.readI64();
|
||||
struct.setStartCodeIsSet(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -242,6 +242,27 @@ struct TRowMutations {
|
|||
2: required list<TMutation> mutations
|
||||
}
|
||||
|
||||
struct THRegionInfo {
|
||||
1: required i64 regionId
|
||||
2: required binary tableName
|
||||
3: optional binary startKey
|
||||
4: optional binary endKey
|
||||
5: optional bool offline
|
||||
6: optional bool split
|
||||
7: optional i32 replicaId
|
||||
}
|
||||
|
||||
struct TServerName {
|
||||
1: required string hostName
|
||||
2: optional i32 port
|
||||
3: optional i64 startCode
|
||||
}
|
||||
|
||||
struct THRegionLocation {
|
||||
1: required TServerName serverName
|
||||
2: required THRegionInfo regionInfo
|
||||
}
|
||||
|
||||
//
|
||||
// Exceptions
|
||||
//
|
||||
|
@ -512,4 +533,27 @@ service THBaseService {
|
|||
1: TIOError io
|
||||
)
|
||||
|
||||
/**
|
||||
* Given a table and a row get the location of the region that
|
||||
* would contain the given row key.
|
||||
*
|
||||
* reload = true means the cache will be cleared and the location
|
||||
* will be fetched from meta.
|
||||
*/
|
||||
THRegionLocation getRegionLocation(
|
||||
1: required binary table,
|
||||
2: required binary row,
|
||||
3: bool reload,
|
||||
) throws (
|
||||
1: TIOError io
|
||||
)
|
||||
|
||||
/**
|
||||
* Get all of the region locations for a given table.
|
||||
**/
|
||||
list<THRegionLocation> getAllRegionLocations(
|
||||
1: required binary table,
|
||||
) throws (
|
||||
1: TIOError io
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue