It'd be great to see this land. You only mention the master branch as
a merge target; is the assumption that this would only be a HBase 3.0+
addition?

On Thu, Jun 22, 2017 at 7:34 PM, Amit Patel <amit.pa...@cloudera.com> wrote:
> Hi everyone,
>
>
>
> I'm Amit and I've been picking up on the past work on Hybrid Logical Clocks
> (HBASE-14070 <https://issues.apache.org/jira/browse/HBASE-14070>) that was
> done by Sai Teja Ranuva last summer. The most recent status of HLC on HBase
> can be found here
> <https://docs.google.com/document/d/1n32DUKoL3LSoKQ1_NuF8TbQkZiZCwFhbHZ7JXRjg3oA/edit#>
> and a prior document by Enis Soztutar with discussion can be found here
> <https://docs.google.com/document/d/1LL2GAodiYi0waBz5ODGL4LDT4e_bXy8P9h6kWC05Bhw/edit#>.
> I think the effort is at a point where it makes sense to create a public
> branch.
>
>
>
> Currently the plan is to create a public branch and incrementally add on
> functionality and tests. Initially, core HLC would be introduced as a
> commit. From there, HLC would then be enabled for just the meta table
> (updating the clock on events like region open/close, recovery,
> replication, etc). Once we are fully confident that HLC at least works on
> the meta table then I anticipate it would be appropriate to merge with the
> master branch.
>
>
>
> Follow up commits would extend the effort by:
>
>
>
>    -
>
>    Addition of a protobuf message called NodeTime that holds timestamp
>    corresponding to a send event between nodes.
>    -
>
>    Addition of NodeTime as a field to messages sent between nodes for
>    messages like requests and responses for region open/close.
>    -
>
>    Addition of integration tests that verify HLC works correctly with
>    recovery, replication, region open, and region close.
>    -
>
>    Later enabling HLC on user tables (main barrier are tests that rely on
>    client-side setting of timestamps for table mutations which would no longer
>    be allowed on an HLC table).
>
>
>
> Work that I have implemented under the outstanding work
> <https://docs.google.com/document/d/1n32DUKoL3LSoKQ1_NuF8TbQkZiZCwFhbHZ7JXRjg3oA/edit#heading=h.8x5d8iakmo8b>
> as a part of getting HLC working for user tables includes:
>
>
>
>    -
>
>    Mapping of time ranges from client GETs
>    -
>
>    Disallowing clients to set timestamps for HLC and System Monotonic tables
>
>
>
> Feel free to chime in with any comments, suggestions, or other input.
>
> --
> Amit

Reply via email to