@Test public void taskUpdateNotRecorded() throws Exception { OfferRecommendation realRecommendation = new StoreTaskInfoRecommendation( OfferTestUtils.getEmptyOfferBuilder().build(), Protos.TaskInfo.newBuilder() .setTaskId(TestConstants.TASK_ID) .setName(TestConstants.TASK_NAME) .setSlaveId(TestConstants.AGENT_ID) .build(), Protos.ExecutorInfo.newBuilder().setExecutorId( Protos.ExecutorID.newBuilder().setValue("executor")).build()); // No counters should change: Map<String, Long> allCounts = Metrics.getRegistry().getCounters().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().getCount())); Metrics.incrementRecommendations(Arrays.asList(realRecommendation, realRecommendation, realRecommendation)); Map<String, Long> allCounts2 = Metrics.getRegistry().getCounters().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().getCount())); Assert.assertEquals(allCounts, allCounts2); }
/** * <code>required .mesos.ExecutorID executor_id = 1;</code> */ public Builder mergeExecutorId(org.apache.mesos.Protos.ExecutorID value) { if (executorIdBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && executorId_ != null && executorId_ != org.apache.mesos.Protos.ExecutorID.getDefaultInstance()) { executorId_ = org.apache.mesos.Protos.ExecutorID.newBuilder(executorId_).mergeFrom(value).buildPartial(); } else { executorId_ = value; } onChanged(); } else { executorIdBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
/** * <code>required .mesos.ExecutorID executor_id = 2;</code> */ public Builder mergeExecutorId(org.apache.mesos.Protos.ExecutorID value) { if (executorIdBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && executorId_ != null && executorId_ != org.apache.mesos.Protos.ExecutorID.getDefaultInstance()) { executorId_ = org.apache.mesos.Protos.ExecutorID.newBuilder(executorId_).mergeFrom(value).buildPartial(); } else { executorId_ = value; } onChanged(); } else { executorIdBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
@Test public void testExecutorStateMechanism() throws IOException, InterruptedException, ExecutionException, ClassNotFoundException { Protos.TaskStatus taskStatus = Protos.TaskStatus.getDefaultInstance(); SerializableState state = Mockito.mock(SerializableState.class); when(state.get(anyString())).thenReturn(taskStatus); Protos.FrameworkID frameworkID = Protos.FrameworkID.newBuilder().setValue(FRAMEWORK_ID).build(); Protos.SlaveID slaveID = Protos.SlaveID.newBuilder().setValue(SLAVE_ID).build(); Protos.ExecutorID executorID = Protos.ExecutorID.newBuilder().setValue(EXECUTOR_ID).build(); Protos.TaskID taskID = Protos.TaskID.newBuilder().setValue(TASK_ID).build(); Protos.TaskInfo taskInfo = Protos.TaskInfo.newBuilder() .setTaskId(taskID) .setExecutor(Protos.ExecutorInfo.newBuilder() .setExecutorId(executorID) .setCommand(Protos.CommandInfo.getDefaultInstance()) ) .setSlaveId(slaveID) .setName("Test") .build(); ESTaskStatus executorState = new ESTaskStatus(state, frameworkID, taskInfo, mock(StatePath.class)); executorState.setStatus(taskStatus); verify(state, times(1)).set(anyString(), any(Protos.TaskStatus.class)); Protos.TaskStatus newStatus = executorState.getStatus(); assertNotNull(newStatus); assertEquals(taskStatus.getExecutorId().toString(), newStatus.getExecutorId().toString()); } }
/** * <code>required .mesos.ExecutorID executor_id = 2;</code> */ public Builder mergeExecutorId(org.apache.mesos.Protos.ExecutorID value) { if (executorIdBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && executorId_ != null && executorId_ != org.apache.mesos.Protos.ExecutorID.getDefaultInstance()) { executorId_ = org.apache.mesos.Protos.ExecutorID.newBuilder(executorId_).mergeFrom(value).buildPartial(); } else { executorId_ = value; } onChanged(); } else { executorIdBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
private Protos.ExecutorInfo.Builder getExecutorInfoBuilder( PodInstance podInstance, Protos.FrameworkID frameworkID, UUID targetConfigurationId, ArtifactQueries.TemplateUrlFactory templateUrlFactory, SchedulerConfig schedulerConfig) throws IllegalStateException { PodSpec podSpec = podInstance.getPod(); Protos.ExecutorInfo.Builder executorInfoBuilder = Protos.ExecutorInfo.newBuilder() .setName(podSpec.getType()) .setExecutorId(Protos.ExecutorID.newBuilder().setValue("").build()); AuxLabelAccess.setDcosSpace(executorInfoBuilder, schedulerConfig.getDcosSpace()); executorInfoBuilder.setType(Protos.ExecutorInfo.Type.DEFAULT) .setFrameworkId(frameworkID); // Populate ContainerInfo with the appropriate information from PodSpec // This includes networks, rlimits, secret volumes... executorInfoBuilder.setContainer(getContainerInfo(podSpec, true, false)); return executorInfoBuilder; }
private Protos.TaskInfo buildCustomizedExecutorTaskInfo(final TaskContext taskContext, final CloudAppConfiguration appConfig, final CloudJobConfiguration jobConfig, final ShardingContexts shardingContexts, final Protos.Offer offer, final Protos.CommandInfo command) { Protos.TaskInfo.Builder result = Protos.TaskInfo.newBuilder().setTaskId(Protos.TaskID.newBuilder().setValue(taskContext.getId()).build()) .setName(taskContext.getTaskName()).setSlaveId(offer.getSlaveId()) .addResources(buildResource("cpus", jobConfig.getCpuCount(), offer.getResourcesList())) .addResources(buildResource("mem", jobConfig.getMemoryMB(), offer.getResourcesList())) .setData(ByteString.copyFrom(new TaskInfoData(shardingContexts, jobConfig).serialize())); Protos.ExecutorInfo.Builder executorBuilder = Protos.ExecutorInfo.newBuilder().setExecutorId(Protos.ExecutorID.newBuilder() .setValue(taskContext.getExecutorId(jobConfig.getAppName()))).setCommand(command) .addResources(buildResource("cpus", appConfig.getCpuCount(), offer.getResourcesList())) .addResources(buildResource("mem", appConfig.getMemoryMB(), offer.getResourcesList())); if (env.getJobEventRdbConfiguration().isPresent()) { executorBuilder.setData(ByteString.copyFrom(SerializationUtils.serialize(env.getJobEventRdbConfigurationMap()))).build(); } return result.setExecutor(executorBuilder.build()).build(); }
@Test public void taskLaunches() throws Exception { OfferRecommendation realRecommendation = new LaunchOfferRecommendation( OfferTestUtils.getEmptyOfferBuilder().build(), Protos.TaskInfo.newBuilder() .setTaskId(TestConstants.TASK_ID) .setName(TestConstants.TASK_NAME) .setSlaveId(TestConstants.AGENT_ID) .build(), Protos.ExecutorInfo.newBuilder().setExecutorId( Protos.ExecutorID.newBuilder().setValue("executor")).build()); Counter launchCounter = Metrics.getRegistry().counter("operation.launch_group"); long val = launchCounter.getCount(); Metrics.incrementRecommendations(Arrays.asList(realRecommendation, realRecommendation, realRecommendation)); Assert.assertEquals(3, launchCounter.getCount() - val); }
private DeploymentStep getStartingStep() { DeploymentStep step = getPendingStep(); LaunchOfferRecommendation launchRec = new LaunchOfferRecommendation( OfferTestUtils.getEmptyOfferBuilder().build(), Protos.TaskInfo.newBuilder() .setTaskId(taskID) .setName(taskName) .setSlaveId(TestConstants.AGENT_ID) .build(), Protos.ExecutorInfo.newBuilder().setExecutorId( Protos.ExecutorID.newBuilder().setValue("executor")).build()); step.updateOfferStatus(Arrays.asList(launchRec)); return step; } }
public void sendFrameworkMessage(String executorId, String slaveId, byte[] data) { driver.get().sendFrameworkMessage(Protos.ExecutorID.newBuilder().setValue(executorId).build(), Protos.SlaveID.newBuilder().setValue(slaveId).build(), data); }
/** * Converts the Framework defined Executor name into a unique {@link Protos.ExecutorID}. * <p> * For example: "/path/to/service" + "instance-0" => "path.to.service__instance-0__aoeu5678" * * @throws IllegalArgumentException if the provided {@code serviceName} or {@code taskName} contain "__" * @see #toExecutorName(org.apache.mesos.Protos.ExecutorID) * @see #toSanitizedServiceName(org.apache.mesos.Protos.ExecutorID) */ public static Protos.ExecutorID toExecutorId(String serviceName, String executorName) throws IllegalArgumentException { return Protos.ExecutorID.newBuilder().setValue(toIdString(serviceName, executorName)).build(); }
private static Protos.ExecutorID getExecutorId(String value) { return Protos.ExecutorID.newBuilder().setValue(value).build(); } }
public static Protos.ExecutorID getExecutorId() { return Protos.ExecutorID.newBuilder().setValue(EXECUTOR_ID).build(); } }
private static ExecutorInfo clearExecutorId(ExecutorInfo executorInfo) { return ExecutorInfo.newBuilder(executorInfo) .setExecutorId(Protos.ExecutorID.newBuilder().setValue("").build()) .build(); } }
public CassandraTaskExecutor clearId() { return parse( Protos.ExecutorInfo.newBuilder(getExecutorInfo()) .setExecutorId(Protos.ExecutorID.newBuilder().setValue("")).build()); }
@Test public void testExtractExecutorFromExtraElements() throws Exception { // Just in case, we support additional elements at the start of the id for future use. Protos.ExecutorID executorId = Protos.ExecutorID.newBuilder() .setValue("something-else__" + TEST_FOLDERED_SERVICE_NAME2 + "__" + TEST_TASK_NAME + "__uuid") .build(); Assert.assertEquals(TEST_TASK_NAME, CommonIdUtils.toExecutorName(executorId)); Assert.assertEquals(TEST_FOLDERED_SERVICE_NAME2, CommonIdUtils.toSanitizedServiceName(executorId).get()); }
private Protos.TaskInfo normalizeCassandraTaskInfo(CassandraDaemonTask daemonTask) { Protos.TaskInfo daemonTaskInfo = daemonTask.getTaskInfo(); Protos.ExecutorInfo expectedExecutorInfo = Protos.ExecutorInfo.newBuilder(daemonTaskInfo.getExecutor()) .setExecutorId(Protos.ExecutorID.newBuilder().setValue("")) .build(); daemonTaskInfo = Protos.TaskInfo.newBuilder(daemonTaskInfo) .setTaskId(Protos.TaskID.newBuilder().setValue("")) .setExecutor(expectedExecutorInfo) .build(); return daemonTaskInfo; }
private void stopExecutors(final String appName) { try { Collection<MesosStateService.ExecutorStateInfo> executorBriefInfo = mesosStateService.executors(appName); for (MesosStateService.ExecutorStateInfo each : executorBriefInfo) { producerManager.sendFrameworkMessage(ExecutorID.newBuilder().setValue(each.getId()).build(), SlaveID.newBuilder().setValue(each.getSlaveId()).build(), "STOP".getBytes()); } } catch (final JSONException ex) { throw new JobSystemException(ex); } } }
private static Protos.ExecutorInfo.Builder getExecutorInfoBuilder() { Protos.CommandInfo cmd = Protos.CommandInfo.newBuilder().build(); return Protos.ExecutorInfo.newBuilder() .setExecutorId(Protos.ExecutorID.newBuilder().setValue("")) .setName(TestConstants.EXECUTOR_NAME) .setCommand(cmd); }
public static Protos.TaskStatus getDefaultTaskStatus(Protos.TaskState state, Double timestamp) { Protos.SlaveID slaveID = Protos.SlaveID.newBuilder().setValue(SLAVE_ID).build(); Protos.ExecutorID executorID = Protos.ExecutorID.newBuilder().setValue(EXECUTOR_ID).build(); Protos.TaskID taskID = Protos.TaskID.newBuilder().setValue(TASK_ID).build(); return Protos.TaskStatus.newBuilder().setSlaveId(slaveID).setTaskId(taskID).setExecutorId(executorID).setTimestamp(timestamp) .setState(state).build(); }