/** {@inheritDoc} */ @Override public synchronized void resourceOffers(SchedulerDriver schedulerDriver, List<Protos.Offer> offers) { log.log(Level.FINE, "Offers resources: {0}", offers.size()); for (Protos.Offer offer : offers) { IgniteTask igniteTask = checkOffer(offer); // Decline offer which doesn't match by mem or cpu. if (igniteTask == null) { schedulerDriver.declineOffer(offer.getId()); continue; } // Generate a unique task ID. Protos.TaskID taskId = Protos.TaskID.newBuilder() .setValue(Integer.toString(taskIdGenerator.incrementAndGet())).build(); log.log(Level.INFO, "Launching task: {0}", igniteTask); // Create task to run. Protos.TaskInfo task = createTask(offer, igniteTask, taskId); try { schedulerDriver.launchTasks(Collections.singletonList(offer.getId()), Collections.singletonList(task), Protos.Filters.newBuilder().setRefuseSeconds(1).build()); } catch (RuntimeException e) { log.log(Level.SEVERE, "Failed launch task. Task id: {0}. Task info: {1}", new Object[]{taskId, task, e}); throw e; } tasks.put(taskId.getValue(), igniteTask); } }
assertEquals(3, task.length()); assertEquals("test-0-a", task.getString("name")); Protos.TaskID taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("a", CommonIdUtils.toTaskName(taskId)); assertEquals(3, task.length()); assertEquals("test-0-b", task.getString("name")); taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("b", CommonIdUtils.toTaskName(taskId)); assertEquals(3, task.length()); assertEquals("test-0-c", task.getString("name")); taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("c", CommonIdUtils.toTaskName(taskId)); assertEquals(2, task.length()); assertEquals("test-0-d", task.getString("name")); taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("d", CommonIdUtils.toTaskName(taskId)); assertEquals(3, task.length()); assertEquals("test-1-a", task.getString("name")); taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("a", CommonIdUtils.toTaskName(taskId));
subBuilder.mergeFrom(taskId_); taskId_ = subBuilder.buildPartial();
subBuilder.mergeFrom(taskId_); taskId_ = subBuilder.buildPartial();
subBuilder.mergeFrom(taskId_); taskId_ = subBuilder.buildPartial();
subBuilder.mergeFrom(taskId_); taskId_ = subBuilder.buildPartial();
subBuilder.mergeFrom(taskId_); taskId_ = subBuilder.buildPartial();
.map(builder -> builder.setTaskId(Protos.TaskID.newBuilder().setValue("")).build()) .collect(Collectors.toSet());
} else { taskBuilder.getTaskIdBuilder().setValue("");
private void createMesosTask(Offer offer, Request request) throws IOException { BuildInfo info = request.request.getInfo(); TaskID taskId = TaskID.newBuilder().setValue(taskIdent + info.projectId + "-" + info.sha).build(); LOGGER.log(Level.INFO, "Launching task {0}", new Object[]{taskId.getValue()}); String cmd = taskCommand(info);
@Test public void testGetPodStatus() throws Exception { when(mockStateStore.fetchTasks()).thenReturn(TASK_INFOS); when(mockStateStore.fetchStatuses()).thenReturn(TASK_STATUSES); when(mockStateStore.fetchGoalOverrideStatus("test-1-a")).thenReturn(GoalStateOverride.Status.INACTIVE); when(mockStateStore.fetchGoalOverrideStatus("test-1-b")) .thenReturn(GoalStateOverride.PAUSED.newStatus(GoalStateOverride.Progress.IN_PROGRESS)); Response response = PodQueries.getStatus(mockStateStore, "test-1"); assertEquals(200, response.getStatus()); JSONObject json = new JSONObject((String) response.getEntity()); assertEquals(json.toString(), 2, json.length()); assertEquals("test-1", json.getString("name")); JSONArray tasks = json.getJSONArray("tasks"); assertEquals(2, tasks.length()); JSONObject task = tasks.getJSONObject(0); assertEquals(3, task.length()); assertEquals("test-1-a", task.getString("name")); Protos.TaskID taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("a", CommonIdUtils.toTaskName(taskId)); assertEquals("FINISHED", task.getString("status")); task = tasks.getJSONObject(1); assertEquals(3, task.length()); assertEquals("test-1-b", task.getString("name")); taskId = Protos.TaskID.newBuilder().setValue(task.getString("id")).build(); assertEquals(TestConstants.SERVICE_NAME, CommonIdUtils.toSanitizedServiceName(taskId).get()); assertEquals("b", CommonIdUtils.toTaskName(taskId)); assertEquals("PAUSING", task.getString("status")); }