Package eu.stratosphere.nephele.instance

Examples of eu.stratosphere.nephele.instance.AbstractInstance


      while (vertexIt.hasNext()) {

        // Get the instance type from the execution vertex if it
        final ExecutionVertex vertex = vertexIt.next();
        if (vertex.getExecutionState() == executionState) {
          final AbstractInstance instance = vertex.getAllocatedResource().getInstance();

          if (collectedInstances.contains(instance)) {
            continue;
          } else {
            collectedInstances.add(instance);
          }

          if (instance instanceof DummyInstance) {

            final InstanceType instanceType = instance.getType();
            int num = instanceRequestMap.getMaximumNumberOfInstances(instanceType);
            ++num;
            instanceRequestMap.setMaximumNumberOfInstances(instanceType, num);
            if (groupVertex.isInputVertex()) {
              num = instanceRequestMap.getMinimumNumberOfInstances(instanceType);
View Full Code Here


    while (iterator.hasNext()) {

      final ExecutionVertex ev = iterator.next();
      final ManagementGroupVertex parent = groupMap.get(ev.getGroupVertex());

      final AbstractInstance instance = ev.getAllocatedResource().getInstance();
      final ManagementVertex managementVertex = new ManagementVertex(
            parent,
            ev.getID().toManagementVertexID(),
            (instance.getInstanceConnectionInfo() != null) ? instance.getInstanceConnectionInfo().toString() : instance.toString(),
            instance.getType().toString(),
            ev.getIndexInVertexGroup()
          );
      managementVertex.setExecutionState(ev.getExecutionState());
      vertexMap.put(ev, managementVertex);
View Full Code Here

    while (it.hasNext()) {

      final ExecutionGroupVertex groupVertex = it.next();
      for (int i = 0; i < groupVertex.getCurrentNumberOfGroupMembers(); i++) {
        final ExecutionVertex executionVertex = groupVertex.getGroupMember(i);
        final AbstractInstance instance = executionVertex.getAllocatedResource().getInstance();
        if(!(instance instanceof DummyInstance)) {
          tempSet.add(instance);
        }
      }
    }
View Full Code Here

    }

    synchronized (this.lock) {
      final Iterator<ClusterInstance> it = this.registeredHosts.values().iterator();
      while (it.hasNext()) {
        final AbstractInstance instance = it.next();
        if (name.equals(instance.getName())) {
          return instance;
        }
      }
    }
View Full Code Here

      // Create a new vertex assignment event
      final ManagementVertexID managementVertexID = id.toManagementVertexID();
      final long timestamp = System.currentTimeMillis();

      final AbstractInstance instance = newAllocatedResource.getInstance();
      VertexAssignmentEvent event;
      if (instance == null) {
        event = new VertexAssignmentEvent(timestamp, managementVertexID, "null", "null");
      } else {

        String instanceName = null;
        if (instance.getInstanceConnectionInfo() != null) {
          instanceName = instance.getInstanceConnectionInfo().toString();
        } else {
          instanceName = instance.toString();
        }

        event = new VertexAssignmentEvent(timestamp, managementVertexID, instanceName, instance.getType()
          .getIdentifier());
      }

      this.eventCollector.updateManagementGraph(jobID, event);
      this.eventCollector.addEvent(this.jobID, event);
View Full Code Here

    if (sourceChannelID.equals(edge.getInputChannelID())) {
      // Request was sent from an input channel
      final ExecutionVertex connectedVertex = edge.getOutputGate().getVertex();

      final AbstractInstance assignedInstance = connectedVertex.getAllocatedResource().getInstance();
      if (assignedInstance == null) {
        LOG.error("Cannot resolve lookup: vertex found for channel ID " + edge.getOutputGateIndex()
          + " but no instance assigned");
        // LOG.info("Created receiverNotReady for " + connectedVertex + " 1");
        return ConnectionInfoLookupResponse.createReceiverNotReady();
      }

      // Check execution state
      final ExecutionState executionState = connectedVertex.getExecutionState();
      if (executionState == ExecutionState.FINISHED) {
        // that should not happen. if there is data pending, the receiver cannot be ready
        return ConnectionInfoLookupResponse.createReceiverNotFound();
      }

      // running is common, finishing is happens when the lookup is for the close event
      if (executionState != ExecutionState.RUNNING && executionState != ExecutionState.FINISHING) {
        // LOG.info("Created receiverNotReady for " + connectedVertex + " in state " + executionState + " 2");
        return ConnectionInfoLookupResponse.createReceiverNotReady();
      }

      if (assignedInstance.getInstanceConnectionInfo().equals(caller)) {
        // Receiver runs on the same task manager
        return ConnectionInfoLookupResponse.createReceiverFoundAndReady(edge.getOutputChannelID());
      } else {
        // Receiver runs on a different task manager
        final InstanceConnectionInfo ici = assignedInstance.getInstanceConnectionInfo();
        final InetSocketAddress isa = new InetSocketAddress(ici.address(), ici.dataPort());

        return ConnectionInfoLookupResponse.createReceiverFoundAndReady(new RemoteReceiver(isa, edge.getConnectionID()));
      }
    }
    // else, the request is for an output channel
    // Find vertex of connected input channel
    final ExecutionVertex targetVertex = edge.getInputGate().getVertex();

    // Check execution state
    final ExecutionState executionState = targetVertex.getExecutionState();

    // check whether the task needs to be deployed
    if (executionState != ExecutionState.RUNNING && executionState != ExecutionState.FINISHING && executionState != ExecutionState.FINISHED) {

      if (executionState == ExecutionState.ASSIGNED) {
        final Runnable command = new Runnable() {
          @Override
          public void run() {
            scheduler.deployAssignedVertices(targetVertex);
          }
        };
        eg.executeCommand(command);
      }

      // LOG.info("Created receiverNotReady for " + targetVertex + " in state " + executionState + " 3");
      return ConnectionInfoLookupResponse.createReceiverNotReady();
    }

    final AbstractInstance assignedInstance = targetVertex.getAllocatedResource().getInstance();
    if (assignedInstance == null) {
      LOG.error("Cannot resolve lookup: vertex found for channel ID " + edge.getInputChannelID() + " but no instance assigned");
      // LOG.info("Created receiverNotReady for " + targetVertex + " in state " + executionState + " 4");
      return ConnectionInfoLookupResponse.createReceiverNotReady();
    }

    if (assignedInstance.getInstanceConnectionInfo().equals(caller)) {
      // Receiver runs on the same task manager
      return ConnectionInfoLookupResponse.createReceiverFoundAndReady(edge.getInputChannelID());
    } else {
      // Receiver runs on a different task manager
      final InstanceConnectionInfo ici = assignedInstance.getInstanceConnectionInfo();
      final InetSocketAddress isa = new InetSocketAddress(ici.address(), ici.dataPort());

      return ConnectionInfoLookupResponse.createReceiverFoundAndReady(new RemoteReceiver(isa, edge.getConnectionID()));
    }
  }
View Full Code Here

  }

  @Override
  public void killInstance(final StringRecord instanceName) throws IOException {

    final AbstractInstance instance = this.instanceManager.getInstanceByName(instanceName.toString());
    if (instance == null) {
      LOG.error("Cannot find instance with name " + instanceName + " to kill it");
      return;
    }

    LOG.info("Killing task manager on instance " + instance);

    final Runnable runnable = new Runnable() {

      @Override
      public void run() {
        try {
          instance.killTaskManager();
        } catch (IOException ioe) {
          LOG.error(ioe);
        }
      }
    };
View Full Code Here

    while (it.hasNext()) {

      final ExecutionVertex vertex = it.next();
      final ExecutionState state = vertex.getExecutionState();
      if (state == ExecutionState.RUNNING || state == ExecutionState.FINISHING) {
        final AbstractInstance instance = vertex.getAllocatedResource().getInstance();

        if (instance instanceof DummyInstance) {
          LOG.error("Found instance of type DummyInstance for vertex " + vertex.getName() + " (state "
            + state + ")");
          continue;
View Full Code Here

    if (splitStore == null) {
      return null;
    }

    final AbstractInstance instance = vertex.getAllocatedResource().getInstance();
    if (instance == null) {
      LOG.error("Instance is null, returning random split");
      return null;
    }
View Full Code Here

    if (splitStore == null) {
      return null;
    }

    final AbstractInstance instance = vertex.getAllocatedResource().getInstance();
    if (instance == null) {
      LOG.error("Instance is null, returning random split");
      return null;
    }
View Full Code Here

TOP

Related Classes of eu.stratosphere.nephele.instance.AbstractInstance

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.