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

stack commented on HBASE-16210:
-------------------------------

Ok. Good.

> Add Timestamp class to the hbase-common
> ---------------------------------------
>
>                 Key: HBASE-16210
>                 URL: https://issues.apache.org/jira/browse/HBASE-16210
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sai Teja Ranuva
>            Assignee: Sai Teja Ranuva
>            Priority: Minor
>              Labels: patch, testing
>         Attachments: HBASE-16210.master.1.patch, HBASE-16210.master.2.patch, 
> HBASE-16210.master.3.patch, HBASE-16210.master.4.patch, 
> HBASE-16210.master.5.patch, HBASE-16210.master.6.patch, 
> HBASE-16210.master.7.patch, HBASE-16210.master.8.1.patch, 
> HBASE-16210.master.8.patch
>
>
> This is a sub-issue of 
> [HBase-14070|https://issues.apache.org/jira/browse/HBASE-14070]. This JIRA is 
> a small step towards completely adding Hybrid Logical Clocks(HLC) to HBase. 
> The main idea of HLC is described in 
> [HBase-14070|https://issues.apache.org/jira/browse/HBASE-14070] along with 
> the motivation of adding it to HBase. 
> This patch in this issue takes the code from the patch in the parent. 
> The parent patch is pretty big to review at once. So, plan is to get code 
> reviewed in smaller patches and 
> in the process take suggestions and change things if necessary. 
> What is this patch/issue about ?
> This issue attempts to add a timestamp class to hbase-common and timestamp 
> type to HTable. 
> This is a part of the attempt to get HLC into HBase. This patch does not 
> interfere with the current working of HBase.
> Why Timestamp Class ?
> Timestamp class can be as an abstraction to represent time in Hbase in 64 
> bits. 
> It is just used for manipulating with the 64 bits of the timestamp and is not 
> concerned about the actual time.
> There are three types of timestamps. System time, Custom and HLC. Each one of 
> it has methods to manipulate the 64 bits of timestamp. 
> HTable changes: Added a timestamp type property to HTable. This will help 
> HBase exist in conjunction with old type of timestamp and also the HLC which 
> will be introduced. The default is set to custom timestamp(current way of 
> usage of timestamp). default unset timestamp is also custom timestamp as it 
> should be so. The default timestamp will be changed to HLC when HLC feature 
> is introduced completely in HBase.
> Check HBASE-16210.master.6.patch.
> Update: Based on the suggestions, made timestamp enum. Here is the 
> description of the new changes.
> Check the HBASE-16210.master.8.1.patch
> 1. Changed the Timestamp Implementation to Enum.
> 2. Changed the Timestamp semantics. Instead of HLC, System monotonic and 
> custom, we now have Hybrid and Physical. System monotonic clock and Custom 
> clocks can map their timestamps to Physical. HLC clock can map its timestamp 
> to Hybrid.
> 3. The HTableDescriptor will contain clock type(not implemented yet) instead 
> of timestamp type. As clocks convey the semantics of monotonic increasing and 
> non decreasing etc. TimestampType doesn't have those semantics enforced, it 
> just knows what to do with given 64 bits. Therefore, I removed the timestamp 
> type field in the HTableDescriptor.
> Open for suggestions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to