[ 
https://issues.apache.org/jira/browse/HBASE-8537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-8537:
-------------------------------

    Status: Patch Available  (was: Open)

Attached v3, which has the following changes:
1. moved findServerWithSameHostnamePort from ServerName to SM, changed it to 
private since it is unlikely to be used out of SM;
2. introduced a function to do both checkAlreadySameHostPort and 
recordNewServer, and used the shared logic in 
HMaster/regionServerReport/regionSeverStartup;
3. in the new checkAlreadySameHostPort function, PleaseHoldException is not 
thrown any more. We can register this new server now even the old server is not 
processed by SSH because it has a new start code, and AM can distinguish them. 
Any other area I missed?
4. added a new test to make sure this feature won't be broken
                
> Dead region server pulled in from ZK
> ------------------------------------
>
>                 Key: HBASE-8537
>                 URL: https://issues.apache.org/jira/browse/HBASE-8537
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>            Priority: Minor
>         Attachments: trunk-8537.patch, trunk-8537_v2.patch, 
> trunk-8537_v3.patch
>
>
> When a cluster restarts quickly after it's crashed, although a new region 
> server is reported in, the master still pulls in the dead region server from 
> the zk.
> {noformat}
> 2013-05-12 18:32:52,996 INFO  [IPC Server handler 6 on 36000] 
> org.apache.hadoop.hbase.master.ServerManager: Registering 
> server=a1217.halxg.cloudera.com,36020,1368408767773
> ....
> 2013-05-12 18:32:54,653 INFO  
> [master-a1220.halxg.cloudera.com,36000,1368408767520] 
> org.apache.hadoop.hbase.master.HMaster: Registering server found up in zk but 
> who has not yet reported in: a1217.halxg.cloudera.com,36020,1368378273768
> 2013-05-12 18:32:54,653 INFO  
> [master-a1220.halxg.cloudera.com,36000,1368408767520] 
> org.apache.hadoop.hbase.master.ServerManager: Registering 
> server=a1217.halxg.cloudera.com,36020,1368378273768
> {noformat}
> We should not pull in the second region server instance from zk.  It is 
> actually dead.  We can figure this out by the hostname, and the port.  We can 
> assume no two region server instances can be alive on the same host, the same 
> port.  To be more cautious, we can check the timestamp as well.  The live one 
> should be that with the late timestamp, not pulled in from zk.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to