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

Yu Li commented on HBASE-14075:
-------------------------------

After a second thought and some test, the changes in v1 patch on 
HBaseClusterManager#isRunningCommand is incorrect, because in the real world 
it's possible that the rpc server is down(so no more listening on rpc port) but 
the Master/RS is still in progress of shutting down.

So for methods which need to check whether the service is running, we should 
firstly get pid of the service through port and name, then use the pid to check 
whether service is still running. Please refer to the patch for the detailed 
changes

> HBaseClusterManager should use port(if given) to find pid
> ---------------------------------------------------------
>
>                 Key: HBASE-14075
>                 URL: https://issues.apache.org/jira/browse/HBASE-14075
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Yu Li
>            Assignee: Yu Li
>            Priority: Minor
>         Attachments: HBASE-14075.patch
>
>
> This issue is found while we run ITBLL in distributed cluster. Our testing 
> env is kind of special that we run multiple regionserver instance on a single 
> physical machine, so {noformat}ps -ef | grep proc_regionserver{noformat} will 
> return more than one line, thus cause the tool might check/kill the wrong 
> process
> Actually in HBaseClusterManager we already introduce port as a parameter for 
> methods like isRunning, kill, etc. So the only thing to do here is to get pid 
> through port if port is given



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

Reply via email to