You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by li...@apache.org on 2014/02/11 19:28:25 UTC
svn commit: r1567265 - in /hbase/branches/0.89-fb/src:
main/java/org/apache/hadoop/hbase/thrift/
main/java/org/apache/hadoop/hbase/thrift/generated/
main/resources/org/apache/hadoop/hbase/thrift/
test/java/org/apache/hadoop/hbase/thrift/
Author: liyin
Date: Tue Feb 11 18:28:25 2014
New Revision: 1567265
URL: http://svn.apache.org/r1567265
Log:
[HBASE-10450] Java change for "Add Scanner::setMinTimestamp"
Author: daviddeng
Summary:
Add TScan.minTimestamp in thrift file
Recompile the thrift
Change calling to Scan.setTimeRange in HBaseHandler.scannerOpenWithScan
Test Plan:
TestThriftServer
Reviewers: gauravm, manukranthk, liyintang, aaiyer, adela
Reviewed By: liyintang
CC: hbase-eng@, khadkevich
Differential Revision: https://phabricator.fb.com/D1152248
Task ID: 3609535
Added:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/HbaseConstants.java
- copied, changed from r1567264, hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java
hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/thrift.sh
Modified:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java?rev=1567265&r1=1567264&r2=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java Tue Feb 11 18:28:25 2014
@@ -1110,6 +1110,7 @@ public class ThriftServerRunner implemen
}
}
+ @Override
public void scannerClose(int id) throws IOError, IllegalArgument {
LOG.debug("scannerClose: id=" + id);
ResultScanner scanner = getScanner(id);
@@ -1120,6 +1121,7 @@ public class ThriftServerRunner implemen
removeScanner(id);
}
+ @Override
public List<TRowResult> scannerGetList(int id,int nbRows) throws IllegalArgument, IOError {
LOG.debug("scannerGetList: id=" + id);
ResultScanner scanner = getScanner(id);
@@ -1141,6 +1143,7 @@ public class ThriftServerRunner implemen
return ThriftUtilities.rowResultFromHBase(results);
}
+ @Override
public List<TRowResult> scannerGet(int id) throws IllegalArgument, IOError {
return scannerGetList(id,1);
}
@@ -1226,8 +1229,12 @@ public class ThriftServerRunner implemen
if (tScan.isSetStopRow()) {
scan.setStopRow(tScan.getStopRow());
}
- if (tScan.isSetTimestamp()) {
- scan.setTimeRange(Long.MIN_VALUE, tScan.getTimestamp());
+ if (tScan.isSetTimestamp() || tScan.isSetMinTimestamp()) {
+ long minTS = tScan.isSetMinTimestamp() ? tScan.getMinTimestamp()
+ : Long.MIN_VALUE;
+ long maxTS = tScan.isSetTimestamp() ? tScan.getTimestamp()
+ : Long.MAX_VALUE;
+ scan.setTimeRange(minTS, maxTS);
}
if (tScan.isSetCaching()) {
scan.setCaching(tScan.getCaching());
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java?rev=1567265&r1=1567264&r2=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java Tue Feb 11 18:28:25 2014
@@ -1,34 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.8.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-package org.apache.hadoop.hbase.thrift.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 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 Constants {
-
- public static final long LATEST_TIMESTAMP = 9223372036854775807L;
-
-}
Copied: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/HbaseConstants.java (from r1567264, hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java)
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/HbaseConstants.java?p2=hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/HbaseConstants.java&p1=hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java&r1=1567264&r2=1567265&rev=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Constants.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/HbaseConstants.java Tue Feb 11 18:28:25 2014
@@ -1,17 +1,23 @@
/**
- * Autogenerated by Thrift Compiler (0.8.0)
+ * Autogenerated by Thrift Compiler (0.9.1)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
package org.apache.hadoop.hbase.thrift.generated;
+import org.apache.commons.lang3.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 org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
@@ -27,7 +33,7 @@ import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class Constants {
+public class HbaseConstants {
public static final long LATEST_TIMESTAMP = 9223372036854775807L;
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java?rev=1567265&r1=1567264&r2=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java Tue Feb 11 18:28:25 2014
@@ -47,6 +47,7 @@ public class TScan implements org.apache
private static final org.apache.thrift.protocol.TField FILTER_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("filterString", org.apache.thrift.protocol.TType.STRING, (short)6);
private static final org.apache.thrift.protocol.TField CACHING_BLOCKS_ENABLED_FIELD_DESC = new org.apache.thrift.protocol.TField("cachingBlocksEnabled", org.apache.thrift.protocol.TType.BOOL, (short)7);
private static final org.apache.thrift.protocol.TField BATCH_LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("batchLimit", org.apache.thrift.protocol.TType.I32, (short)8);
+ private static final org.apache.thrift.protocol.TField MIN_TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("minTimestamp", org.apache.thrift.protocol.TType.I64, (short)9);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -62,6 +63,7 @@ public class TScan implements org.apache
public ByteBuffer filterString; // optional
public boolean cachingBlocksEnabled; // optional
public int batchLimit; // optional
+ public long minTimestamp; // 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 {
@@ -72,7 +74,8 @@ public class TScan implements org.apache
CACHING((short)5, "caching"),
FILTER_STRING((short)6, "filterString"),
CACHING_BLOCKS_ENABLED((short)7, "cachingBlocksEnabled"),
- BATCH_LIMIT((short)8, "batchLimit");
+ BATCH_LIMIT((short)8, "batchLimit"),
+ MIN_TIMESTAMP((short)9, "minTimestamp");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -103,6 +106,8 @@ public class TScan implements org.apache
return CACHING_BLOCKS_ENABLED;
case 8: // BATCH_LIMIT
return BATCH_LIMIT;
+ case 9: // MIN_TIMESTAMP
+ return MIN_TIMESTAMP;
default:
return null;
}
@@ -147,8 +152,9 @@ public class TScan implements org.apache
private static final int __CACHING_ISSET_ID = 1;
private static final int __CACHINGBLOCKSENABLED_ISSET_ID = 2;
private static final int __BATCHLIMIT_ISSET_ID = 3;
+ private static final int __MINTIMESTAMP_ISSET_ID = 4;
private byte __isset_bitfield = 0;
- private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.TIMESTAMP,_Fields.COLUMNS,_Fields.CACHING,_Fields.FILTER_STRING,_Fields.CACHING_BLOCKS_ENABLED,_Fields.BATCH_LIMIT};
+ private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.TIMESTAMP,_Fields.COLUMNS,_Fields.CACHING,_Fields.FILTER_STRING,_Fields.CACHING_BLOCKS_ENABLED,_Fields.BATCH_LIMIT,_Fields.MIN_TIMESTAMP};
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);
@@ -169,6 +175,8 @@ public class TScan implements org.apache
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
tmpMap.put(_Fields.BATCH_LIMIT, new org.apache.thrift.meta_data.FieldMetaData("batchLimit", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+ tmpMap.put(_Fields.MIN_TIMESTAMP, new org.apache.thrift.meta_data.FieldMetaData("minTimestamp", 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(TScan.class, metaDataMap);
}
@@ -201,6 +209,7 @@ public class TScan implements org.apache
}
this.cachingBlocksEnabled = other.cachingBlocksEnabled;
this.batchLimit = other.batchLimit;
+ this.minTimestamp = other.minTimestamp;
}
public TScan deepCopy() {
@@ -221,6 +230,8 @@ public class TScan implements org.apache
this.cachingBlocksEnabled = false;
setBatchLimitIsSet(false);
this.batchLimit = 0;
+ setMinTimestampIsSet(false);
+ this.minTimestamp = 0;
}
public byte[] getStartRow() {
@@ -456,6 +467,29 @@ public class TScan implements org.apache
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BATCHLIMIT_ISSET_ID, value);
}
+ public long getMinTimestamp() {
+ return this.minTimestamp;
+ }
+
+ public TScan setMinTimestamp(long minTimestamp) {
+ this.minTimestamp = minTimestamp;
+ setMinTimestampIsSet(true);
+ return this;
+ }
+
+ public void unsetMinTimestamp() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MINTIMESTAMP_ISSET_ID);
+ }
+
+ /** Returns true if field minTimestamp is set (has been assigned a value) and false otherwise */
+ public boolean isSetMinTimestamp() {
+ return EncodingUtils.testBit(__isset_bitfield, __MINTIMESTAMP_ISSET_ID);
+ }
+
+ public void setMinTimestampIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MINTIMESTAMP_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case START_ROW:
@@ -522,6 +556,14 @@ public class TScan implements org.apache
}
break;
+ case MIN_TIMESTAMP:
+ if (value == null) {
+ unsetMinTimestamp();
+ } else {
+ setMinTimestamp((Long)value);
+ }
+ break;
+
}
}
@@ -551,6 +593,9 @@ public class TScan implements org.apache
case BATCH_LIMIT:
return Integer.valueOf(getBatchLimit());
+ case MIN_TIMESTAMP:
+ return Long.valueOf(getMinTimestamp());
+
}
throw new IllegalStateException();
}
@@ -578,6 +623,8 @@ public class TScan implements org.apache
return isSetCachingBlocksEnabled();
case BATCH_LIMIT:
return isSetBatchLimit();
+ case MIN_TIMESTAMP:
+ return isSetMinTimestamp();
}
throw new IllegalStateException();
}
@@ -667,6 +714,15 @@ public class TScan implements org.apache
return false;
}
+ boolean this_present_minTimestamp = true && this.isSetMinTimestamp();
+ boolean that_present_minTimestamp = true && that.isSetMinTimestamp();
+ if (this_present_minTimestamp || that_present_minTimestamp) {
+ if (!(this_present_minTimestamp && that_present_minTimestamp))
+ return false;
+ if (this.minTimestamp != that.minTimestamp)
+ return false;
+ }
+
return true;
}
@@ -714,6 +770,11 @@ public class TScan implements org.apache
if (present_batchLimit)
builder.append(batchLimit);
+ boolean present_minTimestamp = true && (isSetMinTimestamp());
+ builder.append(present_minTimestamp);
+ if (present_minTimestamp)
+ builder.append(minTimestamp);
+
return builder.toHashCode();
}
@@ -805,6 +866,16 @@ public class TScan implements org.apache
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetMinTimestamp()).compareTo(other.isSetMinTimestamp());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetMinTimestamp()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.minTimestamp, other.minTimestamp);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -888,6 +959,12 @@ public class TScan implements org.apache
sb.append(this.batchLimit);
first = false;
}
+ if (isSetMinTimestamp()) {
+ if (!first) sb.append(", ");
+ sb.append("minTimestamp:");
+ sb.append(this.minTimestamp);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -1007,6 +1084,14 @@ public class TScan implements org.apache
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 9: // MIN_TIMESTAMP
+ if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+ struct.minTimestamp = iprot.readI64();
+ struct.setMinTimestampIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -1077,6 +1162,11 @@ public class TScan implements org.apache
oprot.writeI32(struct.batchLimit);
oprot.writeFieldEnd();
}
+ if (struct.isSetMinTimestamp()) {
+ oprot.writeFieldBegin(MIN_TIMESTAMP_FIELD_DESC);
+ oprot.writeI64(struct.minTimestamp);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -1119,7 +1209,10 @@ public class TScan implements org.apache
if (struct.isSetBatchLimit()) {
optionals.set(7);
}
- oprot.writeBitSet(optionals, 8);
+ if (struct.isSetMinTimestamp()) {
+ optionals.set(8);
+ }
+ oprot.writeBitSet(optionals, 9);
if (struct.isSetStartRow()) {
oprot.writeBinary(struct.startRow);
}
@@ -1150,12 +1243,15 @@ public class TScan implements org.apache
if (struct.isSetBatchLimit()) {
oprot.writeI32(struct.batchLimit);
}
+ if (struct.isSetMinTimestamp()) {
+ oprot.writeI64(struct.minTimestamp);
+ }
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
- BitSet incoming = iprot.readBitSet(8);
+ BitSet incoming = iprot.readBitSet(9);
if (incoming.get(0)) {
struct.startRow = iprot.readBinary();
struct.setStartRowIsSet(true);
@@ -1197,6 +1293,10 @@ public class TScan implements org.apache
struct.batchLimit = iprot.readI32();
struct.setBatchLimitIsSet(true);
}
+ if (incoming.get(8)) {
+ struct.minTimestamp = iprot.readI64();
+ struct.setMinTimestampIsSet(true);
+ }
}
}
Modified: hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?rev=1567265&r1=1567264&r2=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift (original)
+++ hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift Tue Feb 11 18:28:25 2014
@@ -133,7 +133,8 @@ struct TScan {
5:optional i32 caching,
6:optional Text filterString,
7:optional bool cachingBlocksEnabled,
- 8:optional i32 batchLimit
+ 8:optional i32 batchLimit,
+ 9:optional i64 minTimestamp
}
//
Added: hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/thrift.sh
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/thrift.sh?rev=1567265&view=auto
==============================================================================
--- hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/thrift.sh (added)
+++ hbase/branches/0.89-fb/src/main/resources/org/apache/hadoop/hbase/thrift/thrift.sh Tue Feb 11 18:28:25 2014
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+LANG="java"
+SOURCE="Hbase.thrift"
+THRIFT="thrift-apache"
+OUTPUT="../../../../../../java"
+PKG_PATH="org/apache/hadoop/hbase/thrift/generated"
+LOCAL_DIR="gen-$LANG"
+VERSION="Thrift version 0.9.1"
+
+# check thrift version
+if [ "`$THRIFT -version`" != "$VERSION" ]; then
+ echo "Please use thrift with the version: $VERSION"
+ exit 1
+fi
+
+rm -rf $LOCAL_DIR
+$THRIFT --gen $LANG:hashcode $SOURCE
+rm -rf $OUTPUT/$PKG_PATH/*
+mv $LOCAL_DIR/$PKG_PATH/* $OUTPUT/$PKG_PATH/
+rm -rf $LOCAL_DIR
Modified: hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java?rev=1567265&r1=1567264&r2=1567265&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java (original)
+++ hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java Tue Feb 11 18:28:25 2014
@@ -40,13 +40,14 @@ import org.apache.hadoop.hbase.io.hfile.
import org.apache.hadoop.hbase.regionserver.StoreFile;
import org.apache.hadoop.hbase.thrift.generated.BatchMutation;
import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;
-import org.apache.hadoop.hbase.thrift.generated.Constants;
import org.apache.hadoop.hbase.thrift.generated.Hbase;
+import org.apache.hadoop.hbase.thrift.generated.HbaseConstants;
import org.apache.hadoop.hbase.thrift.generated.IOError;
import org.apache.hadoop.hbase.thrift.generated.Mutation;
import org.apache.hadoop.hbase.thrift.generated.TCell;
import org.apache.hadoop.hbase.thrift.generated.TRegionInfo;
import org.apache.hadoop.hbase.thrift.generated.TRowResult;
+import org.apache.hadoop.hbase.thrift.generated.TScan;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Threads;
import org.apache.hadoop.metrics.ContextFactory;
@@ -369,6 +370,7 @@ public class TestThriftServer {
*
* @throws Exception
*/
+ @SuppressWarnings("deprecation")
@Test
public void doTestTableTimestampsAndColumns() throws Exception {
// Setup
@@ -512,6 +514,18 @@ public class TestThriftServer {
TRowResult rowResult4a = handler.scannerGet(scanner4).get(0);
assertEquals(rowResult4a.columns.size(), 1);
assertBufferEquals(rowResult4a.columns.get(columnBname).value, valueBname);
+ closeScanner(scanner4, handler);
+
+ // Test MinTimestamp
+ TScan tScan = new TScan();
+ tScan.setStartRow(rowAname);
+ tScan.setColumns(getColumnList(true, true));
+ tScan.setMinTimestamp(time1 - 1);
+ tScan.setTimestamp(time1);
+ int scanner5 = handler.scannerOpenWithScan(tableAname, tScan);
+ TRowResult result5 = handler.scannerGet(scanner5).get(0);
+ assertBufferEquals(result5.columns.get(columnBname).value, valueBname);
+ closeScanner(scanner5, handler);
} finally {
// Teardown
handler.disableTable(tableAname);
@@ -544,6 +558,8 @@ public class TestThriftServer {
LOG.info("Region found:" + regions.get(0));
handler.disableTable(tableAname);
handler.deleteTable(tableAname);
+ ((ThriftServerRunner.HBaseHandler) handler).getTable(tableAname)
+ .clearRegionCache();
regionCount = handler.getTableRegions(tableAname).size();
assertEquals("non-existing table should have 0 region, " +
"but found " + regionCount, regionCount, 0);
@@ -685,6 +701,6 @@ public class TestThriftServer {
@Test
public void testMaxTimestamp() {
- assertEquals(HConstants.LATEST_TIMESTAMP, Constants.LATEST_TIMESTAMP);
+ assertEquals(HConstants.LATEST_TIMESTAMP, HbaseConstants.LATEST_TIMESTAMP);
}
}