Package com.alibaba.jstorm.utils

Examples of com.alibaba.jstorm.utils.FailedAssignTopologyException


    super(context);

    try {
      sysTopology = Common.system_topology(stormConf, rawTopology);
    } catch (Exception e) {
      throw new FailedAssignTopologyException(
          "Failed to generate system topology");
    }

    sidToHostname = generateSidToHost();
    hostToSid = JStormUtils.reverse_map(sidToHostname);
View Full Code Here


        .getSupervisorToWorker().entrySet()) {
      if (taskContext.getComponentNumOnSupervisor(entry.getKey(), name) != 0)
        workers.removeAll(entry.getValue());
    }
    if (workers.size() == 0)
      throw new FailedAssignTopologyException(
          "there's no enough supervisor for making component: "
              + name + " 's tasks on different node");
    return workers;
  }
View Full Code Here

  public Set<ResourceWorkerSlot> assignTasks(TopologyAssignContext context)
      throws FailedAssignTopologyException {

    int assignType = context.getAssignType();
    if (TopologyAssignContext.isAssignTypeValid(assignType) == false) {
      throw new FailedAssignTopologyException("Invalide Assign Type "
          + assignType);
    }

    DefaultTopologyAssignContext defaultContext = new DefaultTopologyAssignContext(
        context);
    if (assignType == TopologyAssignContext.ASSIGN_TYPE_REBALANCE) {
      freeUsed(defaultContext);
    }
    LOG.info("Dead tasks:" + defaultContext.getDeadTaskIds());
    LOG.info("Unstopped tasks:" + defaultContext.getUnstoppedTaskIds());

    Set<Integer> needAssignTasks = getNeedAssignTasks(defaultContext);

    Set<ResourceWorkerSlot> keepAssigns = getKeepAssign(defaultContext,
        needAssignTasks);

    // please use tree map to make task sequence
    Set<ResourceWorkerSlot> ret = new HashSet<ResourceWorkerSlot>();
    ret.addAll(keepAssigns);
    ret.addAll(defaultContext.getUnstoppedWorkers());

    int allocWorkerNum = defaultContext.getTotalWorkerNum()
        - defaultContext.getUnstoppedWorkerNum() - keepAssigns.size();

    if (allocWorkerNum <= 0) {
      LOG.warn("Don't need assign workers, all workers are fine "
          + defaultContext.toDetailString());
      throw new FailedAssignTopologyException(
          "Don't need assign worker, all workers are fine ");
    }

    List<ResourceWorkerSlot> newAssignList = WorkerMaker.getInstance()
        .makeWorkers(defaultContext, needAssignTasks, allocWorkerNum);
View Full Code Here

  public List<ResourceWorkerSlot> makeWorkers(
      DefaultTopologyAssignContext context, Set<Integer> needAssign,
      int num) {
    int workersNum = getWorkersNum(context, num);
    if (workersNum == 0) {
      throw new FailedAssignTopologyException("there's no enough worker");
    }
    LOG.info("worker num is: " + workersNum);
    List<ResourceWorkerSlot> result = new ArrayList<ResourceWorkerSlot>();
    // userdefine assignments
    this.getRightWorkers(
View Full Code Here

    boolean isSuccess = assignEvent.waitFinish();
    if (isSuccess == true) {
      LOG.info("Finish submit for " + topologyName);
    } else {
      throw new FailedAssignTopologyException(
          assignEvent.getErrorMsg());
    }
  }
View Full Code Here

    // get all running supervisor, don't need callback to watch supervisor
    Map<String, SupervisorInfo> supInfos = Cluster.allSupervisorInfo(
        stormClusterState, null);
    if (supInfos.size() == 0) {
      throw new FailedAssignTopologyException(
          "Failed to make assignment " + topologyId
              + ", due to no alive supervisor");
    }

    Map<Integer, String> taskToComponent = Cluster.topology_task_info(
View Full Code Here

TOP

Related Classes of com.alibaba.jstorm.utils.FailedAssignTopologyException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.