hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiang Li (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-18824) Add meaningful comment to HConstants.LATEST_TIMESTAMP to explain why it is MAX_VALUE
Date Thu, 05 Oct 2017 14:13:00 GMT

     [ https://issues.apache.org/jira/browse/HBASE-18824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Xiang Li updated HBASE-18824:
-----------------------------
    Description: 
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 {{System.currentTimeMillis()}}.

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.

  was:
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), the 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 {{System.currentTimeMillis()}}.

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.


> 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
>
>
> 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
{{System.currentTimeMillis()}}.
> 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
(v6.4.14#64029)

Mime
View raw message