protected AbstractTwillProgramController(ProgramId programId, TwillController twillController, RunId runId) { super(programId.run(runId)); this.twillController = twillController; }
protected AbstractTwillProgramController(ProgramId programId, TwillController twillController, RunId runId) { super(programId.run(runId)); this.twillController = twillController; }
/** * Creates a {@link ProgramRunId} of this program id with the given {@link RunId}. */ public ProgramRunId run(RunId runId) { return run(runId.getId()); }
/** * Creates a {@link ProgramRunId} of this program id with the given {@link RunId}. */ public ProgramRunId run(RunId runId) { return run(runId.getId()); }
@Nullable @Override public TwillController lookup(String applicationName, RunId runId) { ProgramId programId = TwillAppNames.fromTwillAppName(applicationName, false); if (programId == null) { return null; } return controllers.get(programId.run(runId)); }
@Nullable @Override public TwillController lookup(String applicationName, RunId runId) { ProgramId programId = TwillAppNames.fromTwillAppName(applicationName, false); if (programId == null) { return null; } return controllers.get(programId.run(runId)); }
@Override public void killed() { programStateWriter.killed(programId.run(controller.getRunId())); } }, MoreExecutors.sameThreadExecutor());
@Override public void killed() { programStateWriter.killed(programId.run(controller.getRunId())); } }, MoreExecutors.sameThreadExecutor());
FlowProgramController(Table<String, Integer, ProgramController> flowlets, Program program, ProgramOptions options, FlowSpecification flowSpec, Multimap<String, QueueName> consumerQueues) { super(program.getId().run(ProgramRunners.getRunId(options))); this.flowlets = flowlets; this.program = program; this.options = options; this.flowSpec = flowSpec; this.consumerQueues = consumerQueues; started(); }
public WorkflowToken getWorkflowToken(ProgramId workflowId, String workflowRunId) { Preconditions.checkArgument(ProgramType.WORKFLOW == workflowId.getType()); // Workflow token is stored with following key: // [wft][namespace][app][version][WORKFLOW][workflowName][workflowRun] MDSKey key = getProgramKeyBuilder(TYPE_WORKFLOW_TOKEN, workflowId.run(workflowRunId)).build(); BasicWorkflowToken workflowToken = get(key, BasicWorkflowToken.class); if (workflowToken == null) { LOG.debug("No workflow token available for workflow: {}, runId: {}", workflowId, workflowRunId); // Its ok to not allow any updates by returning a 0 size token. return new BasicWorkflowToken(0); } return workflowToken; }
public WorkflowToken getWorkflowToken(ProgramId workflowId, String workflowRunId) { Preconditions.checkArgument(ProgramType.WORKFLOW == workflowId.getType()); // Workflow token is stored with following key: // [wft][namespace][app][version][WORKFLOW][workflowName][workflowRun] MDSKey key = getProgramKeyBuilder(TYPE_WORKFLOW_TOKEN, workflowId.run(workflowRunId)).build(); BasicWorkflowToken workflowToken = get(key, BasicWorkflowToken.class); if (workflowToken == null) { LOG.debug("No workflow token available for workflow: {}, runId: {}", workflowId, workflowRunId); // Its ok to not allow any updates by returning a 0 size token. return new BasicWorkflowToken(0); } return workflowToken; }
@Override protected <T> T deserialize(MDSKey key, byte[] serialized, Type typeOfT) { if (RunRecordMeta.class.equals(typeOfT)) { RunRecordMeta meta = GSON.fromJson(Bytes.toString(serialized), RunRecordMeta.class); meta = RunRecordMeta.builder(meta) .setProgramRunId(getProgramID(key).run(meta.getPid())) .build(); //noinspection unchecked return (T) meta; } else { return GSON.fromJson(Bytes.toString(serialized), typeOfT); } }
@Override protected <T> T deserialize(MDSKey key, byte[] serialized, Type typeOfT) { if (RunRecordMeta.class.equals(typeOfT)) { RunRecordMeta meta = GSON.fromJson(Bytes.toString(serialized), RunRecordMeta.class); meta = RunRecordMeta.builder(meta) .setProgramRunId(getProgramID(key).run(meta.getPid())) .build(); //noinspection unchecked return (T) meta; } else { return GSON.fromJson(Bytes.toString(serialized), typeOfT); } }
InMemoryProgramController(Table<String, Integer, ProgramController> components, Program program, ProgramOptions options) { super(program.getId().run(ProgramRunners.getRunId(options))); this.program = program; this.components = components; this.options = options; this.liveComponents = new AtomicLong(components.size()); started(); monitorComponents(); }
InMemoryProgramController(Table<String, Integer, ProgramController> components, Program program, ProgramOptions options) { super(program.getId().run(ProgramRunners.getRunId(options))); this.program = program; this.components = components; this.options = options; this.liveComponents = new AtomicLong(components.size()); started(); monitorComponents(); }
private static Injector createInjector(CConfiguration cConf, Configuration hConf) { MapReduceContextConfig mapReduceContextConfig = new MapReduceContextConfig(hConf); // principal will be null if running on a kerberos distributed cluster ProgramOptions programOptions = mapReduceContextConfig.getProgramOptions(); Arguments systemArgs = programOptions.getArguments(); String runId = systemArgs.getOption(ProgramOptionConstants.RUN_ID); return Guice.createInjector( new DistributedProgramContainerModule(cConf, hConf, mapReduceContextConfig.getProgramId().run(runId), systemArgs) ); } }
private static Injector createInjector(CConfiguration cConf, Configuration hConf) { MapReduceContextConfig mapReduceContextConfig = new MapReduceContextConfig(hConf); // principal will be null if running on a kerberos distributed cluster ProgramOptions programOptions = mapReduceContextConfig.getProgramOptions(); Arguments systemArgs = programOptions.getArguments(); String runId = systemArgs.getOption(ProgramOptionConstants.RUN_ID); return Guice.createInjector( new DistributedProgramContainerModule(cConf, hConf, mapReduceContextConfig.getProgramId().run(runId), systemArgs) ); } }
@Test public void testStopBeforeStart() throws RuntimeException { ProgramId programId = new ProgramId("account1", "invalidApp", ProgramType.MAPREDUCE, "InvalidMR"); long now = System.currentTimeMillis(); String pid = RunIds.generate().getId(); store.setStop(programId.run(pid), now, ProgramController.State.ERROR.getRunStatus(), ByteBuffer.allocate(0).array()); Assert.assertNull(store.getRun(programId.run(pid))); }
/** * setup and return mock program properties on runrecord builder but use passed namespaceId and runId */ private RunRecordMeta.Builder getMockRunRecordMeta(NamespaceId namespaceId, RunId runId) { ProgramId programId = namespaceId.app("someapp").program(ProgramType.SERVICE, "s"); RunRecordMeta.Builder runRecordBuilder = RunRecordMeta.builder(); runRecordBuilder.setArtifactId(ARTIFACT_ID); runRecordBuilder.setPrincipal("userA"); runRecordBuilder.setProgramRunId(programId.run(runId)); runRecordBuilder.setSourceId(SOURCE_ID); runRecordBuilder.setStartTime(RunIds.getTime(runId, TimeUnit.SECONDS)); return runRecordBuilder; }
/** * setup and return mock program properties on runrecord builder but use passed namespaceId and runId */ private RunRecordMeta.Builder getMockRunRecordMeta(NamespaceId namespaceId, RunId runId) { ProgramId programId = namespaceId.app("someapp").program(ProgramType.SERVICE, "s"); RunRecordMeta.Builder runRecordBuilder = RunRecordMeta.builder(); runRecordBuilder.setArtifactId(ARTIFACT_ID.toApiArtifactId()); runRecordBuilder.setPrincipal("userA"); runRecordBuilder.setProgramRunId(programId.run(runId)); runRecordBuilder.setSourceId(SOURCE_ID); runRecordBuilder.setStartTime(RunIds.getTime(runId, TimeUnit.SECONDS)); return runRecordBuilder; }