Clara Xiong created HBASE-15251:
-----------------------------------

             Summary: During a cluster restart, Hmaster thinks it is a failover 
by mistake
                 Key: HBASE-15251
                 URL: https://issues.apache.org/jira/browse/HBASE-15251
             Project: HBase
          Issue Type: Bug
          Components: master
    Affects Versions: 0.98.15, 2.0.0
            Reporter: Clara Xiong
            Assignee: Clara Xiong


We often need to do cluster restart as part of release for a cluster of > 1000 
nodes. We have tried our best to get clean shutdown but 50% of the time, 
hmaster still thinks it is a failover. This increases the restart time from 5 
min to 30 min and decreases locality from 95% to 5% since we didn't use a 
balancer. We had a bug HBASE-14129 but the fix didn't work. 

After adding more logging and inspecting the logs, we identified two things 
that trigger the failover handling:
1.  When Hmaster.AssignmentManager detects any dead servers on service manager 
during joinCluster(), it determines this is a failover without further check. I 
added a check whether there is even any region assigned to these servers. 
During a clean restart, the regions are not even assigned.
2. When there are some leftover empty folders for log and split directories or 
empty wal files, it is already treated as a failover. I added a check for that. 
Although this can be resolved by manual clean up, it is still too tedious for 
restarting a large cluster.

Patch will follow shortly.



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

Reply via email to