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

Ted Yu commented on HBASE-8097:
-------------------------------

I am not sure whether the add() call should be dropped.
Take a look at this method in DeadServer:
{code}
  public synchronized List<Pair<ServerName, Long>> copyDeadServersSince(long 
ts){
    List<Pair<ServerName, Long>> res =  new ArrayList<Pair<ServerName, 
Long>>(size());

    for (Map.Entry<ServerName, Long> entry:deadServers.entrySet()){
      if (entry.getValue() >= ts){
{code}
Without calling add(), we don't have up-to-date timestamp.
                
> MetaServerShutdownHandler may potentially keep bumping up 
> DeadServer.numProcessing
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-8097
>                 URL: https://issues.apache.org/jira/browse/HBASE-8097
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jeffrey Zhong
>            Assignee: Jeffrey Zhong
>             Fix For: 0.96.0
>
>         Attachments: 8097.txt, hbase-8097_1.patch
>
>
> {code}
>     } catch (IOException ioe) {
>       this.services.getExecutorService().submit(this);
>       this.deadServers.add(serverName);
>       throw new IOException("failed log splitting for " +
>           serverName + ", will retry", ioe);
>     }
> {code}
> this.deadServers.add(serverName); will keep incrementing 
> DeadServer.numProcessing
> We can't get rid of numProcessing by just checking deadServers.size() because 
> deadServers is also used to report some historically failed RSs.

--
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