You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Javier Akira Luca de Tena (Jira)" <ji...@apache.org> on 2021/02/22 11:49:00 UTC

[jira] [Created] (HBASE-25594) graceful_stop.sh fails to unload regions when ran at localhost

Javier Akira Luca de Tena created HBASE-25594:
-------------------------------------------------

             Summary: graceful_stop.sh fails to unload regions when ran at localhost
                 Key: HBASE-25594
                 URL: https://issues.apache.org/jira/browse/HBASE-25594
             Project: HBase
          Issue Type: Bug
            Reporter: Javier Akira Luca de Tena
            Assignee: Javier Akira Luca de Tena


We usually use graceful_stop.sh from the Master to restart RegionServers. However, in some scenarios we may not have privileges to restart remote RegionServers (it uses ssh).
But we can still use graceful_stop.sh on the same host we want to restart.

In order to detect the execution at localhost, graceful_stop.sh uses /bin/hostname.
[https://github.com/apache/hbase/blob/cfbae4d3a37e7ac4d795461c3e19406a2786838d/bin/graceful_stop.sh#L106-L110]

When RegionMover strips the host to not include it in the list of target hosts, we filter it out by checking all RegionServer hosts in the cluster:
[https://github.com/apache/hbase/blob/branch-2/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java#L382-L384]

[https://github.com/apache/hbase/blob/cfbae4d3a37e7ac4d795461c3e19406a2786838d/hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionMover.java#L692]

But the list of RegionServer hosts returned by Admin#getRegionServers are FDQN, while the hostname provided from graceful_stop.sh is not FDQN, making the comparison fail.

 

This can be fixed just by using "/bin/hostname -f" in the graceful_stop.sh script.

Will provide patch soon.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)