hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16010) Put draining function through Admin API
Date Wed, 21 Dec 2016 19:25:58 GMT

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

Enis Soztutar commented on HBASE-16010:
---------------------------------------

I think we should have the ACL changes in this patch as well. Otherwise, it will get forgotten
and leave a security hole. 

Instead of draining, we should use the term decommission/recommission I think. And GetDrainingServers
should be ListDrainingServers, or ListDecommissionedServers. 

This is obviously already broken, but the new API right now only puts the server in "draining"
mode and does not do anything else. Is there a plan to bring the actual functionality (of
moving regions out of the RS) in the master as well? As I have noted elsewhere, "decommissioning"
a server should be integral to the new assignment manager in the sense that the core assignment
should be aware of decommissioning servers. [~stack], [~syuanjiang] what do you guys think?
Is the current stuff have ways to address that? 

> Put draining function through Admin API
> ---------------------------------------
>
>                 Key: HBASE-16010
>                 URL: https://issues.apache.org/jira/browse/HBASE-16010
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Jerry He
>            Assignee: Matt Warhaftig
>            Priority: Minor
>         Attachments: hbase-16010-v1.patch, hbase-16010-v2.patch
>
>
> Currently, there is no Amdin API for draining function. Client has to interact directly
with Zookeeper draining node to add and remove draining servers.
> For example, in draining_servers.rb:
> {code}
>   zkw = org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.new(config, "draining_servers",
nil)
>   parentZnode = zkw.drainingZNode
>   begin
>     for server in servers
>       node = ZKUtil.joinZNode(parentZnode, server)
>       ZKUtil.createAndFailSilent(zkw, node)
>     end
>   ensure
>     zkw.close()
>   end
> {code}
> This is not good in cases like secure clusters with protected Zookeeper nodes.
> Let's put draining function through Admin API.



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

Mime
View raw message