Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-14070

Hybrid Logical Clocks for HBase

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: In Progress
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      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#

        Attachments

        1. HybridLogicalClocksforHBaseandPhoenix.pdf
          334 kB
          Enis Soztutar
        2. HybridLogicalClocksforHBaseandPhoenix.docx
          24 kB
          Andrew Kyle Purtell
        3. HBASE-14070.master.001.patch
          284 kB
          Sai Teja Ranuva

          Issue Links

            Activity

              People

              • Assignee:
                amit.patel Amit Patel
                Reporter:
                enis Enis Soztutar
              • Votes:
                0 Vote for this issue
                Watchers:
                44 Start watching this issue

                Dates

                • Created:
                  Updated: