hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Leach (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15556) need extensible ConsistencyControl interface
Date Sat, 02 Apr 2016 13:16:25 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15222883#comment-15222883

John Leach commented on HBASE-15556:

Focus of the patch:

1.  Isolate the consistency model of HBase and define it via an interface (clarity).  
2.  Define HBase’s current consistency model in a concrete class (synchronized ordering
of writing threads via single readPoint with all scans synchronized).
3.  Make this interface extensible.  We can then test different approaches and the effect
on performance/correctness.

At Splice Machine, we have written an implementation for Snapshot Isolation.  We did this
because both synchronizing of scans and ordering of writing threads becomes a bottleneck on
our TPCC runs.

If you would like to provide feedback on our model, we can post.  I had asked Walt not to
post because it would muddy the water with regards to this patch and it's value to the community.
 I was hoping this would enable someone to write a non-blocking implementation for HBase's
more restrictive model.

In general, I am a huge fan of making things into extensible components and I love the work
in making stores more extensible (Striped, etc.).

> need extensible ConsistencyControl interface
> --------------------------------------------
>                 Key: HBASE-15556
>                 URL: https://issues.apache.org/jira/browse/HBASE-15556
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 1.0.3
>            Reporter: Walter Koetke
>            Assignee: Walter Koetke
>             Fix For: 1.0.4
>         Attachments: HBASE-15556-branch-1.0-02.patch, HBASE-15556-branch-1.0.patch
> The class MultiVersionConsistencyControl should be abstracted into an interface ConsistencyControl
so it can be extended by a configured custom implementation class, with MultiVersionConsistencyControl
as the default.

This message was sent by Atlassian JIRA

View raw message