hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lars hofhansl <lhofha...@yahoo.com>
Subject Re: Retrieve Put timestamp
Date Wed, 01 Aug 2012 16:33:45 GMT
There is no HBase API for this.
However, this could useful in some scenario, so maybe we could add an API for this.
It's not entirely trivial, though.
From: Pablo Musa <pablo@psafe.com>
To: "user@hbase.apache.org" <user@hbase.apache.org> 
Sent: Monday, July 30, 2012 3:13 PM
Subject: Retrieve Put timestamp

Hey guys,
in my application the HBase timestamp is used as version in my logic.
I would like to know what is the best way to insert a new record and get its timestamp.

I have come up with two possibilities:

/* I could force timestamp, but it is not a good idea since different servers
* write into HBase which could lead to crazy behavior */
new Put(row, timestamp);

/* Or I could write into HBase and read it back. But I don't know how much overhead
* this option causes.*/
public void put(Put put) throws IOException {
    byte[] row = put.getRow();
    KeyValue kv = hTableInterface.get(new Get(row)).getColumnLatest(family, qualifier);
    long version = kv.getTimestamp();

Is there any better way to do it?


View raw message