hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jerry He (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16010) Put draining function through Admin API
Date Wed, 04 Jan 2017 01:12:58 GMT

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

Jerry He commented on HBASE-16010:

bq. Would be great to use Enis's above suggestion. Instead of drainRegionServers*/removeDrainFromRegionServers*
in functions and PBs, decommissionRegionServers*/recommissionRegionServers* would have been
There is currently a slight difference between 'drain mode' and 'decommission' from what I
understand.  'decommission' uses the region mover to offload the regions in addition to putting
the server on 'drain mode', where the drain API only does the latter.
I think we should just provide the drain API as they are in the patch.  The java doc of the
API clearly stated their purpose.
Then we can have a single shell command or script that provides the convenient 'decommission'
feature.   A subtask was created to do that.
How does it sound? [~enis] and [~appy]

> 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
>             Fix For: 2.0.0
>         Attachments: HBASE-16010-v3.patch, 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",
>   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

View raw message