public boolean isActiveTask(String taskId) { return activeTaskIds.contains(SingularityTaskId.valueOf(taskId)); }
public void deleteActiveTaskId(String taskId) { if (!active) { LOG.warn("deleteActiveTask {}, but not active", taskId); return; } activeTaskIds.remove(SingularityTaskId.valueOf(taskId)); }
private SingularityTaskId getSingularityTaskId() { return SingularityTaskId.valueOf(taskDefinition.getTaskId()); }
public List<SingularityTaskCurrentUsageWithId> getTaskCurrentUsages(List<SingularityTaskId> taskIds) { List<String> paths = new ArrayList<>(taskIds.size()); for (SingularityTaskId taskId : taskIds) { paths.add(getCurrentTaskUsagePath(taskId.getId())); } Map<String, SingularityTaskCurrentUsage> currentTaskUsages = getAsyncWithPath("getTaskCurrentUsages", paths, taskCurrentUsageTranscoder); List<SingularityTaskCurrentUsageWithId> currentTaskUsagesWithIds = new ArrayList<>(paths.size()); for (Entry<String, SingularityTaskCurrentUsage> entry : currentTaskUsages.entrySet()) { currentTaskUsagesWithIds.add(new SingularityTaskCurrentUsageWithId(SingularityTaskId.valueOf(getTaskIdFromCurrentUsagePath(entry.getKey())), entry.getValue())); } return currentTaskUsagesWithIds; }
private SingularityTaskId getTaskIdFromStr(String activeTaskIdStr) { try { return SingularityTaskId.valueOf(activeTaskIdStr); } catch (InvalidSingularityTaskIdException e) { throw badRequest("%s is not a valid taskId: %s", activeTaskIdStr, e.getMessage()); } }
protected SingularityTaskId getTaskIdObject(String taskId) { try { return SingularityTaskId.valueOf(taskId); } catch (InvalidSingularityTaskIdException e) { throw badRequest("%s is not a valid task id: %s", taskId, e.getMessage()); } }
public void deleteCleanupTask(String taskId) { leaderCache.deleteTaskCleanup(SingularityTaskId.valueOf(taskId)); delete(getCleanupPath(taskId)); }
@GET @Path("/task/{taskId}") @Operation( summary = "Get the current state of a task by taskId whether it is active, or inactive", responses = { @ApiResponse(responseCode = "404", description = "Task with this id does not exist") } ) public Optional<SingularityTaskState> getTaskState( @Parameter(hidden = true) @Auth SingularityUser user, @Parameter(required = true, description = "the task id to search for") @PathParam("taskId") String taskId) { authorizationHelper.checkForAuthorizationByTaskId(taskId, user, SingularityAuthorizationScope.READ); return getTaskStateFromId(SingularityTaskId.valueOf(taskId)); }
public Optional<SingularityTaskCleanup> getTaskCleanup(String taskId) { if (leaderCache.active()) { return leaderCache.getTaskCleanup(SingularityTaskId.valueOf(taskId)); } return getData(getCleanupPath(taskId), taskCleanupTranscoder); }
public Logger buildTaskLogger(String taskId, String executorId, String executorPid, String taskLogFile) { LOG.info("Building a task logger for {} pointing to {}", taskId, taskLogFile); LoggerContext context = new LoggerContext(); context.setName(executorPid); baseLogging.prepareRootLogger(context); String loggerId = taskId; try { SingularityTaskId singularityTaskId = SingularityTaskId.valueOf(taskId); loggerId = String.format("%s.%s.%s.%s.%s", singularityTaskId.getRequestId(), singularityTaskId.getDeployId(), singularityTaskId.getStartedAt(), singularityTaskId.getInstanceNo(), executorId); } catch (InvalidSingularityTaskIdException e) { LOG.info("Handling non-SingularityTaskId %s", taskId); } Logger taskLogger = context.getLogger(loggerId); taskLogger.detachAndStopAllAppenders(); if (baseLogging.getRootLogPath().isPresent()) { taskLogger.addAppender(baseLogging.buildFileAppender(context, baseLogging.getRootLogPath().get())); } taskLogger.addAppender(baseLogging.buildFileAppender(context, taskLogFile)); context.start(); return taskLogger; }
public void checkForAuthorizationByTaskId(String taskId, SingularityUser user, SingularityAuthorizationScope scope) { if (authEnabled) { checkForbidden(user.isAuthenticated(), "Not Authenticated!"); try { final SingularityTaskId taskIdObj = SingularityTaskId.valueOf(taskId); final Optional<SingularityRequestWithState> maybeRequest = requestManager.getRequest(taskIdObj.getRequestId()); if (maybeRequest.isPresent()) { checkForAuthorization(maybeRequest.get().getRequest(), user, scope); } } catch (InvalidSingularityTaskIdException e) { badRequest(e.getMessage()); } } }
@Test public void testSingularityTaskIdSerialization() throws Exception { ObjectMapper om = Jackson.newObjectMapper() .setSerializationInclusion(Include.NON_NULL) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .registerModule(new ProtobufModule()); SingularityTaskId taskId = new SingularityTaskId("rid", "did", 100, 1, "host", "rack"); String id = taskId.getId(); SingularityTaskId fromId = SingularityTaskId.valueOf(id); SingularityTaskId fromJson = om.readValue(om.writeValueAsBytes(taskId), SingularityTaskId.class); assertEquals(taskId, fromId); assertEquals(taskId, fromJson); assertEquals(fromId, fromJson); }
SingularityTaskId task; try { task = SingularityTaskId.valueOf(taskId); } catch (InvalidSingularityTaskIdException e) { LOG.error("Couldn't get SingularityTaskId for {}", taskUsage);
public void deleteActiveTaskId(String taskId) { if (!active) { LOG.warn("deleteActiveTask {}, but not active", taskId); return; } activeTaskIds.remove(SingularityTaskId.valueOf(taskId)); }
public List<SingularityTaskCurrentUsageWithId> getTaskCurrentUsages(List<SingularityTaskId> taskIds) { List<String> paths = new ArrayList<>(taskIds.size()); for (SingularityTaskId taskId : taskIds) { paths.add(getCurrentTaskUsagePath(taskId.getId())); } Map<String, SingularityTaskCurrentUsage> currentTaskUsages = getAsyncWithPath("getTaskCurrentUsages", paths, taskCurrentUsageTranscoder); List<SingularityTaskCurrentUsageWithId> currentTaskUsagesWithIds = new ArrayList<>(paths.size()); for (Entry<String, SingularityTaskCurrentUsage> entry : currentTaskUsages.entrySet()) { currentTaskUsagesWithIds.add(new SingularityTaskCurrentUsageWithId(SingularityTaskId.valueOf(getTaskIdFromCurrentUsagePath(entry.getKey())), entry.getValue())); } return currentTaskUsagesWithIds; }
private SingularityTaskId getTaskIdFromStr(String activeTaskIdStr) { try { return SingularityTaskId.valueOf(activeTaskIdStr); } catch (InvalidSingularityTaskIdException e) { throw badRequest("%s is not a valid taskId: %s", activeTaskIdStr, e.getMessage()); } }
protected SingularityTaskId getTaskIdObject(String taskId) { try { return SingularityTaskId.valueOf(taskId); } catch (InvalidSingularityTaskIdException e) { throw badRequest("%s is not a valid task id: %s", taskId, e.getMessage()); } }
public void deleteCleanupTask(String taskId) { leaderCache.deleteTaskCleanup(SingularityTaskId.valueOf(taskId)); delete(getCleanupPath(taskId)); }
public Optional<SingularityTaskCleanup> getTaskCleanup(String taskId) { if (leaderCache.active()) { return leaderCache.getTaskCleanup(SingularityTaskId.valueOf(taskId)); } return getData(getCleanupPath(taskId), taskCleanupTranscoder); }
public void checkForAuthorizationByTaskId(String taskId, SingularityUser user, SingularityAuthorizationScope scope) { if (authEnabled) { checkForbidden(user.isAuthenticated(), "Not Authenticated!"); try { final SingularityTaskId taskIdObj = SingularityTaskId.valueOf(taskId); final Optional<SingularityRequestWithState> maybeRequest = requestManager.getRequest(taskIdObj.getRequestId()); if (maybeRequest.isPresent()) { checkForAuthorization(maybeRequest.get().getRequest(), user, scope); } } catch (InvalidSingularityTaskIdException e) { badRequest(e.getMessage()); } } }