hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18824) Add meaningful comment to HConstants.LATEST_TIMESTAMP to explain why it is MAX_VALUE
Date Sun, 15 Oct 2017 20:05:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16205283#comment-16205283

Chia-Ping Tsai commented on HBASE-18824:

When the size of Get's result is greater than count (to be deleted), the code updates the
timestamp to server's current time
When the size of Get's result is equal to count(to be deleted), the code updates the timestamp
to the latest version of what could be Get (why?)
Region try to find enough PUT cells to update the DELETE cells having the LATEST_TIMESTAMP.
If the number of PUT cells is greater than number of DELETE cells, it means each DELETE cells
have "latest" timestamp provided by real PUT cell rather than server's ts.
Pardon. I didn't check the comment entirely.

> Add meaningful comment to HConstants.LATEST_TIMESTAMP to explain why it is MAX_VALUE
> ------------------------------------------------------------------------------------
>                 Key: HBASE-18824
>                 URL: https://issues.apache.org/jira/browse/HBASE-18824
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Xiang Li
>            Assignee: Xiang Li
>            Priority: Minor
>         Attachments: HBASE-18824.master.000.patch, HBASE-18824.master.001.patch, HBASE-18824.master.002.patch
> Thanks to [Jerry and Chia-Ping Tsai's comments|https://issues.apache.org/jira/browse/HBASE-18824?focusedCommentId=16167392&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16167392]
to correct my wrong understanding. 
> The following documentation says that by default(when the timestamp is not specified
for Put or Delete), system uses the server's {{currentTimeMillis}}.
> 1. In chapter 27.2.4 Put 
> bq. Doing a put always creates a new version of a cell, at a certain timestamp. {color:#205081}By
default the system uses the server’s currentTimeMillis{color}, ...
> 2. In chapter 27.2.5 Delete
> bq. Deletes work by creating tombstone markers. For example, let’s suppose we want
to delete a row. For this you can specify a version, or else {color:#205081}by default the
currentTimeMillis is used.{color}...
> It seems not consistent with the code. Because in the client side's code, when timestamp
is not specified, HConstants.LATEST_TIMESTAMP is used, which is Long.MAX_VALUE, rather than
> However, the documentation is correct, because on the server side,  timestamp of Put
cell with HConstants.LATEST_TIMESTAMP will be replaced with server's {{currentTimeMillis}}.
> So we decide to add more comments to HConstants.LATEST_TIMESTAMP to help the new comers
steer clear of the confusion.

This message was sent by Atlassian JIRA

View raw message