hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amit Patel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14070) Hybrid Logical Clocks for HBase
Date Sat, 26 Aug 2017 00:15:01 GMT

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

Amit Patel commented on HBASE-14070:

Just as a status update, I'll be finishing my internship so I will be much less active in
the future. I am extremely grateful for the help and support that I have received from the
community. At the moment there are still a few outstanding issues that should be addressed
before merging the work into master:
* Performance of HLC (Clock#now, Clock#update are expensive, not as big of an issue if HLC
is only used for meta but certainly is for user tables)
* Huge number of tests timing out in in the pre-commit/[public branch|https://builds.apache.org/job/HBASE-14070.HLC/]
builds (but haven't been able to replicate the test time-out and they pass just fine if ran

In terms of enabling HLC on user tables, remaining issues would include:
* Some tests that are still explicitly setting the timestamp and need to be converted to instead
manipulate the current time via mocking the clocks
* Bulk load does not update the HLC

Some additional brainstorming/discussions includes:
* [Deprecate setting of timestamp in client for HLC|https://issues.apache.org/jira/browse/HBASE-18642]
* [Add 'Transaction ID' to Result for HLC|https://issues.apache.org/jira/browse/HBASE-18643]

> Hybrid Logical Clocks for HBase
> -------------------------------
>                 Key: HBASE-14070
>                 URL: https://issues.apache.org/jira/browse/HBASE-14070
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Enis Soztutar
>            Assignee: Amit Patel
>         Attachments: HBASE-14070.master.001.patch, HybridLogicalClocksforHBaseandPhoenix.docx,
> HBase and Phoenix uses systems physical clock (PT) to give timestamps to events (read
and writes). This works mostly when the system clock is strictly monotonically increasing
and there is no cross-dependency between servers clocks. However we know that leap seconds,
general clock skew and clock drift are in fact real. 
> This jira proposes using Hybrid Logical Clocks (HLC) as an implementation of hybrid physical
clock + a logical clock. HLC is best of both worlds where it keeps causality relationship
similar to logical clocks, but still is compatible with NTP based physical system clock. HLC
can be represented in 64bits. 
> A design document is attached and also can be found here: 
> https://docs.google.com/document/d/1LL2GAodiYi0waBz5ODGL4LDT4e_bXy8P9h6kWC05Bhw/edit#

This message was sent by Atlassian JIRA

View raw message