Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
1.4.0, 1.3.1, 1.2.5, 1.1.10
-
None
-
Reviewed
Description
After HBASE-2896 / HBASE-4402, we think data locality is maintained after cluster restart. However, we have seem some complains about data locality loss when cluster restart (eg. HBASE-17963).
Examining the AssignmentManager#processDeadServersAndRegionsInTransition() code, for cluster start, I expected to hit the following code path:
if (!failover) { // Fresh cluster startup. LOG.info("Clean cluster startup. Assigning user regions"); assignAllUserRegions(allRegions); }
where assignAllUserRegions would use retainAssignment() call in LoadBalancer; however, from master log, we usually hit the failover code path:
// If we found user regions out on cluster, its a failover. if (failover) { LOG.info("Found regions out on cluster or in RIT; presuming failover"); // Process list of dead servers and regions in RIT. // See HBASE-4580 for more information. processDeadServersAndRecoverLostRegions(deadServers); }
where processDeadServersAndRecoverLostRegions() would put dead servers in SSH and SSH uses roundRobinAssignment() in LoadBalancer. That is why we would see loss locality more often than retaining locality during cluster restart.
Note: the code I was looking at is close to branch-1 and branch-1.1.
Attachments
Attachments
Issue Links
- is duplicated by
-
HBASE-21006 Balancer - data locality drops 30-40% across all nodes after every cluster-wide rolling restart, not migrating regions back to original RegionServers?
- Resolved
- is related to
-
HBASE-18246 Proc-V2 AM: Maintain Data locality in ServerCrashProcedure
- Resolved
- relates to
-
HBASE-15251 During a cluster restart, Hmaster thinks it is a failover by mistake
- Resolved
-
HBASE-17963 RegionServers lose file locality on unplanned restart
- Resolved
-
HBASE-14129 If any regionserver gets shutdown uncleanly during full cluster restart, locality looks to be lost
- Closed
-
HBASE-17791 Locality should not be affected for non-faulty region servers at startup
- Open