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

Hybrid Logical Clocks for HBase

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • 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. HBASE-14070.master.001.patch
          284 kB
          Sai Teja Ranuva
        2. HybridLogicalClocksforHBaseandPhoenix.docx
          24 kB
          Andrew Kyle Purtell
        3. HybridLogicalClocksforHBaseandPhoenix.pdf
          334 kB
          Enis Soztutar

        Issue Links

          Activity

            People

              Unassigned Unassigned
              enis Enis Soztutar
              Votes:
              0 Vote for this issue
              Watchers:
              45 Start watching this issue

              Dates

                Created:
                Updated: