/** {@inheritDoc} */ @Override public synchronized void statusUpdate(SchedulerDriver schedulerDriver, Protos.TaskStatus taskStatus) { final String taskId = taskStatus.getTaskId().getValue(); log.log(Level.INFO, "Received update event task: {0} is in state: {1}", new Object[]{taskId, taskStatus.getState()}); if (taskStatus.getState().equals(Protos.TaskState.TASK_FAILED) || taskStatus.getState().equals(Protos.TaskState.TASK_ERROR) || taskStatus.getState().equals(Protos.TaskState.TASK_FINISHED) || taskStatus.getState().equals(Protos.TaskState.TASK_KILLED) || taskStatus.getState().equals(Protos.TaskState.TASK_LOST)) { IgniteTask failedTask = tasks.remove(taskId); if (failedTask != null) { List<Protos.Request> requests = new ArrayList<>(); Protos.Request request = Protos.Request.newBuilder() .addResources(Protos.Resource.newBuilder() .setType(Protos.Value.Type.SCALAR) .setName(MEM) .setScalar(Protos.Value.Scalar.newBuilder().setValue(failedTask.mem()))) .addResources(Protos.Resource.newBuilder() .setType(Protos.Value.Type.SCALAR) .setName(CPU) .setScalar(Protos.Value.Scalar.newBuilder().setValue(failedTask.cpuCores()))) .build(); requests.add(request); schedulerDriver.requestResources(requests); } } }
.setName(CPU) .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(igniteTask.cpuCores()))) .addResources(Protos.Resource.newBuilder() .setName(MEM) .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(igniteTask.mem()))) .addResources(Protos.Resource.newBuilder() .setName(DISK) .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(igniteTask.disk()))) .build();
public static Value getZero(Value.Type type) { switch (type) { case SCALAR: Value.Scalar scalar = Value.Scalar.newBuilder().setValue(0).build(); return Value.newBuilder().setType(type).setScalar(scalar).build(); case RANGES: Value.Ranges ranges = Value.Ranges.newBuilder().addAllRange(Collections.emptyList()).build(); return Value.newBuilder().setType(type).setRanges(ranges).build(); default: throw new IllegalArgumentException( String.format("Unsupported type %s for zero value", type)); } } }
private static Offer offerWithAttribute(String name, String value) { Protos.Resource resource = ResourceBuilder.fromUnreservedValue( "cpus", Protos.Value.newBuilder() .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(1.0)) .build()) .build(); Offer.Builder offerBuilder = OfferTestUtils.getCompleteOffer(resource).toBuilder(); offerBuilder.addAttributesBuilder() .setName(name) .setType(Value.Type.TEXT) .getTextBuilder().setValue(value); return offerBuilder.build(); }
private List<Resource> createMesosScalarResourceList(ResourceType resourceType, List<ResourceEntry> scalarResourceEntryList) { List<Resource> retVal = new ArrayList<>(); ScalarResourceEntry scalarResourceEntry = null; for (ResourceEntry resourceEntry : scalarResourceEntryList) { scalarResourceEntry = (ScalarResourceEntry) resourceEntry; Resource.Builder resourceBuilder = Resource.newBuilder() .setName(resourceType.toString()) .setType(Protos.Value.Type.SCALAR) .setScalar(Scalar.newBuilder().setValue(scalarResourceEntry.getValue())); if (resourceEntry.getReservationType() != null && resourceEntry.getReservationType().equals(ReservationType.STATIC)) { resourceBuilder.setRole(MesosCommon.getRole(mesosStormConf)); } retVal.add(resourceBuilder.build()); } return retVal; }
public static Resource createScalar( final String name, final double value, final String role, final String principal) { return Resource.newBuilder() .setName(name) .setRole(role) .setType(Value.Type.SCALAR) .setScalar(Value.Scalar.newBuilder().setValue(value)) .setReservation(Resource.ReservationInfo.newBuilder() .setPrincipal(principal)) .build(); }
private static Value.Scalar subtract(Value.Scalar scal1, Value.Scalar scal2) { double value = scal1.getValue() - scal2.getValue(); return Value.Scalar.newBuilder().setValue(value).build(); }
private static Offer offerWithHost(String host) { return OfferTestUtils.getCompleteOffer( ResourceBuilder.fromUnreservedValue( "cpus", Protos.Value.newBuilder() .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(1.0)) .build()) .build()) .toBuilder() .setHostname(host) .build(); }
private static Value.Scalar add(Value.Scalar scal1, Value.Scalar scal2) { double value = scal1.getValue() + scal2.getValue(); return Value.Scalar.newBuilder().setValue(value).build(); }
private Protos.Resource buildResource(final String type, final double resourceValue, final List<Protos.Resource> resources) { return Protos.Resource.newBuilder().mergeFrom(Iterables.find(resources, new Predicate<Protos.Resource>() { @Override public boolean apply(final Protos.Resource input) { return input.getName().equals(type); } })).setScalar(Protos.Value.Scalar.newBuilder().setValue(resourceValue)).build(); }
private static Protos.Value scalarValue(double value) { Protos.Value.Builder builder = Protos.Value.newBuilder().setType(Protos.Value.Type.SCALAR); builder.getScalarBuilder().setValue(value); return builder.build(); }
private Resource createMesosScalarResource(ResourceType resourceType, ScalarResourceEntry scalarResourceEntry) { return Resource.newBuilder() .setName(resourceType.toString()) .setType(Protos.Value.Type.SCALAR) .setScalar(Scalar.newBuilder().setValue(scalarResourceEntry.getValue())) .build(); }
@SuppressWarnings("deprecation") private static Protos.Resource getUnreservedCpus(double cpus) { Protos.Resource.Builder resBuilder = Protos.Resource.newBuilder() .setName("cpus") .setType(Protos.Value.Type.SCALAR) .setRole(Constants.ANY_ROLE); resBuilder.getScalarBuilder().setValue(cpus); return resBuilder.build(); }
@SuppressWarnings("deprecation") private static Protos.Resource getUnreservedCpus(double cpus) { Protos.Resource.Builder resBuilder = Protos.Resource.newBuilder() .setName("cpus") .setType(Protos.Value.Type.SCALAR) .setRole(Constants.ANY_ROLE); resBuilder.getScalarBuilder().setValue(cpus); return resBuilder.build(); } }
private static Protos.Value getValue(double value) { Protos.Value.Builder valueBuilder = Protos.Value.newBuilder().setType(Protos.Value.Type.SCALAR); valueBuilder.getScalarBuilder().setValue(value); return valueBuilder.build(); }
private static Protos.Value scalar(double val) { Protos.Value.Builder builder = Protos.Value.newBuilder() .setType(Protos.Value.Type.SCALAR); builder.getScalarBuilder().setValue(val); return builder.build(); }
private static Protos.Resource getUnreservedScalar(String name, double value, String role) { Protos.Value.Builder builder = Protos.Value.newBuilder() .setType(Protos.Value.Type.SCALAR); builder.getScalarBuilder().setValue(value); return getUnreservedResource(name, builder.build(), role); }
private static Protos.Value scalar(double val) { Protos.Value.Builder builder = Protos.Value.newBuilder() .setType(Protos.Value.Type.SCALAR); builder.getScalarBuilder().setValue(val); return builder.build(); } }
/** * Construct a scalar resource. */ public static Protos.Resource scalar(String name, String role, double value) { checkNotNull(name); checkNotNull(role); checkNotNull(value); return Protos.Resource.newBuilder() .setName(name) .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(value)) .setRole(role) .build(); }