[
https://issues.apache.org/jira/browse/HBASE-16210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sai Teja Ranuva updated HBASE-16210:
------------------------------------
Description:
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.
Suggestions are welcome.
was:
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.
Suggestions are welcome.
> Add Timestamp class to the hbase-common and Timestamp type to HTable.
> ---------------------------------------------------------------------
>
> 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.
> Suggestions are welcome.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)