You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2014/11/26 03:25:13 UTC

[jira] [Commented] (HBASE-11462) MetaTableAccessor shouldn't use ZooKeeeper

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

Enis Soztutar commented on HBASE-11462:
---------------------------------------

This looks ok for backport. It seems strange to have if meta do this else do this all over the place instead of a better abstraction (a region locator impl for meta and one for regular regions), but we can fix that in another issue. 

> MetaTableAccessor shouldn't use ZooKeeeper
> ------------------------------------------
>
>                 Key: HBASE-11462
>                 URL: https://issues.apache.org/jira/browse/HBASE-11462
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client, Zookeeper
>    Affects Versions: 2.0.0
>            Reporter: Mikhail Antonov
>            Assignee: ryan rawson
>             Fix For: 2.0.0
>
>         Attachments: HBASE-11462.v4.patch, HBASE-11462.v4.patch, HBASE-11462.v4.patch
>
>
> After committing patch for HBASE-4495, there's an further improvement which can be made (discussed originally on review board to that jira).
> We have MetaTableAccessor and MetaTableLocator classes. First one is used to access information stored in hbase:meta table. Second one is used to deal with ZooKeeper state to find out region server hosting hbase:meta, wait for it to become available and so on.
> MetaTableAccessor, in turn, should only operate on the meta table content, so shouldn't need ZK. The only reason why MetaTableAccessor is using ZK - when callers request assignment information, they can request location of meta table itself, which we can't read from meta, so in that case MetaTableAccessor relays the call to MetaTableLocator.  May be the solution here is to declare that clients of MetaTableAccessor shall not use it to work with meta table itself (not it's content).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)