Java 类org.apache.hadoop.hbase.master.balancer.FavoredNodesPlan.Position 实例源码

项目:ditb    文件:TestRegionPlacement.java   
/**
 * Shuffle the assignment plan by switching two favored node positions.
 * @param plan The assignment plan
 * @param p1 The first switch position
 * @param p2 The second switch position
 * @return
 */
private FavoredNodesPlan shuffleAssignmentPlan(FavoredNodesPlan plan,
    FavoredNodesPlan.Position p1, FavoredNodesPlan.Position p2) {
  FavoredNodesPlan shuffledPlan = new FavoredNodesPlan();

  for (Map.Entry<HRegionInfo, List<ServerName>> entry :
    plan.getAssignmentMap().entrySet()) {
    HRegionInfo region = entry.getKey();

    // copy the server list from the original plan
    List<ServerName> shuffledServerList = new ArrayList<ServerName>();
    shuffledServerList.addAll(entry.getValue());

    // start to shuffle
    shuffledServerList.set(p1.ordinal(), entry.getValue().get(p2.ordinal()));
    shuffledServerList.set(p2.ordinal(), entry.getValue().get(p1.ordinal()));

    // update the plan
    shuffledPlan.updateAssignmentPlan(region, shuffledServerList);
  }
  return shuffledPlan;
}
项目:pbase    文件:TestRegionPlacement.java   
/**
 * Shuffle the assignment plan by switching two favored node positions.
 * @param plan The assignment plan
 * @param p1 The first switch position
 * @param p2 The second switch position
 * @return
 */
private FavoredNodesPlan shuffleAssignmentPlan(FavoredNodesPlan plan,
    FavoredNodesPlan.Position p1, FavoredNodesPlan.Position p2) {
  FavoredNodesPlan shuffledPlan = new FavoredNodesPlan();

  for (Map.Entry<HRegionInfo, List<ServerName>> entry :
    plan.getAssignmentMap().entrySet()) {
    HRegionInfo region = entry.getKey();

    // copy the server list from the original plan
    List<ServerName> shuffledServerList = new ArrayList<ServerName>();
    shuffledServerList.addAll(entry.getValue());

    // start to shuffle
    shuffledServerList.set(p1.ordinal(), entry.getValue().get(p2.ordinal()));
    shuffledServerList.set(p2.ordinal(), entry.getValue().get(p1.ordinal()));

    // update the plan
    shuffledPlan.updateAssignmentPlan(region, shuffledServerList);
  }
  return shuffledPlan;
}
项目:HIndex    文件:TestRegionPlacement.java   
/**
 * Shuffle the assignment plan by switching two favored node positions.
 * @param plan The assignment plan
 * @param p1 The first switch position
 * @param p2 The second switch position
 * @return
 */
private FavoredNodesPlan shuffleAssignmentPlan(FavoredNodesPlan plan,
    FavoredNodesPlan.Position p1, FavoredNodesPlan.Position p2) {
  FavoredNodesPlan shuffledPlan = new FavoredNodesPlan();

  for (Map.Entry<HRegionInfo, List<ServerName>> entry :
    plan.getAssignmentMap().entrySet()) {
    HRegionInfo region = entry.getKey();

    // copy the server list from the original plan
    List<ServerName> shuffledServerList = new ArrayList<ServerName>();
    shuffledServerList.addAll(entry.getValue());

    // start to shuffle
    shuffledServerList.set(p1.ordinal(), entry.getValue().get(p2.ordinal()));
    shuffledServerList.set(p2.ordinal(), entry.getValue().get(p1.ordinal()));

    // update the plan
    shuffledPlan.updateAssignmentPlan(region, shuffledServerList);
  }
  return shuffledPlan;
}
项目:PyroDB    文件:TestRegionPlacement.java   
/**
 * Shuffle the assignment plan by switching two favored node positions.
 * @param plan The assignment plan
 * @param p1 The first switch position
 * @param p2 The second switch position
 * @return
 */
private FavoredNodesPlan shuffleAssignmentPlan(FavoredNodesPlan plan,
    FavoredNodesPlan.Position p1, FavoredNodesPlan.Position p2) {
  FavoredNodesPlan shuffledPlan = new FavoredNodesPlan();

  for (Map.Entry<HRegionInfo, List<ServerName>> entry :
    plan.getAssignmentMap().entrySet()) {
    HRegionInfo region = entry.getKey();

    // copy the server list from the original plan
    List<ServerName> shuffledServerList = new ArrayList<ServerName>();
    shuffledServerList.addAll(entry.getValue());

    // start to shuffle
    shuffledServerList.set(p1.ordinal(), entry.getValue().get(p2.ordinal()));
    shuffledServerList.set(p2.ordinal(), entry.getValue().get(p1.ordinal()));

    // update the plan
    shuffledPlan.updateAssignmentPlan(region, shuffledServerList);
  }
  return shuffledPlan;
}
项目:c5    文件:TestRegionPlacement.java   
/**
 * Shuffle the assignment plan by switching two favored node positions.
 * @param plan The assignment plan
 * @param p1 The first switch position
 * @param p2 The second switch position
 * @return
 */
private FavoredNodesPlan shuffleAssignmentPlan(FavoredNodesPlan plan,
    FavoredNodesPlan.Position p1, FavoredNodesPlan.Position p2) {
  FavoredNodesPlan shuffledPlan = new FavoredNodesPlan();

  for (Map.Entry<HRegionInfo, List<ServerName>> entry :
    plan.getAssignmentMap().entrySet()) {
    HRegionInfo region = entry.getKey();

    // copy the server list from the original plan
    List<ServerName> shuffledServerList = new ArrayList<ServerName>();
    shuffledServerList.addAll(entry.getValue());

    // start to shuffle
    shuffledServerList.set(p1.ordinal(), entry.getValue().get(p2.ordinal()));
    shuffledServerList.set(p2.ordinal(), entry.getValue().get(p1.ordinal()));

    // update the plan
    shuffledPlan.updateAssignmentPlan(region, shuffledServerList);
  }
  return shuffledPlan;
}
项目:ditb    文件:FavoredNodeLoadBalancer.java   
private Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>
segregateRegionsAndAssignRegionsWithFavoredNodes(List<HRegionInfo> regions,
    List<ServerName> availableServers) {
  Map<ServerName, List<HRegionInfo>> assignmentMapForFavoredNodes =
      new HashMap<ServerName, List<HRegionInfo>>(regions.size() / 2);
  List<HRegionInfo> regionsWithNoFavoredNodes = new ArrayList<HRegionInfo>(regions.size()/2);
  for (HRegionInfo region : regions) {
    List<ServerName> favoredNodes = globalFavoredNodesAssignmentPlan.getFavoredNodes(region);
    ServerName primaryHost = null;
    ServerName secondaryHost = null;
    ServerName tertiaryHost = null;
    if (favoredNodes != null) {
      for (ServerName s : favoredNodes) {
        ServerName serverWithLegitStartCode = availableServersContains(availableServers, s);
        if (serverWithLegitStartCode != null) {
          FavoredNodesPlan.Position position =
              FavoredNodesPlan.getFavoredServerPosition(favoredNodes, s);
          if (Position.PRIMARY.equals(position)) {
            primaryHost = serverWithLegitStartCode;
          } else if (Position.SECONDARY.equals(position)) {
            secondaryHost = serverWithLegitStartCode;
          } else if (Position.TERTIARY.equals(position)) {
            tertiaryHost = serverWithLegitStartCode;
          }
        }
      }
      assignRegionToAvailableFavoredNode(assignmentMapForFavoredNodes, region,
            primaryHost, secondaryHost, tertiaryHost);
    }
    if (primaryHost == null && secondaryHost == null && tertiaryHost == null) {
      //all favored nodes unavailable
      regionsWithNoFavoredNodes.add(region);
    }
  }
  return new Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>(
      assignmentMapForFavoredNodes, regionsWithNoFavoredNodes);
}
项目:pbase    文件:FavoredNodeLoadBalancer.java   
private Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>
segregateRegionsAndAssignRegionsWithFavoredNodes(List<HRegionInfo> regions,
    List<ServerName> availableServers) {
  Map<ServerName, List<HRegionInfo>> assignmentMapForFavoredNodes =
      new HashMap<ServerName, List<HRegionInfo>>(regions.size() / 2);
  List<HRegionInfo> regionsWithNoFavoredNodes = new ArrayList<HRegionInfo>(regions.size()/2);
  for (HRegionInfo region : regions) {
    List<ServerName> favoredNodes = globalFavoredNodesAssignmentPlan.getFavoredNodes(region);
    ServerName primaryHost = null;
    ServerName secondaryHost = null;
    ServerName tertiaryHost = null;
    if (favoredNodes != null) {
      for (ServerName s : favoredNodes) {
        ServerName serverWithLegitStartCode = availableServersContains(availableServers, s);
        if (serverWithLegitStartCode != null) {
          FavoredNodesPlan.Position position =
              FavoredNodesPlan.getFavoredServerPosition(favoredNodes, s);
          if (Position.PRIMARY.equals(position)) {
            primaryHost = serverWithLegitStartCode;
          } else if (Position.SECONDARY.equals(position)) {
            secondaryHost = serverWithLegitStartCode;
          } else if (Position.TERTIARY.equals(position)) {
            tertiaryHost = serverWithLegitStartCode;
          }
        }
      }
      assignRegionToAvailableFavoredNode(assignmentMapForFavoredNodes, region,
            primaryHost, secondaryHost, tertiaryHost);
    }
    if (primaryHost == null && secondaryHost == null && tertiaryHost == null) {
      //all favored nodes unavailable
      regionsWithNoFavoredNodes.add(region);
    }
  }
  return new Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>(
      assignmentMapForFavoredNodes, regionsWithNoFavoredNodes);
}
项目:HIndex    文件:FavoredNodeLoadBalancer.java   
private Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>> 
segregateRegionsAndAssignRegionsWithFavoredNodes(List<HRegionInfo> regions,
    List<ServerName> availableServers) {
  Map<ServerName, List<HRegionInfo>> assignmentMapForFavoredNodes =
      new HashMap<ServerName, List<HRegionInfo>>(regions.size() / 2);
  List<HRegionInfo> regionsWithNoFavoredNodes = new ArrayList<HRegionInfo>(regions.size()/2);
  for (HRegionInfo region : regions) {
    List<ServerName> favoredNodes = globalFavoredNodesAssignmentPlan.getFavoredNodes(region);
    ServerName primaryHost = null;
    ServerName secondaryHost = null;
    ServerName tertiaryHost = null;
    if (favoredNodes != null) {
      for (ServerName s : favoredNodes) {
        ServerName serverWithLegitStartCode = availableServersContains(availableServers, s);
        if (serverWithLegitStartCode != null) {
          FavoredNodesPlan.Position position =
              FavoredNodesPlan.getFavoredServerPosition(favoredNodes, s);
          if (Position.PRIMARY.equals(position)) {
            primaryHost = serverWithLegitStartCode;
          } else if (Position.SECONDARY.equals(position)) {
            secondaryHost = serverWithLegitStartCode;
          } else if (Position.TERTIARY.equals(position)) {
            tertiaryHost = serverWithLegitStartCode;
          }
        }
      }
      assignRegionToAvailableFavoredNode(assignmentMapForFavoredNodes, region,
            primaryHost, secondaryHost, tertiaryHost);
    }
    if (primaryHost == null && secondaryHost == null && tertiaryHost == null) {
      //all favored nodes unavailable
      regionsWithNoFavoredNodes.add(region);
    }
  }
  return new Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>(
      assignmentMapForFavoredNodes, regionsWithNoFavoredNodes);
}
项目:PyroDB    文件:FavoredNodeLoadBalancer.java   
private Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>> 
segregateRegionsAndAssignRegionsWithFavoredNodes(List<HRegionInfo> regions,
    List<ServerName> availableServers) {
  Map<ServerName, List<HRegionInfo>> assignmentMapForFavoredNodes =
      new HashMap<ServerName, List<HRegionInfo>>(regions.size() / 2);
  List<HRegionInfo> regionsWithNoFavoredNodes = new ArrayList<HRegionInfo>(regions.size()/2);
  for (HRegionInfo region : regions) {
    List<ServerName> favoredNodes = globalFavoredNodesAssignmentPlan.getFavoredNodes(region);
    ServerName primaryHost = null;
    ServerName secondaryHost = null;
    ServerName tertiaryHost = null;
    if (favoredNodes != null) {
      for (ServerName s : favoredNodes) {
        ServerName serverWithLegitStartCode = availableServersContains(availableServers, s);
        if (serverWithLegitStartCode != null) {
          FavoredNodesPlan.Position position =
              FavoredNodesPlan.getFavoredServerPosition(favoredNodes, s);
          if (Position.PRIMARY.equals(position)) {
            primaryHost = serverWithLegitStartCode;
          } else if (Position.SECONDARY.equals(position)) {
            secondaryHost = serverWithLegitStartCode;
          } else if (Position.TERTIARY.equals(position)) {
            tertiaryHost = serverWithLegitStartCode;
          }
        }
      }
      assignRegionToAvailableFavoredNode(assignmentMapForFavoredNodes, region,
            primaryHost, secondaryHost, tertiaryHost);
    }
    if (primaryHost == null && secondaryHost == null && tertiaryHost == null) {
      //all favored nodes unavailable
      regionsWithNoFavoredNodes.add(region);
    }
  }
  return new Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>(
      assignmentMapForFavoredNodes, regionsWithNoFavoredNodes);
}
项目:c5    文件:FavoredNodeLoadBalancer.java   
private Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>> 
segregateRegionsAndAssignRegionsWithFavoredNodes(List<HRegionInfo> regions,
    List<ServerName> availableServers) {
  Map<ServerName, List<HRegionInfo>> assignmentMapForFavoredNodes =
      new HashMap<ServerName, List<HRegionInfo>>(regions.size() / 2);
  List<HRegionInfo> regionsWithNoFavoredNodes = new ArrayList<HRegionInfo>(regions.size()/2);
  for (HRegionInfo region : regions) {
    List<ServerName> favoredNodes = globalFavoredNodesAssignmentPlan.getFavoredNodes(region);
    ServerName primaryHost = null;
    ServerName secondaryHost = null;
    ServerName tertiaryHost = null;
    if (favoredNodes != null) {
      for (ServerName s : favoredNodes) {
        ServerName serverWithLegitStartCode = availableServersContains(availableServers, s);
        if (serverWithLegitStartCode != null) {
          FavoredNodesPlan.Position position =
              FavoredNodesPlan.getFavoredServerPosition(favoredNodes, s);
          if (Position.PRIMARY.equals(position)) {
            primaryHost = serverWithLegitStartCode;
          } else if (Position.SECONDARY.equals(position)) {
            secondaryHost = serverWithLegitStartCode;
          } else if (Position.TERTIARY.equals(position)) {
            tertiaryHost = serverWithLegitStartCode;
          }
        }
      }
      assignRegionToAvailableFavoredNode(assignmentMapForFavoredNodes, region,
            primaryHost, secondaryHost, tertiaryHost);
    }
    if (primaryHost == null && secondaryHost == null && tertiaryHost == null) {
      //all favored nodes unavailable
      regionsWithNoFavoredNodes.add(region);
    }
  }
  return new Pair<Map<ServerName, List<HRegionInfo>>, List<HRegionInfo>>(
      assignmentMapForFavoredNodes, regionsWithNoFavoredNodes);
}