/** * Returns the job configuration for the job specified by {@code id} as a * {@link Job} object. A return value of null indicates the job doesn't exist. */ @Override public Job getJob(final JobId id) { log.debug("getting job: {}", id); final ZooKeeperClient client = provider.get("getJobId"); return getJob(client, id); }
log.info("removing job: id={}", id); final ZooKeeperClient client = provider.get("removeJob"); final Job job = getJob(client, id); if (job == null) { throw new JobDoesNotExistException(id);
public List<TaskStatusEvent> getJobHistory(final JobId jobId, final String host) throws JobDoesNotExistException { final Job descriptor = getJob(jobId); if (descriptor == null) { throw new JobDoesNotExistException(jobId);
log.info("removing job: id={}", id); final ZooKeeperClient client = provider.get("removeJob"); final Job job = getJob(client, id); if (job == null) { throw new JobDoesNotExistException(id);
final ZooKeeperClient client = provider.get("getJobStatus"); final Job job = getJob(client, jobId); if (job == null) { return null;
final Job job = getJob(client, jobId); verifyToken(token, job); final String configHostJobPath = Paths.configHostJob(host, jobId);
final Job job = getJob(client, jobId); verifyToken(token, job); final String configHostJobPath = Paths.configHostJob(host, jobId);
checkNotNull(deploymentGroup, "deploymentGroup"); final Job job = getJob(jobId); if (job == null) { throw new JobDoesNotExistException(jobId);
assertHostExists(client, host); final JobId id = deployment.getJobId(); final Job job = getJob(id);
/** * Used to update the existing deployment of a job. */ @Override public void updateDeployment(final String host, final Deployment deployment, final String token) throws HostNotFoundException, JobNotDeployedException, TokenVerificationException { log.info("updating deployment {}: {}", deployment, host); final ZooKeeperClient client = provider.get("updateDeployment"); final JobId jobId = deployment.getJobId(); final Job job = getJob(client, jobId); final Deployment existingDeployment = getDeployment(host, jobId); if (job == null) { throw new JobNotDeployedException(host, jobId); } verifyToken(token, job); assertHostExists(client, host); assertTaskExists(client, host, deployment.getJobId()); final String path = Paths.configHostJob(host, jobId); final Task task = new Task(job, deployment.getGoal(), existingDeployment.getDeployerUser(), existingDeployment.getDeployerMaster(), existingDeployment.getDeploymentGroupName()); try { client.setData(path, task.toJsonBytes()); } catch (Exception e) { throw new HeliosRuntimeException("updating deployment " + deployment + " on host " + host + " failed", e); } }
final Job job = getJob(id);
/** * Returns the job configuration for the job specified by {@code id} as a * {@link Job} object. */ @Override public Job getJob(final JobId id) { log.debug("getting job: {}", id); final ZooKeeperClient client = provider.get("getJobId"); return getJob(client, id); }
final Job descriptor = getJob(jobId); if (descriptor == null) { throw new JobDoesNotExistException(jobId);
final ZooKeeperClient client = provider.get("getJobStatus"); final Job job = getJob(client, jobId); if (job == null) { return null;
private List<ZooKeeperOperation> getUndeployOperations(final ZooKeeperClient client, final String host, final JobId jobId, final String token) throws HostNotFoundException, JobNotDeployedException, TokenVerificationException { assertHostExists(client, host); final Deployment deployment = getDeployment(host, jobId); if (deployment == null) { throw new JobNotDeployedException(host, jobId); } final Job job = getJob(client, jobId); verifyToken(token, job); final String configHostJobPath = Paths.configHostJob(host, jobId); try { // use listRecursive to remove both job node and its child creation node final List<String> nodes = newArrayList(reverse(client.listRecursive(configHostJobPath))); nodes.add(Paths.configJobHost(jobId, host)); final List<Integer> staticPorts = staticPorts(job); for (int port : staticPorts) { nodes.add(Paths.configHostPort(host, port)); } return ImmutableList.of(delete(nodes)); } catch (NoNodeException e) { // This method is racy since it's possible someone undeployed the job after we called // getDeployment and checked the job exists. If we now discover the job is undeployed, // throw an exception and handle it the same as if we discovered this earlier. throw new JobNotDeployedException(host, jobId); } catch (KeeperException e) { throw new HeliosRuntimeException("calculating undeploy operations failed", e); } }
final Job job = getJob(client, jobId); verifyToken(token, job); final String configHostJobPath = Paths.configHostJob(host, jobId);
assertHostExists(client, host); final JobId id = deployment.getJobId(); final Job job = getJob(id);
.build(); if (getJob(jobId) == null) { throw new JobDoesNotExistException(jobId);
/** * Used to update the existing deployment of a job. */ @Override public void updateDeployment(final String host, final Deployment deployment, final String token) throws HostNotFoundException, JobNotDeployedException, TokenVerificationException { log.info("updating deployment {}: {}", deployment, host); final ZooKeeperClient client = provider.get("updateDeployment"); final JobId jobId = deployment.getJobId(); final Job job = getJob(client, jobId); final Deployment existingDeployment = getDeployment(host, jobId); if (job == null) { throw new JobNotDeployedException(host, jobId); } verifyToken(token, job); assertHostExists(client, host); assertTaskExists(client, host, deployment.getJobId()); final String path = Paths.configHostJob(host, jobId); final Task task = new Task(job, deployment.getGoal(), existingDeployment.getDeployerUser(), existingDeployment.getDeployerMaster(), existingDeployment.getDeploymentGroupName()); try { client.setData(path, task.toJsonBytes()); } catch (Exception e) { throw new HeliosRuntimeException("updating deployment " + deployment + " on host " + host + " failed", e); } }
final Job job = getJob(id);