@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.Modifier and Type | Field and Description |
---|---|
private int |
datanodeDataTransferPort
Datanode port to be used for Favored Nodes.
|
private FavoredNodesPlan |
globalFavoredNodesAssignmentPlan |
private Map<ServerName,List<RegionInfo>> |
primaryRSToRegionMap |
private ClusterInfoProvider |
provider |
private Map<ServerName,List<RegionInfo>> |
secondaryRSToRegionMap |
private Map<ServerName,List<RegionInfo>> |
teritiaryRSToRegionMap |
Constructor and Description |
---|
FavoredNodesManager(ClusterInfoProvider provider) |
Modifier and Type | Method and Description |
---|---|
private void |
addToReplicaLoad(RegionInfo hri,
List<ServerName> servers) |
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) |
private final FavoredNodesPlan globalFavoredNodesAssignmentPlan
private final Map<ServerName,List<RegionInfo>> primaryRSToRegionMap
private final Map<ServerName,List<RegionInfo>> secondaryRSToRegionMap
private final Map<ServerName,List<RegionInfo>> teritiaryRSToRegionMap
private final ClusterInfoProvider provider
private int datanodeDataTransferPort
public FavoredNodesManager(ClusterInfoProvider provider)
public void initializeFromMeta() throws IOException
IOException
public 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
IOException
private void addToReplicaLoad(RegionInfo hri, List<ServerName> servers)
public 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.