@Override protected List<SingularityTaskIdHistory> getFromHistory(final SingularityDeployKey deployKey, int historyStart, int numFromHistory) { return historyManager.getTaskIdHistory(Optional.of(deployKey.getRequestId()), Optional.of(deployKey.getDeployId()), Optional.<String>absent(), Optional.<String> absent(), Optional.<ExtendedTaskState> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<OrderDirection> absent(), Optional.of(historyStart), numFromHistory); }
@Override protected Optional<Integer> getTotalCount(SingularityDeployKey deployKey) { final int numFromZk = taskManager.getInactiveTaskIdsForDeploy(deployKey.getRequestId(), deployKey.getDeployId()).size(); final int numFromHistory = historyManager.getTaskIdHistoryCount(Optional.of(deployKey.getRequestId()), Optional.of(deployKey.getDeployId()), Optional.<String>absent(), Optional.<String> absent(), Optional.<ExtendedTaskState> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent()); return Optional.of(numFromZk + numFromHistory); }
@Override protected List<SingularityDeployHistory> getFromZk(String requestId) { final List<SingularityDeployKey> deployKeys = deployManager.getDeployIdsFor(requestId); final List<SingularityDeployHistory> histories = Lists.newArrayListWithCapacity(deployKeys.size()); for (SingularityDeployKey key : deployKeys) { Optional<SingularityDeployHistory> deployHistory = deployManager.getDeployHistory(key.getRequestId(), key.getDeployId(), false); if (deployHistory.isPresent()) { histories.add(deployHistory.get()); } } Collections.sort(histories); return histories; }
private boolean shouldTransferDeploy(SingularityRequestDeployState deployState, SingularityDeployKey deployKey) { if (deployState == null) { LOG.warn("Missing request deploy state for deployKey {}", deployKey); return true; } if (deployState.getActiveDeploy().isPresent() && deployState.getActiveDeploy().get().getDeployId().equals(deployKey.getDeployId())) { return false; } if (deployState.getPendingDeploy().isPresent() && deployState.getPendingDeploy().get().getDeployId().equals(deployKey.getDeployId())) { return false; } return true; }
public Map<SingularityDeployKey, SingularityDeploy> getDeploysForKeys(Collection<SingularityDeployKey> deployKeys) { final List<String> paths = Lists.newArrayListWithCapacity(deployKeys.size()); for (SingularityDeployKey deployKey : deployKeys) { paths.add(getDeployDataPath(deployKey.getRequestId(), deployKey.getDeployId())); } final List<SingularityDeploy> deploys = getAsync("getDeploysForKeys", paths, deployTranscoder, deploysCache); final Map<SingularityDeployKey, SingularityDeploy> deployKeyToDeploy = Maps.uniqueIndex(deploys, new Function<SingularityDeploy, SingularityDeployKey>() { @Override public SingularityDeployKey apply(SingularityDeploy input) { return SingularityDeployKey.fromDeploy(input); } }); return deployKeyToDeploy; }
private List<SingularityTaskId> getMatchingTaskIds(SingularityRequest request, SingularityDeployKey deployKey) { List<SingularityTaskId> activeTaskIdsForRequest = leaderCache.getActiveTaskIdsForRequest(deployKey.getRequestId()); if (request.isLongRunning()) { Set<SingularityTaskId> killedTaskIds = leaderCache.getKilledTasks().stream() .map(SingularityKilledTaskIdRecord::getTaskId) .collect(Collectors.toSet()); List<SingularityTaskId> matchingTaskIds = new ArrayList<>(); for (SingularityTaskId taskId : activeTaskIdsForRequest) { if (!taskId.getDeployId().equals(deployKey.getDeployId())) { continue; } if (leaderCache.getCleanupTaskIds().contains(taskId)) { continue; } if (killedTaskIds.contains(taskId)) { continue; } matchingTaskIds.add(taskId); } return matchingTaskIds; } else { return new ArrayList<>(activeTaskIdsForRequest); } }
@Override protected List<SingularityTaskIdHistory> getFromZk(final SingularityDeployKey deployKey) { List<SingularityTaskId> deployTaskIds = taskManager.getInactiveTaskIdsForDeploy(deployKey.getRequestId(), deployKey.getDeployId()); return getTaskHistoriesFor(taskManager, deployTaskIds); }
public SingularityDeleteResult deleteDeployHistory(SingularityDeployKey deployKey) { return delete(getDeployParentPath(deployKey.getRequestId(), deployKey.getDeployId())); }
Optional<SingularityDeployHistory> deployHistory = deployManager.getDeployHistory(deployKey.getRequestId(), deployKey.getDeployId(), true);
private void handlePendingRequestsForDeployKey(AtomicInteger obsoleteRequests, AtomicInteger heldForScheduledActiveTask, AtomicInteger totalNewScheduledTasks, SingularityDeployKey deployKey, List<SingularityPendingRequest> pendingRequestsForDeploy) { final String requestId = deployKey.getRequestId(); final Optional<SingularityRequestWithState> maybeRequest = requestManager.getRequest(requestId); final SingularityDeployStatistics deployStatistics = getDeployStatistics(deployKey.getRequestId(), deployKey.getDeployId());
@Override protected List<SingularityTaskIdHistory> getFromHistory(final SingularityDeployKey deployKey, int historyStart, int numFromHistory) { return historyManager.getTaskIdHistory(Optional.of(deployKey.getRequestId()), Optional.of(deployKey.getDeployId()), Optional.<String>absent(), Optional.<String> absent(), Optional.<ExtendedTaskState> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<OrderDirection> absent(), Optional.of(historyStart), numFromHistory); }
@Override protected Optional<Integer> getTotalCount(SingularityDeployKey deployKey) { final int numFromZk = taskManager.getInactiveTaskIdsForDeploy(deployKey.getRequestId(), deployKey.getDeployId()).size(); final int numFromHistory = historyManager.getTaskIdHistoryCount(Optional.of(deployKey.getRequestId()), Optional.of(deployKey.getDeployId()), Optional.<String>absent(), Optional.<String> absent(), Optional.<ExtendedTaskState> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent(), Optional.<Long> absent()); return Optional.of(numFromZk + numFromHistory); }
@Override protected List<SingularityDeployHistory> getFromZk(String requestId) { final List<SingularityDeployKey> deployKeys = deployManager.getDeployIdsFor(requestId); final List<SingularityDeployHistory> histories = Lists.newArrayListWithCapacity(deployKeys.size()); for (SingularityDeployKey key : deployKeys) { Optional<SingularityDeployHistory> deployHistory = deployManager.getDeployHistory(key.getRequestId(), key.getDeployId(), false); if (deployHistory.isPresent()) { histories.add(deployHistory.get()); } } Collections.sort(histories); return histories; }
private boolean shouldTransferDeploy(SingularityRequestDeployState deployState, SingularityDeployKey deployKey) { if (deployState == null) { LOG.warn("Missing request deploy state for deployKey {}", deployKey); return true; } if (deployState.getActiveDeploy().isPresent() && deployState.getActiveDeploy().get().getDeployId().equals(deployKey.getDeployId())) { return false; } if (deployState.getPendingDeploy().isPresent() && deployState.getPendingDeploy().get().getDeployId().equals(deployKey.getDeployId())) { return false; } return true; }
public Map<SingularityDeployKey, SingularityDeploy> getDeploysForKeys(Collection<SingularityDeployKey> deployKeys) { final List<String> paths = Lists.newArrayListWithCapacity(deployKeys.size()); for (SingularityDeployKey deployKey : deployKeys) { paths.add(getDeployDataPath(deployKey.getRequestId(), deployKey.getDeployId())); } final List<SingularityDeploy> deploys = getAsync("getDeploysForKeys", paths, deployTranscoder, deploysCache); final Map<SingularityDeployKey, SingularityDeploy> deployKeyToDeploy = Maps.uniqueIndex(deploys, new Function<SingularityDeploy, SingularityDeployKey>() { @Override public SingularityDeployKey apply(SingularityDeploy input) { return SingularityDeployKey.fromDeploy(input); } }); return deployKeyToDeploy; }
private List<SingularityTaskId> getMatchingTaskIds(SingularityRequest request, SingularityDeployKey deployKey) { List<SingularityTaskId> activeTaskIdsForRequest = leaderCache.getActiveTaskIdsForRequest(deployKey.getRequestId()); if (request.isLongRunning()) { Set<SingularityTaskId> killedTaskIds = leaderCache.getKilledTasks().stream() .map(SingularityKilledTaskIdRecord::getTaskId) .collect(Collectors.toSet()); List<SingularityTaskId> matchingTaskIds = new ArrayList<>(); for (SingularityTaskId taskId : activeTaskIdsForRequest) { if (!taskId.getDeployId().equals(deployKey.getDeployId())) { continue; } if (leaderCache.getCleanupTaskIds().contains(taskId)) { continue; } if (killedTaskIds.contains(taskId)) { continue; } matchingTaskIds.add(taskId); } return matchingTaskIds; } else { return new ArrayList<>(activeTaskIdsForRequest); } }
@Override protected List<SingularityTaskIdHistory> getFromZk(final SingularityDeployKey deployKey) { List<SingularityTaskId> deployTaskIds = taskManager.getInactiveTaskIdsForDeploy(deployKey.getRequestId(), deployKey.getDeployId()); return getTaskHistoriesFor(taskManager, deployTaskIds); }
public SingularityDeleteResult deleteDeployHistory(SingularityDeployKey deployKey) { return delete(getDeployParentPath(deployKey.getRequestId(), deployKey.getDeployId())); }
Optional<SingularityDeployHistory> deployHistory = deployManager.getDeployHistory(deployKey.getRequestId(), deployKey.getDeployId(), true);
private void handlePendingRequestsForDeployKey(AtomicInteger obsoleteRequests, AtomicInteger heldForScheduledActiveTask, AtomicInteger totalNewScheduledTasks, SingularityDeployKey deployKey, List<SingularityPendingRequest> pendingRequestsForDeploy) { final String requestId = deployKey.getRequestId(); final Optional<SingularityRequestWithState> maybeRequest = requestManager.getRequest(requestId); final SingularityDeployStatistics deployStatistics = getDeployStatistics(deployKey.getRequestId(), deployKey.getDeployId());