.setTaskId(TaskID.newBuilder().setValue(taskId.toString()));
private void unsafeProcessStatusUpdate(Protos.TaskStatus status, SingularityTaskId taskIdObj) { final String taskId = status.getTaskId().getValue();
/** * <code>required .mesos.v1.TaskID task_id = 1;</code> */ public org.apache.mesos.v1.Protos.TaskID getTaskId() { if (taskIdBuilder_ == null) { return taskId_ == null ? org.apache.mesos.v1.Protos.TaskID.getDefaultInstance() : taskId_; } else { return taskIdBuilder_.getMessage(); } } /**
private void unsafeProcessStatusUpdate(Protos.TaskStatus status, SingularityTaskId taskIdObj) { final String taskId = status.getTaskId().getValue();
.setTaskId(TaskID.newBuilder().setValue(taskId.toString()));
assertEquals(String.format("/host/%s", task.getMesosTask().getTaskId().getValue()), task.getMesosTask().getContainer().getVolumes(1).getHostPath()); assertEquals(Mode.RO, task.getMesosTask().getContainer().getVolumes(1).getMode());
.setName(taskId) .setTaskId( TaskID.newBuilder() .setValue(taskId)
org.apache.mesos.v1.Protos.AgentID.newBuilder().setValue(agentId).build(), org.apache.mesos.v1.Protos.ExecutorID.newBuilder().setValue(executorId).build(), org.apache.mesos.v1.Protos.TaskID.newBuilder().setValue(taskId).build(), state, uuid
} else { TaskStatus.Builder fakeTaskStatusBuilder = TaskStatus.newBuilder() .setTaskId(TaskID.newBuilder().setValue(taskStatusHolder.getTaskId().getId())) .setState(TaskState.TASK_STARTING);
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.apache.mesos.v1.scheduler.Protos.Call.Acknowledge)) { return super.equals(obj); } org.apache.mesos.v1.scheduler.Protos.Call.Acknowledge other = (org.apache.mesos.v1.scheduler.Protos.Call.Acknowledge) obj; boolean result = true; result = result && (hasAgentId() == other.hasAgentId()); if (hasAgentId()) { result = result && getAgentId() .equals(other.getAgentId()); } result = result && (hasTaskId() == other.hasTaskId()); if (hasTaskId()) { result = result && getTaskId() .equals(other.getTaskId()); } result = result && (hasUuid() == other.hasUuid()); if (hasUuid()) { result = result && getUuid() .equals(other.getUuid()); } result = result && unknownFields.equals(other.unknownFields); return result; }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.apache.mesos.v1.scheduler.Protos.Call.Kill)) { return super.equals(obj); } org.apache.mesos.v1.scheduler.Protos.Call.Kill other = (org.apache.mesos.v1.scheduler.Protos.Call.Kill) obj; boolean result = true; result = result && (hasTaskId() == other.hasTaskId()); if (hasTaskId()) { result = result && getTaskId() .equals(other.getTaskId()); } result = result && (hasAgentId() == other.hasAgentId()); if (hasAgentId()) { result = result && getAgentId() .equals(other.getAgentId()); } result = result && (hasKillPolicy() == other.hasKillPolicy()); if (hasKillPolicy()) { result = result && getKillPolicy() .equals(other.getKillPolicy()); } result = result && unknownFields.equals(other.unknownFields); return result; }
org.apache.mesos.v1.Protos.AgentID.newBuilder().setValue(agentId).build(), org.apache.mesos.v1.Protos.ExecutorID.newBuilder().setValue(executorId).build(), org.apache.mesos.v1.Protos.TaskID.newBuilder().setValue(taskId).build(), state, uuid
public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; if (!hasTaskId()) { memoizedIsInitialized = 0; return false; } if (!getTaskId().isInitialized()) { memoizedIsInitialized = 0; return false; } if (hasAgentId()) { if (!getAgentId().isInitialized()) { memoizedIsInitialized = 0; return false; } } if (hasKillPolicy()) { if (!getKillPolicy().isInitialized()) { memoizedIsInitialized = 0; return false; } } memoizedIsInitialized = 1; return true; }
public void killAndRecord(SingularityTaskId taskId, Optional<RequestCleanupType> requestCleanupType, Optional<TaskCleanupType> taskCleanupType, Optional<Long> originalTimestamp, Optional<Integer> retries, Optional<String> user) { Preconditions.checkState(isRunning()); Optional<TaskCleanupType> maybeCleanupFromRequestAndTask = getTaskCleanupType(requestCleanupType, taskCleanupType); if (maybeCleanupFromRequestAndTask.isPresent() && (maybeCleanupFromRequestAndTask.get() == TaskCleanupType.USER_REQUESTED_DESTROY || maybeCleanupFromRequestAndTask.get() == TaskCleanupType.REQUEST_DELETING)) { Optional<SingularityTask> task = taskManager.getTask(taskId); if (task.isPresent()) { if (task.get().getTaskRequest().getDeploy().getCustomExecutorCmd().isPresent()) { byte[] messageBytes = transcoder.toBytes(new SingularityTaskDestroyFrameworkMessage(taskId, user)); mesosSchedulerClient.frameworkMessage( MesosProtosUtils.toExecutorId(task.get().getMesosTask().getExecutor().getExecutorId()), MesosProtosUtils.toAgentId(task.get().getMesosTask().getAgentId()), messageBytes ); } else { LOG.warn("Not using custom executor, will not send framework message to destroy task"); } } else { String message = String.format("No task data available to build kill task framework message for task %s", taskId); exceptionNotifier.notify(message); LOG.error(message); } } mesosSchedulerClient.kill(TaskID.newBuilder().setValue(taskId.toString()).build()); taskManager.saveKilledRecord(new SingularityKilledTaskIdRecord(taskId, System.currentTimeMillis(), originalTimestamp.or(System.currentTimeMillis()), requestCleanupType, taskCleanupType, retries.or(-1) + 1)); }
public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; if (!hasAgentId()) { memoizedIsInitialized = 0; return false; } if (!hasTaskId()) { memoizedIsInitialized = 0; return false; } if (!hasUuid()) { memoizedIsInitialized = 0; return false; } if (!getAgentId().isInitialized()) { memoizedIsInitialized = 0; return false; } if (!getTaskId().isInitialized()) { memoizedIsInitialized = 0; return false; } memoizedIsInitialized = 1; return true; }
@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof org.apache.mesos.v1.executor.Protos.Event.Acknowledged)) { return super.equals(obj); } org.apache.mesos.v1.executor.Protos.Event.Acknowledged other = (org.apache.mesos.v1.executor.Protos.Event.Acknowledged) obj; boolean result = true; result = result && (hasTaskId() == other.hasTaskId()); if (hasTaskId()) { result = result && getTaskId() .equals(other.getTaskId()); } result = result && (hasUuid() == other.hasUuid()); if (hasUuid()) { result = result && getUuid() .equals(other.getUuid()); } result = result && unknownFields.equals(other.unknownFields); return result; }
private void runTest(RequestType requestType, Reason reason, boolean shouldRetry) { initRequestWithType(requestType, false); initFirstDeploy(); SingularityTask task = startTask(firstDeploy); Assert.assertEquals(taskManager.getPendingTaskIds().size(), 0); Assert.assertEquals(requestManager.getPendingRequests().size(), 0); try { updateHandler.processStatusUpdateAsync(TaskStatus.newBuilder() .setState(TaskState.TASK_LOST) .setReason(reason) .setTaskId(TaskID.newBuilder().setValue(task.getTaskId().getId())) .build()).get(); } catch (InterruptedException | ExecutionException e) { Assert.assertTrue(false); } if (shouldRetry) { Assert.assertEquals(requestManager.getPendingRequests().size(), 1); Assert.assertEquals(requestManager.getPendingRequests().get(0).getPendingType(), PendingType.RETRY); } else { if (requestManager.getPendingRequests().size() > 0) { Assert.assertEquals(requestManager.getPendingRequests().get(0).getPendingType(), PendingType.TASK_DONE); } } scheduler.drainPendingQueue(); } }
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasTaskId()) { hash = (37 * hash) + TASK_ID_FIELD_NUMBER; hash = (53 * hash) + getTaskId().hashCode(); } if (hasAgentId()) { hash = (37 * hash) + AGENT_ID_FIELD_NUMBER; hash = (53 * hash) + getAgentId().hashCode(); } if (hasKillPolicy()) { hash = (37 * hash) + KILL_POLICY_FIELD_NUMBER; hash = (53 * hash) + getKillPolicy().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
@Override public void applyMigration() { final long start = System.currentTimeMillis(); final List<SingularityTaskId> taskIds = taskManager.getActiveTaskIds(); for (SingularityTaskId taskId : taskIds) { List<SingularityTaskHistoryUpdate> updates = Lists.reverse(taskManager.getTaskHistoryUpdates(taskId)); Optional<MesosTaskStatusObject> taskStatus = Optional.absent(); for (SingularityTaskHistoryUpdate update : updates) { if (update.getTaskState().toTaskState().isPresent()) { Optional<SingularityTask> task = taskManager.getTask(taskId); taskStatus = Optional.of(mesosProtosUtils.taskStatusFromProtos(TaskStatus.newBuilder() .setTaskId(TaskID.newBuilder().setValue(taskId.getId())) .setAgentId(MesosProtosUtils.toAgentId(task.get().getAgentId())) .setState(MesosProtosUtils.toTaskState(update.getTaskState())) .build())); break; } } SingularityTaskStatusHolder taskStatusHolder = new SingularityTaskStatusHolder(taskId, taskStatus, start, serverId, Optional.absent()); taskManager.saveLastActiveTaskStatus(taskStatusHolder); } }
protected SingularityTask prepTask(SingularityRequest request, SingularityDeploy deploy, long launchTime, int instanceNo, boolean separateHosts, Optional<String> runId) { SingularityPendingTask pendingTask = buildPendingTask(request, deploy, launchTime, instanceNo, runId); SingularityTaskRequest taskRequest = new SingularityTaskRequest(request, deploy, pendingTask); Offer offer; if (separateHosts) { offer = createOffer(125, 1024, 2048, String.format("slave%s", instanceNo), String.format("host%s", instanceNo)); } else { offer = createOffer(125, 1024, 2048); } SingularityTaskId taskId = new SingularityTaskId(request.getId(), deploy.getId(), launchTime, instanceNo, offer.getHostname(), "rack1"); TaskID taskIdProto = TaskID.newBuilder().setValue(taskId.toString()).build(); TaskInfo taskInfo = TaskInfo.newBuilder() .setAgentId(offer.getAgentId()) .setExecutor(ExecutorInfo.newBuilder().setExecutorId(ExecutorID.newBuilder().setValue("executorID"))) .setTaskId(taskIdProto) .setName("name") .build(); SingularityTask task = new SingularityTask(taskRequest, taskId, Collections.singletonList(mesosProtosUtils.offerFromProtos(offer)), mesosProtosUtils.taskFromProtos(taskInfo), Optional.of("rack1")); taskManager.savePendingTask(pendingTask); return task; }