hi
all
I want to scan rows by specified timestamp. I use following hbase shell command
:
scan 'testcrawl',{TIMESTAMP=>1312268202071}
ROW COLUMN+CELL
put1.com column=crawl:data,
timestamp=1312268202071, value=<html>put1</html>
put1.com column=crawl:type,
timestamp=1312268202071, value=html
put1.com column=links:outlinks,
timestamp=1312268202071, value=www.163.com;www.sina.com
As I expected, I can get the rows which timestamp is 1312268202071.
But when I use thift client to do the same thing ,the return data is the rows
which time before specified timestamp , not the same as hbase shell.
1312179170000
1312268202059
(the timestamp of rows I get by using thrift client,not contained the
timestamp I specified.)
I look up the source in
hbase/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServer.java, it use
following code to set time parameter .
scan.setTimeRange(Long.MIN_VALUE, timestamp);
This cause thrift client return rows before specified row ,not the rows
timestamp specified.
But in hbase client and avro client ,it use following code to set time
parameter.
scan.setTimeStamp(timestamp);
this will return rows timestamp specified.
My question is, is this a feature or a bug in thrift client ?
if this is a feature, which method in thrift client can get the rows by
specified timestamp?
thanks