@Override public void setInstances(int instances) { Preconditions.checkArgument(instances > 0, "Instance count should be > 0."); try { appFabricClient.setWorkerInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram(), instances); } catch (Exception e) { throw Throwables.propagate(e); } }
@Override public void setInstances(int instances) { Preconditions.checkArgument(instances > 0, "Instance count should be > 0."); try { appFabricClient.setServiceInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram(), instances); } catch (Exception e) { throw Throwables.propagate(e); } }
@Override public void setInstances(int instances) { Preconditions.checkArgument(instances > 0, "Instance count should be > 0."); try { appFabricClient.setWorkerInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram(), instances); } catch (Exception e) { throw Throwables.propagate(e); } }
@Override public void setFlowletInstances(String flowletName, int instances) { Preconditions.checkArgument(instances > 0, "Instance counter should be > 0."); try { appFabricClient.setFlowletInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram(), flowletName, instances); } catch (Exception e) { throw Throwables.propagate(e); } }
private ServiceInstances getInstances() { try { return appFabricClient.getServiceInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram()); } catch (Exception e) { throw Throwables.propagate(e); } }
private static Map<String, String> getMetricsContext(ProgramType type, ProgramId programId) { return ImmutableMap.of(Constants.Metrics.Tag.NAMESPACE, programId.getNamespace(), Constants.Metrics.Tag.APP, programId.getApplication(), ProgramTypeMetricTag.getTagName(type), programId.getProgram()); }
private static ServiceSpecification getServiceSpecOrFail(ProgramId id, ApplicationSpecification appSpec) { ServiceSpecification spec = appSpec.getServices().get(id.getProgram()); if (spec == null) { throw new NoSuchElementException("no such service @ namespace id: " + id.getNamespace() + ", app id: " + id.getApplication() + ", service id: " + id.getProgram()); } return spec; }
/** * Returns the Twill app name to be used for a Twill app launched for a given program. */ public static String toTwillAppName(ProgramId programId) { return String.format("%s.%s.%s.%s", programId.getType().name().toLowerCase(), programId.getNamespace(), programId.getApplication(), programId.getProgram()); }
public static String programIdFor(ProgramId program, SchedulableProgramType programType) { return String.format("%s:%s:%s:%s:%s", program.getNamespace(), program.getApplication(), program.getVersion(), programType.name(), program.getProgram()); } }
@Override public RuntimeMetrics getMetrics() { return metricsManager.getServiceMetrics(programId.getNamespace(), programId.getApplication(), programId.getProgram()); } }
@Override public int getInstances() { try { return appFabricClient.getWorkerInstances(programId.getNamespace(), programId.getApplication(), programId.getProgram()).getInstances(); } catch (Exception e) { throw Throwables.propagate(e); } } }
private String getJobName(BasicMapReduceContext context) { ProgramId programId = context.getProgram().getId(); // MRJobClient expects the following format (for RunId to be the first component) return String.format("%s.%s.%s.%s.%s", context.getRunId().getId(), ProgramType.MAPREDUCE.name().toLowerCase(), programId.getNamespace(), programId.getApplication(), programId.getProgram()); }
private String getServiceName() { ProgramId programId = getProgramRunId().getParent(); RunId runId = getRunId(); return String.format("workflow.%s.%s.%s.%s", programId.getNamespace(), programId.getApplication(), programId.getProgram(), runId.getId()); } }
private LoggingContext createLoggingContext(ProgramId programId, RunId runId, @Nullable WorkflowProgramInfo workflowProgramInfo) { if (workflowProgramInfo == null) { return new SparkLoggingContext(programId.getNamespace(), programId.getApplication(), programId.getProgram(), runId.getId()); } ProgramId workflowProramId = Ids.namespace(programId.getNamespace()).app(programId.getApplication()) .workflow(workflowProgramInfo.getName()); return new WorkflowProgramLoggingContext(workflowProramId.getNamespace(), workflowProramId.getApplication(), workflowProramId.getProgram(), workflowProgramInfo.getRunId().getId(), ProgramType.SPARK, programId.getProgram(), runId.getId()); }
/** * Creates a {@link ProgramRunId} of this program id with the given run id. */ public ProgramRunId run(String run) { return new ProgramRunId(new ApplicationId(getNamespace(), getApplication(), getVersion()), type, program, run); }
/** * Tries to start the given program with the given runtime arguments and expect the call completed with the status. */ protected void startProgram(ProgramId program, Map<String, String> args, int expectedStatusCode) throws Exception { String path = String.format("apps/%s/versions/%s/%s/%s/start", program.getApplication(), program.getVersion(), program.getType().getCategoryName(), program.getProgram()); startProgram(path, program.getNamespace(), args, expectedStatusCode); }
private void addProgram(MDSKey.Builder keyBuilder, ProgramId program) { keyBuilder.add(PROGRAM_MARKER) .add(program.getNamespace()) .add(program.getParent().getEntityName()) .add(program.getType().getCategoryName()) .add(program.getEntityName()); }
public List<RunRecord> getHistory(ProgramId programId, ProgramRunStatus status) throws Exception { String namespace = programId.getNamespace(); String application = programId.getApplication(); String applicationVersion = programId.getVersion(); String programName = programId.getProgram(); String categoryName = programId.getType().getCategoryName(); return doGetHistory(namespace, application, applicationVersion, programName, categoryName, status); }
protected List<RunRecord> getProgramRuns(ProgramId program, ProgramRunStatus status) throws Exception { String path = String.format("apps/%s/versions/%s/%s/%s/runs?status=%s", program.getApplication(), program.getVersion(), program.getType().getCategoryName(), program.getProgram(), status.toString()); HttpResponse response = doGet(getVersionedAPIPath(path, program.getNamespace())); Assert.assertEquals(200, response.getResponseCode()); return GSON.fromJson(response.getResponseBodyAsString(), LIST_RUNRECORD_TYPE); }
private void testVersionedProgramRuntimeArgs(ProgramId programId) throws Exception { String versionedRuntimeArgsUrl = getVersionedAPIPath("apps/" + programId.getApplication() + "/versions/" + programId.getVersion() + "/" + programId.getType().getCategoryName() + "/" + programId.getProgram() + "/runtimeargs", Constants.Gateway.API_VERSION_3_TOKEN, programId.getNamespace()); verifyRuntimeArgs(versionedRuntimeArgsUrl); }