hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asaf Mesika <asaf.mes...@gmail.com>
Subject Re: Retrieve Put timestamp
Date Tue, 31 Jul 2012 20:07:26 GMT
What do you mean by using TS as version? Are you determining the ts long value before and then
setting it in the Put object? If so, I think you can use a specific cell as a counter (Sequence
in Oracle language, or Auto Increment column in MySQL). In that case of course you need the
value of the TS so that's not a problem.

On 31 ביול 2012, at 01:13, Pablo Musa <pablo@psafe.com> wrote:

> 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.*/
> @Override
> public void put(Put put) throws IOException {
>    byte[] row = put.getRow();
>    hTableInterface.put(put);
>    KeyValue kv = hTableInterface.get(new Get(row)).getColumnLatest(family, qualifier);
>    long version = kv.getTimestamp();
> }
> Is there any better way to do it?
> Thanks,
> Pablo

View raw message