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-10985) Decouple Split Transaction from Zookeeper
Date Fri, 25 Apr 2014 06:01:27 GMT

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

Mikhail Antonov commented on HBASE-10985:
-----------------------------------------

Looking at the patch, a few things needs some thinking. Actually, those are things similar
in design to closing/opening region, unless I'm missing something? So I would try to unify
some requirements to consensus classes, I guess. May be add to design doc too. That said,
some of the items below may be a bit tricky to achieve at first cut..

 1) ConsensusProvider should only be instantiated / initialize()-d / start()-ed / stop()-ped
once in Server impl (HMaster or HRegionServer)
 2) SplitTransactionConsensus shouldn't use ZK api, i.e. shouldn't do any of this: 
    - import ZK classes
    - take params like znodeVersion or ZK watcher (znode version and stuff like that we can
encapsulate in classes like SplitTransactionProposal, or SplitTransactionDetails, and this
SplitTransactionDetails class needs to be constructed from..protobuf request or something
like that, while ZKWatcher should be retrieved from ZkConsensusProvider internally in consensus
class),
   - throw KeeperException (we may need to introduce ConsensusException? didn't see the need
so far, but sure we may need to)
   - have methods named after ZK concepts (like transitionNode(), should be..I don't know..finishTransaction()
or something like that?)
3) I guess we shouldn't need to pass Server or RegionServerServices into consensus class methods,
we should be able to retrieve them from consensusProvider.
4) SplitTransaction which we abstract shouldn't reference ZK API like KeeperException (I guess
it was easier for closing regions somewhat, but here we need to either handle all KeeperException-s
in ZkSplitTransactionConsensus, or add ConsensusException).

Let me know if I missed something.

> Decouple Split Transaction from Zookeeper
> -----------------------------------------
>
>                 Key: HBASE-10985
>                 URL: https://issues.apache.org/jira/browse/HBASE-10985
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Consensus, Zookeeper
>            Reporter: Sergey Soldatov
>         Attachments: HBASE-10985.patch, HBASE-10985.patch, HBASE-10985.patch
>
>
> As part of  HBASE-10296 SplitTransaction should be decoupled from Zookeeper. 
> This is an initial patch for review. At the moment the consensus provider  placed directly
to SplitTransaction to minimize affected code. In the ideal world it should be done in HServer.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message