hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Antonov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11092) Server interface should have method getConsensusProvider()
Date Thu, 01 May 2014 07:00:21 GMT

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

Mikhail Antonov commented on HBASE-11092:

bq. I think ConsensusProvider is looking like it should be w/ implemenations
Do you suggest to just move the interface up at o.a.h.h., or to add actual methods returning
consensus there?

The reason I decided to split ConsensusProvider and BaseConsensusProvider is that there are
(will be) many classes like CloseRegionConsensus, which naturally belong to hbase-server and
we probably don't want (and really cannot?) expose in client API.

Inside hbase-server module, I can move both factory and BaseConsensusProvider into o.a.h.h.
(ZkConsensusProvider would still be in o.a.h.h.consensus).

What do you think?

> Server interface should have method getConsensusProvider()
> ----------------------------------------------------------
>                 Key: HBASE-11092
>                 URL: https://issues.apache.org/jira/browse/HBASE-11092
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Consensus
>    Affects Versions: 0.99.0
>            Reporter: Mikhail Antonov
>            Assignee: Mikhail Antonov
>             Fix For: 0.99.0
>         Attachments: HBASE-11092.diff, HBASE-11092.patch
> As discussed in comments to HBASE-10915, we need to have a proper way to retrieve instance
of consensus provider, and Server interface seems the right one.
> Since Server interface lives in hbase-client maven module, the following approach is
implemented in this patch:
>  - hbase-client module has very basic (almost marker) interface ConsensusProvider to
return instance of consensus provider from the Server
>  - hbase-server module has BaseConsensusProvider which defines the consensus interfaces
>  - Implementations shall subclass BaseConsensusProvider
>  - whoever wants to get ConsensusProvider from raw Server interface on hbase-server side,
has to typecast: (BaseConsensusProvider) 

This message was sent by Atlassian JIRA

View raw message