@InterfaceAudience.Private public class FavoredNodesManager extends Object
FavoredNodesManager in
Master. FavoredNodesPlan and favored node information from
SnapshotOfRegionAssignmentFromMeta should not be used outside this class (except for
tools that only read or fortest cases). All other classes including Favored balancers and
FavoredNodeAssignmentHelper should use FavoredNodesManager for any
read/write/deletes to favored nodes.| Constructor and Description |
|---|
FavoredNodesManager(ClusterInfoProvider provider) |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteFavoredNodesForRegion(RegionInfo regionInfo) |
void |
deleteFavoredNodesForRegions(Collection<RegionInfo> regionInfoList) |
static Set<RegionInfo> |
filterNonFNApplicableRegions(Collection<RegionInfo> regions)
Filter and return regions for which favored nodes is not applicable.
|
List<ServerName> |
getFavoredNodes(RegionInfo regionInfo) |
List<ServerName> |
getFavoredNodesWithDNPort(RegionInfo regionInfo)
This should only be used when sending FN information to the region servers.
|
Set<RegionInfo> |
getRegionsOfFavoredNode(ServerName serverName) |
Map<ServerName,List<Integer>> |
getReplicaLoad(List<ServerName> servers)
Get the replica count for the servers provided.
|
void |
initializeFromMeta() |
static boolean |
isFavoredNodeApplicable(RegionInfo regionInfo)
Favored nodes are not applicable for system tables.
|
void |
updateFavoredNodes(Map<RegionInfo,List<ServerName>> regionFNMap) |
public FavoredNodesManager(ClusterInfoProvider provider)
public void initializeFromMeta()
throws IOException
IOExceptionpublic List<ServerName> getFavoredNodes(RegionInfo regionInfo)
public static boolean isFavoredNodeApplicable(RegionInfo regionInfo)
public static Set<RegionInfo> filterNonFNApplicableRegions(Collection<RegionInfo> regions)
public List<ServerName> getFavoredNodesWithDNPort(RegionInfo regionInfo)
public void updateFavoredNodes(Map<RegionInfo,List<ServerName>> regionFNMap) throws IOException
IOExceptionpublic Map<ServerName,List<Integer>> getReplicaLoad(List<ServerName> servers)
public void deleteFavoredNodesForRegion(RegionInfo regionInfo)
public void deleteFavoredNodesForRegions(Collection<RegionInfo> regionInfoList)
public Set<RegionInfo> getRegionsOfFavoredNode(ServerName serverName)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.