[ https://issues.apache.org/jira/browse/HBASE-16210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15388277#comment-15388277 ]
stack commented on HBASE-16210: ------------------------------- Don't you mean this work is done, reviewed, passes hadoopqa, and is ready to go but you are holding off just now until you work on clocks and you have a user or two of this code? (Smile) > 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.2.patch, HBASE-16210.master.8.3.patch, > HBASE-16210.master.8.4.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)