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

Enis Soztutar updated HBASE-14070:
----------------------------------
    Description: 
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#


  was:
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. 



> 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: Enis Soztutar
>
> 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
(v6.3.4#6332)

Reply via email to