@Alpha public class MultiHopFlowCompiler extends BaseFlowToJobSpecCompiler
Spec ie flow and compile corresponding materialized job Spec
and its mapping to SpecExecutor.SpecCatalogListener.AddSpecCallback, SpecCatalogListener.DeleteSpecCallback, SpecCatalogListener.UpdateSpecCallbackactive, config, dataAuthorizationTimer, flowCompilationFailedMeter, flowCompilationSuccessFulMeter, flowCompilationTimer, log, metricContext, templateCatalog, topologySpecMap| Constructor and Description |
|---|
MultiHopFlowCompiler(com.typesafe.config.Config config) |
MultiHopFlowCompiler(com.typesafe.config.Config config,
boolean instrumentationEnabled) |
MultiHopFlowCompiler(com.typesafe.config.Config config,
com.google.common.base.Optional<org.slf4j.Logger> log) |
MultiHopFlowCompiler(com.typesafe.config.Config config,
com.google.common.base.Optional<org.slf4j.Logger> log,
boolean instrumentationEnabled) |
| Modifier and Type | Method and Description |
|---|---|
void |
awaitHealthy()
Waits for the
SpecCompiler to become healthy. |
Dag<JobExecutionPlan> |
compileFlow(Spec spec)
j
|
void |
setActive(boolean active)
Mark the
SpecCompiler as active. |
generateTags, getMetricContext, getTopologySpecMap, isInstrumentationEnabled, jobSpecGenerator, jobSpecTemplateURIGenerator, jobSpecURIGenerator, onAddSpec, onDeleteSpec, onDeleteSpec, onUpdateSpec, switchMetricContext, switchMetricContextclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamepublic MultiHopFlowCompiler(com.typesafe.config.Config config)
public MultiHopFlowCompiler(com.typesafe.config.Config config,
boolean instrumentationEnabled)
public MultiHopFlowCompiler(com.typesafe.config.Config config,
com.google.common.base.Optional<org.slf4j.Logger> log)
public MultiHopFlowCompiler(com.typesafe.config.Config config,
com.google.common.base.Optional<org.slf4j.Logger> log,
boolean instrumentationEnabled)
public void setActive(boolean active)
SpecCompiler as active. This in turn activates the GitFlowGraphMonitor, allowing to start polling
and processing changesactive - public void awaitHealthy()
throws InterruptedException
SpecCompilerSpecCompiler to become healthy. A SpecCompiler is healthy when all the component
services it depends on have been successfully initialized. For instance, the MultiHopFlowCompiler is healthy
when the DataNodes and FlowEdges
can be added to the FlowGraph. The FlowEdge
instantiation in turn depends on the successful initialization of TopologyCatalog, which
instantiates all the configured SpecExecutors.awaitHealthy in interface SpecCompilerawaitHealthy in class BaseFlowToJobSpecCompilerInterruptedExceptionpublic Dag<JobExecutionPlan> compileFlow(Spec spec)
compileFlow in interface SpecCompilercompileFlow in class BaseFlowToJobSpecCompilerspec - an instance of FlowSpec.JobExecutionPlans, which encapsulates the compiled JobSpecs
together with the SpecExecutor where the job can be executed.