public CassandraTaskExecutor update(final ExecutorConfig config) { return new CassandraTaskExecutor( Protos.ExecutorInfo.newBuilder(info) .setExecutorId(ExecutorUtils.toExecutorId(info.getName())) .setCommand(createCommandInfo(config.getCommand(), config.getArguments(), config.getURIs(), config.getCacheFetchedURIs(), ImmutableMap.<String, String>builder() .put("JAVA_HOME", config.getJavaHome()) .put("JAVA_OPTS", "-Xmx" + config.getHeapMb() + "M") .put("EXECUTOR_API_PORT", Integer.toString(config.getApiPort())) .build())) .clearResources() .addAllResources( updateResources( config.getCpus(), config.getMemoryMb(), info.getResourcesList())).build()); }
Offer offer = OfferTestUtils.getCompleteOffer(resource); Protos.TaskInfo taskInfo = TaskTestUtils.getTaskInfo(resource); Protos.ExecutorInfo execInfo = Protos.ExecutorInfo.newBuilder().setExecutorId(TestConstants.EXECUTOR_ID).build();
@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); }
String javaHome) { this.info = Protos.ExecutorInfo.newBuilder() .setFrameworkId(Protos.FrameworkID.newBuilder() .setValue(frameworkId))
.setExecutor( ExecutorInfo .newBuilder() .setExecutorId( ExecutorID.newBuilder().setValue(
final String executorLaunchCommand = getExecutorLaunchCommand(id, resourceRequestEvent.getMemorySize().get()); final ExecutorInfo executorInfo = ExecutorInfo.newBuilder() .setExecutorId(ExecutorID.newBuilder() .setValue(id)
.setSlaveId(TestConstants.AGENT_ID) .build(), Protos.ExecutorInfo.newBuilder().setExecutorId( Protos.ExecutorID.newBuilder().setValue("executor")).build()); .setSlaveId(TestConstants.AGENT_ID) .build(), Protos.ExecutorInfo.newBuilder().setExecutorId( Protos.ExecutorID.newBuilder().setValue("executor")).build());
ExecutorInfo.Builder executorInfoBuilder = ExecutorInfo.newBuilder();
@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.ExecutorInfo executor_info = 1;</code> */ public Builder mergeExecutorInfo(org.apache.mesos.Protos.ExecutorInfo value) { if (executorInfoBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && executorInfo_ != null && executorInfo_ != org.apache.mesos.Protos.ExecutorInfo.getDefaultInstance()) { executorInfo_ = org.apache.mesos.Protos.ExecutorInfo.newBuilder(executorInfo_).mergeFrom(value).buildPartial(); } else { executorInfo_ = value; } onChanged(); } else { executorInfoBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; 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; }
public static Protos.TaskInfo getDefaultTaskInfo() { return Protos.TaskInfo.newBuilder() .setName("dummyTaskName") .setTaskId(Protos.TaskID.newBuilder().setValue(SLAVE_ID)) .setSlaveId(getSlaveId()) .setExecutor(Protos.ExecutorInfo.newBuilder() .setExecutorId(getExecutorId()) .setCommand(Protos.CommandInfo.newBuilder().setValue("").build()) .build()) .setDiscovery( Protos.DiscoveryInfo.newBuilder() .setVisibility(Protos.DiscoveryInfo.Visibility.EXTERNAL) .setPorts(Protos.Ports.newBuilder() .addPorts(Discovery.CLIENT_PORT_INDEX, Protos.Port.newBuilder().setNumber(9200)) .addPorts(Discovery.TRANSPORT_PORT_INDEX, Protos.Port.newBuilder().setNumber(9300)) ) ) .build(); }
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; } }
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()); }
public CassandraTaskExecutor withNewId() { return parse( Protos.ExecutorInfo.newBuilder(getExecutorInfo()) .setExecutorId(ExecutorUtils.toExecutorId(getName())).build()); }
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 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); }