[ https://issues.apache.org/jira/browse/HBASE-14070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14641376#comment-14641376 ]
Enis Soztutar commented on HBASE-14070: --------------------------------------- bq. I put a comment in the doc asking how time and sequenceid relate. If time were by region rather than by regionserver, HLC time could be the sequenceid as I see it. Agreed that it will be a nice way of simplification. We are a multi-value database with client settable timestamps and ordering is timestamp-first then seqId. If we want to merge these, it should not be client settable and replication cannot work the way it does today. Current proposal does not propose that we change the HBase semantics at that level. But it also does not prevent it in any way if we want to follow that approach. Once core HLC classes are there, it should be much easy to build. bq. This implies Cell is no longer standalone. It needs a context so its timestamp is interpreted appropriately. True. You can still get the 64-bit timestamp from Cell without Timestamp class. Only if you want to interpret it as wall clock time, you need Timestamp class. > 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 > Attachments: HybridLogicalClocksforHBaseandPhoenix.docx, > HybridLogicalClocksforHBaseandPhoenix.pdf > > > 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)