Skip to content

GraphExecution

GraphExecution is an abstraction of graph executors that can...FIXME

Contract (Subset)

awaitCompletion

awaitCompletion(): Unit

See:

Used when:

streamTrigger

streamTrigger(
  flow: Flow): Trigger

See:

Used when:

Implementations

Creating Instance

GraphExecution takes the following to be created:

Abstract Class

GraphExecution is an abstract class and cannot be created directly. It is created indirectly for the concrete graph executors.

FlowPlanner

GraphExecution creates a FlowPlanner when created.

This FlowPlanner is created for this DataflowGraph and this PipelineUpdateContext, with a Trigger (that is supposed to be defined by the implementations).

Start

start(): Unit

start requests the session-bound ExecutionListenerManager to remove all QueryExecutionListeners.

In the end, start registers this StreamListener with the session-bound StreamingQueryManager.


start is used when:

planAndStartFlow

planAndStartFlow(
    flow: ResolvedFlow): Option[FlowExecution]

planAndStartFlow...FIXME


planAndStartFlow is used when:

StreamListener

GraphExecution creates a new StreamListener when created.

The StreamListener is created for this PipelineUpdateContext and DataflowGraph.

The StreamListener is registered (added) to the session-bound StreamingQueryManager when started, and deregistered (removed) when stopped.

Stop

stop(): Unit

stop requests this session-bound StreamingQueryManager to remove this StreamListener.


stop is used when: