test_class.declarator: program
test_class.modifier: private
test_class.original_string: private PackagedProgram program;
test_class.type: PackagedProgram
test_class.var_name: program
test_class.declarator: config
test_class.modifier: private
test_class.original_string: private Configuration config;
test_class.type: Configuration
test_class.var_name: config
test_class.declarator: jobManagerSystem
test_class.modifier: private
test_class.original_string: private ActorSystem jobManagerSystem;
test_class.type: ActorSystem
test_class.var_name: jobManagerSystem
test_class.declarator: ACCUMULATOR_NAME = "test_accumulator"
test_class.modifier: private static final
test_class.original_string: private static final String ACCUMULATOR_NAME = "test_accumulator";
test_class.type: String
test_class.var_name: ACCUMULATOR_NAME
test_class.declarator: FAIL_MESSAGE = "Invalid program should have thrown ProgramInvocationException."
test_class.modifier: private static final
test_class.original_string: private static final String FAIL_MESSAGE = "Invalid program should have thrown ProgramInvocationException.";
test_class.type: String
test_class.var_name: FAIL_MESSAGE
test_class.file: flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java
test_class.identifier: ClientTest
test_case.body: @Test
  	public void testDetachedMode() throws Exception{
  		jobManagerSystem.actorOf(Props.create(SuccessReturningActor.class), JobManager.JOB_MANAGER_NAME());
  		Client out = new Client(config);
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestExecuteTwice.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.EXECUTE_TWICE_MESSAGE,
  					e.getCause().getMessage());
  		}
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestEager.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.JOB_RESULT_MESSAGE + DetachedJobExecutionResult.EAGER_FUNCTION_MESSAGE,
  					e.getCause().getMessage());
  		}
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestGetRuntime.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.JOB_RESULT_MESSAGE,
  					e.getCause().getMessage());
  		}
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestGetJobID.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.JOB_RESULT_MESSAGE,
  					e.getCause().getMessage());
  		}
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestGetAccumulator.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.JOB_RESULT_MESSAGE + DetachedJobExecutionResult.EAGER_FUNCTION_MESSAGE,
  					e.getCause().getMessage());
  		}
  
  		try {
  			PackagedProgram prg = new PackagedProgram(TestGetAllAccumulator.class);
  			out.runDetached(prg, 1);
  			fail(FAIL_MESSAGE);
  		} catch (ProgramInvocationException e) {
  			assertEquals(
  					DetachedJobExecutionResult.DETACHED_MESSAGE + DetachedJobExecutionResult.JOB_RESULT_MESSAGE,
  					e.getCause().getMessage());
  		}
  	}
test_case.class_method_signature: ClientTest.testDetachedMode()
test_case.full_signature: @Test public void testDetachedMode()
test_case.identifier: testDetachedMode
test_case.invocations: actorOf create JOB_MANAGER_NAME runDetached fail assertEquals getMessage getCause runDetached fail assertEquals getMessage getCause runDetached fail assertEquals getMessage getCause runDetached fail assertEquals getMessage getCause runDetached fail assertEquals getMessage getCause runDetached fail assertEquals getMessage getCause
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDetachedMode()
focal_class.declarator: LOG = LoggerFactory.getLogger(Client.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(Client.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: compiler
focal_class.modifier: final
focal_class.original_string: final Optimizer compiler;
focal_class.type: Optimizer
focal_class.var_name: compiler
focal_class.declarator: actorSystem
focal_class.modifier: private final
focal_class.original_string: private final ActorSystem actorSystem;
focal_class.type: ActorSystem
focal_class.var_name: actorSystem
focal_class.declarator: config
focal_class.modifier: private final
focal_class.original_string: private final Configuration config;
focal_class.type: Configuration
focal_class.var_name: config
focal_class.declarator: timeout
focal_class.modifier: private final
focal_class.original_string: private final FiniteDuration timeout;
focal_class.type: FiniteDuration
focal_class.var_name: timeout
focal_class.declarator: lookupTimeout
focal_class.modifier: private final
focal_class.original_string: private final FiniteDuration lookupTimeout;
focal_class.type: FiniteDuration
focal_class.var_name: lookupTimeout
focal_class.declarator: maxSlots
focal_class.modifier: private final
focal_class.original_string: private final int maxSlots;
focal_class.type: int
focal_class.var_name: maxSlots
focal_class.declarator: printStatusDuringExecution = true
focal_class.modifier: private
focal_class.original_string: private boolean printStatusDuringExecution = true;
focal_class.type: boolean
focal_class.var_name: printStatusDuringExecution
focal_class.declarator: lastJobID
focal_class.modifier: private
focal_class.original_string: private JobID lastJobID;
focal_class.type: JobID
focal_class.var_name: lastJobID
focal_class.file: flink-clients/src/main/java/org/apache/flink/client/program/Client.java
focal_class.identifier: Client
focal_class.class_method_signature: Client.Client(Configuration config)
focal_class.full_signature: public  Client(Configuration config)
focal_class.identifier: Client
focal_class.modifiers: public
focal_class.parameters: (Configuration config)
focal_class.signature:  Client(Configuration config)
focal_class.class_method_signature: Client.Client(Configuration config, int maxSlots)
focal_class.full_signature: public  Client(Configuration config, int maxSlots)
focal_class.identifier: Client
focal_class.modifiers: public
focal_class.parameters: (Configuration config, int maxSlots)
focal_class.signature:  Client(Configuration config, int maxSlots)
focal_class.class_method_signature: Client.shutdown()
focal_class.full_signature: public void shutdown()
focal_class.identifier: shutdown
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutdown()
focal_class.class_method_signature: Client.setPrintStatusDuringExecution(boolean print)
focal_class.full_signature: public void setPrintStatusDuringExecution(boolean print)
focal_class.identifier: setPrintStatusDuringExecution
focal_class.modifiers: public
focal_class.parameters: (boolean print)
focal_class.return: void
focal_class.signature: void setPrintStatusDuringExecution(boolean print)
focal_class.class_method_signature: Client.getPrintStatusDuringExecution()
focal_class.full_signature: public boolean getPrintStatusDuringExecution()
focal_class.identifier: getPrintStatusDuringExecution
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean getPrintStatusDuringExecution()
focal_class.class_method_signature: Client.getMaxSlots()
focal_class.full_signature: public int getMaxSlots()
focal_class.identifier: getMaxSlots
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getMaxSlots()
focal_class.class_method_signature: Client.getOptimizedPlanAsJson(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.full_signature: public static String getOptimizedPlanAsJson(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.identifier: getOptimizedPlanAsJson
focal_class.modifiers: public static
focal_class.parameters: (Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.return: String
focal_class.signature: String getOptimizedPlanAsJson(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.class_method_signature: Client.getOptimizedPlan(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.full_signature: public static FlinkPlan getOptimizedPlan(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.identifier: getOptimizedPlan
focal_class.modifiers: public static
focal_class.parameters: (Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.return: FlinkPlan
focal_class.signature: FlinkPlan getOptimizedPlan(Optimizer compiler, PackagedProgram prog, int parallelism)
focal_class.class_method_signature: Client.getOptimizedPlan(Optimizer compiler, Plan p, int parallelism)
focal_class.full_signature: public static OptimizedPlan getOptimizedPlan(Optimizer compiler, Plan p, int parallelism)
focal_class.identifier: getOptimizedPlan
focal_class.modifiers: public static
focal_class.parameters: (Optimizer compiler, Plan p, int parallelism)
focal_class.return: OptimizedPlan
focal_class.signature: OptimizedPlan getOptimizedPlan(Optimizer compiler, Plan p, int parallelism)
focal_class.class_method_signature: Client.runBlocking(PackagedProgram prog, int parallelism)
focal_class.full_signature: public JobSubmissionResult runBlocking(PackagedProgram prog, int parallelism)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (PackagedProgram prog, int parallelism)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runBlocking(PackagedProgram prog, int parallelism)
focal_class.class_method_signature: Client.runDetached(PackagedProgram prog, int parallelism)
focal_class.full_signature: public JobSubmissionResult runDetached(PackagedProgram prog, int parallelism)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (PackagedProgram prog, int parallelism)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(PackagedProgram prog, int parallelism)
focal_class.class_method_signature: Client.runBlocking(JobWithJars program, int parallelism)
focal_class.full_signature: public JobExecutionResult runBlocking(JobWithJars program, int parallelism)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (JobWithJars program, int parallelism)
focal_class.return: JobExecutionResult
focal_class.signature: JobExecutionResult runBlocking(JobWithJars program, int parallelism)
focal_class.class_method_signature: Client.runBlocking(JobWithJars program, int parallelism, String savepointPath)
focal_class.full_signature: public JobExecutionResult runBlocking(JobWithJars program, int parallelism, String savepointPath)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (JobWithJars program, int parallelism, String savepointPath)
focal_class.return: JobExecutionResult
focal_class.signature: JobExecutionResult runBlocking(JobWithJars program, int parallelism, String savepointPath)
focal_class.class_method_signature: Client.runDetached(JobWithJars program, int parallelism)
focal_class.full_signature: public JobSubmissionResult runDetached(JobWithJars program, int parallelism)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (JobWithJars program, int parallelism)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(JobWithJars program, int parallelism)
focal_class.class_method_signature: Client.runDetached(JobWithJars program, int parallelism, String savepointPath)
focal_class.full_signature: public JobSubmissionResult runDetached(JobWithJars program, int parallelism, String savepointPath)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (JobWithJars program, int parallelism, String savepointPath)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(JobWithJars program, int parallelism, String savepointPath)
focal_class.class_method_signature: Client.runBlocking(
  			FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.full_signature: public JobExecutionResult runBlocking(
  			FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (
  			FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.return: JobExecutionResult
focal_class.signature: JobExecutionResult runBlocking(
  			FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.class_method_signature: Client.runBlocking(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.full_signature: public JobExecutionResult runBlocking(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.return: JobExecutionResult
focal_class.signature: JobExecutionResult runBlocking(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.class_method_signature: Client.runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.full_signature: public JobSubmissionResult runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths, ClassLoader classLoader)
focal_class.class_method_signature: Client.runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.full_signature: public JobSubmissionResult runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(FlinkPlan compiledPlan, List<URL> libraries, List<URL> classpaths,
  			ClassLoader classLoader, String savepointPath)
focal_class.class_method_signature: Client.runBlocking(JobGraph jobGraph, ClassLoader classLoader)
focal_class.full_signature: public JobExecutionResult runBlocking(JobGraph jobGraph, ClassLoader classLoader)
focal_class.identifier: runBlocking
focal_class.modifiers: public
focal_class.parameters: (JobGraph jobGraph, ClassLoader classLoader)
focal_class.return: JobExecutionResult
focal_class.signature: JobExecutionResult runBlocking(JobGraph jobGraph, ClassLoader classLoader)
focal_class.class_method_signature: Client.runDetached(JobGraph jobGraph, ClassLoader classLoader)
focal_class.full_signature: public JobSubmissionResult runDetached(JobGraph jobGraph, ClassLoader classLoader)
focal_class.identifier: runDetached
focal_class.modifiers: public
focal_class.parameters: (JobGraph jobGraph, ClassLoader classLoader)
focal_class.return: JobSubmissionResult
focal_class.signature: JobSubmissionResult runDetached(JobGraph jobGraph, ClassLoader classLoader)
focal_class.class_method_signature: Client.cancel(JobID jobId)
focal_class.full_signature: public void cancel(JobID jobId)
focal_class.identifier: cancel
focal_class.modifiers: public
focal_class.parameters: (JobID jobId)
focal_class.return: void
focal_class.signature: void cancel(JobID jobId)
focal_class.class_method_signature: Client.stop(final JobID jobId)
focal_class.full_signature: public void stop(final JobID jobId)
focal_class.identifier: stop
focal_class.modifiers: public
focal_class.parameters: (final JobID jobId)
focal_class.return: void
focal_class.signature: void stop(final JobID jobId)
focal_class.class_method_signature: Client.getAccumulators(JobID jobID)
focal_class.full_signature: public Map<String, Object> getAccumulators(JobID jobID)
focal_class.identifier: getAccumulators
focal_class.modifiers: public
focal_class.parameters: (JobID jobID)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> getAccumulators(JobID jobID)
focal_class.class_method_signature: Client.getAccumulators(JobID jobID, ClassLoader loader)
focal_class.full_signature: public Map<String, Object> getAccumulators(JobID jobID, ClassLoader loader)
focal_class.identifier: getAccumulators
focal_class.modifiers: public
focal_class.parameters: (JobID jobID, ClassLoader loader)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> getAccumulators(JobID jobID, ClassLoader loader)
focal_class.class_method_signature: Client.endSession(JobID jobId)
focal_class.full_signature: public void endSession(JobID jobId)
focal_class.identifier: endSession
focal_class.modifiers: public
focal_class.parameters: (JobID jobId)
focal_class.return: void
focal_class.signature: void endSession(JobID jobId)
focal_class.class_method_signature: Client.endSessions(List<JobID> jobIds)
focal_class.full_signature: public void endSessions(List<JobID> jobIds)
focal_class.identifier: endSessions
focal_class.modifiers: public
focal_class.parameters: (List<JobID> jobIds)
focal_class.return: void
focal_class.signature: void endSessions(List<JobID> jobIds)
focal_class.class_method_signature: Client.getOptimizedPlan(Optimizer compiler, JobWithJars prog, int parallelism)
focal_class.full_signature: private static OptimizedPlan getOptimizedPlan(Optimizer compiler, JobWithJars prog, int parallelism)
focal_class.identifier: getOptimizedPlan
focal_class.modifiers: private static
focal_class.parameters: (Optimizer compiler, JobWithJars prog, int parallelism)
focal_class.return: OptimizedPlan
focal_class.signature: OptimizedPlan getOptimizedPlan(Optimizer compiler, JobWithJars prog, int parallelism)
focal_class.class_method_signature: Client.getJobGraph(PackagedProgram prog, FlinkPlan optPlan)
focal_class.full_signature: public JobGraph getJobGraph(PackagedProgram prog, FlinkPlan optPlan)
focal_class.identifier: getJobGraph
focal_class.modifiers: public
focal_class.parameters: (PackagedProgram prog, FlinkPlan optPlan)
focal_class.return: JobGraph
focal_class.signature: JobGraph getJobGraph(PackagedProgram prog, FlinkPlan optPlan)
focal_class.class_method_signature: Client.getJobGraph(PackagedProgram prog, FlinkPlan optPlan, String savepointPath)
focal_class.full_signature: public JobGraph getJobGraph(PackagedProgram prog, FlinkPlan optPlan, String savepointPath)
focal_class.identifier: getJobGraph
focal_class.modifiers: public
focal_class.parameters: (PackagedProgram prog, FlinkPlan optPlan, String savepointPath)
focal_class.return: JobGraph
focal_class.signature: JobGraph getJobGraph(PackagedProgram prog, FlinkPlan optPlan, String savepointPath)
focal_class.class_method_signature: Client.getJobGraph(FlinkPlan optPlan, List<URL> jarFiles, List<URL> classpaths, String savepointPath)
focal_class.full_signature: private JobGraph getJobGraph(FlinkPlan optPlan, List<URL> jarFiles, List<URL> classpaths, String savepointPath)
focal_class.identifier: getJobGraph
focal_class.modifiers: private
focal_class.parameters: (FlinkPlan optPlan, List<URL> jarFiles, List<URL> classpaths, String savepointPath)
focal_class.return: JobGraph
focal_class.signature: JobGraph getJobGraph(FlinkPlan optPlan, List<URL> jarFiles, List<URL> classpaths, String savepointPath)
focal_class.class_method_signature: Client.getJobManagerGateway()
focal_class.full_signature: private ActorGateway getJobManagerGateway()
focal_class.identifier: getJobManagerGateway
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ActorGateway
focal_class.signature: ActorGateway getJobManagerGateway()
focal_method.body: public JobSubmissionResult runDetached(PackagedProgram prog, int parallelism)
  			throws ProgramInvocationException
  	{
  		Thread.currentThread().setContextClassLoader(prog.getUserCodeClassLoader());
  		if (prog.isUsingProgramEntryPoint()) {
  			return runDetached(prog.getPlanWithJars(), parallelism, prog.getSavepointPath());
  		}
  		else if (prog.isUsingInteractiveMode()) {
  			LOG.info("Starting program in interactive mode");
  			ContextEnvironmentFactory factory = new ContextEnvironmentFactory(this, prog.getAllLibraries(),
  					prog.getClasspaths(), prog.getUserCodeClassLoader(), parallelism, false,
  					prog.getSavepointPath());
  			ContextEnvironment.setAsContext(factory);
  
  			// invoke here
  			try {
  				prog.invokeInteractiveModeForExecution();
  				return ((DetachedEnvironment) factory.getLastEnvCreated()).finalizeExecute();
  			}
  			finally {
  				ContextEnvironment.unsetContext();
  			}
  		}
  		else {
  			throw new RuntimeException("PackagedProgram does not have a valid invocation mode.");
  		}
  	}
focal_method.class_method_signature: Client.runDetached(PackagedProgram prog, int parallelism)
focal_method.full_signature: public JobSubmissionResult runDetached(PackagedProgram prog, int parallelism)
focal_method.identifier: runDetached
focal_method.invocations: setContextClassLoader currentThread getUserCodeClassLoader isUsingProgramEntryPoint runDetached getPlanWithJars getSavepointPath isUsingInteractiveMode info getAllLibraries getClasspaths getUserCodeClassLoader getSavepointPath setAsContext invokeInteractiveModeForExecution finalizeExecute getLastEnvCreated unsetContext
focal_method.modifiers: public
focal_method.parameters: (PackagedProgram prog, int parallelism)
focal_method.return: JobSubmissionResult
focal_method.signature: JobSubmissionResult runDetached(PackagedProgram prog, int parallelism)