hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gaurav Menghani (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-11257) [0.89-fb] Remove the timestamp from the annotation of Put
Date Tue, 27 May 2014 16:56:02 GMT
Gaurav Menghani created HBASE-11257:

             Summary: [0.89-fb] Remove the timestamp from the annotation of Put
                 Key: HBASE-11257
                 URL: https://issues.apache.org/jira/browse/HBASE-11257
             Project: HBase
          Issue Type: Improvement
            Reporter: Gaurav Menghani
            Assignee: Gaurav Menghani
            Priority: Minor

David and I, recently found out, when discussing the C++ client with @csliu from the Search
Team, that we have an extraneous timestamp field in the Put. Actually, that field is used
when we create a Put object like:

Put p = new Put(row, ts);
And then, if you do:

p.add(cf, qualifier, value);
it would use ts as a timestamp for the KeyValue for the cf, qualifier. If you did not specify
it, it will use HConstants.LATEST_TIMESTAMP.

One can also do this, where you explicitly state the timestamp to be used:

p.add(cf, qualifier, ts, value)
In either case, when the add() method is called, the KeyValue is constructed, and it has the
proper timestamp. Therefore, once you have created the family map with all these KeyValues,
you don't need to send the ts field provided during the construction. All the KVs will have
the correct timestamp embedded by the time it will be sent across.

This diff removes the timestamp field from the Put object. This will save us some network
bandwidth, hopefully :)

This message was sent by Atlassian JIRA

View raw message