Thanks Ted!
This is exactly what I need. 

This will be a memory copy, but it solves my problem. Hope HBase can provide a 
setTimeStamp() method in future release.

Best Regards,
Ming

-----Original Message-----
From: Ted Yu [mailto:[email protected]] 
Sent: Wednesday, January 21, 2015 11:30 AM
To: [email protected]
Subject: Re: Given a Put object, is there any way to change the timestamp of it?

bq. I have no way to get ALL its cells out Mutation has the following method:

  public NavigableMap<byte [], List<Cell>> getFamilyCellMap() {

FYI

On Tue, Jan 20, 2015 at 5:43 PM, Liu, Ming (HPIT-GADSC) <[email protected]>
wrote:

> Hello, there,
>
> I am developing a coprocessor under HBase 0.98.6. The client send a 
> Put object to the coprocessor in Protobuf, when the coprocessor 
> receive the message , it invokes ProtobufUtil.toPut to convert it to a 
> Put object. Do various checking  and then put it into HBase table.
> Now, I get a requirement to change the timestamp of that Put object, 
> but I found no way to do this.
>
> I was first try to generate a new Put object with a new timestamp, and 
> try to copy the old one into this new object. But I found given a Put 
> object, I have no way to get ALL its cells out if I don't know the 
> column family and column qualifier name in advance. In my case, those 
> CF/Column names are random as user defined. So I stuck here. Could 
> anyone have idea how to workaround this?
>
> The Mutation class has getTimestamp() method but no setTimestamp(). I 
> wish there is a setTimestamp() for it. Is there any reason it is not 
> provided? I hope in future release Mutation can expose a 
> setTimestamp() method, is it possible? If so, my job will get much easier...
>
> Thanks,
> Ming
>

Reply via email to