Module stream

Source

ModulesΒ§

scale πŸ”’
sink πŸ”’
source_manager πŸ”’
state_match
This module contains the logic for matching the internal state tables of two streaming jobs, used for replacing a streaming job (typically ALTER MV) while preserving the existing state.
stream_graph πŸ”’
stream_manager πŸ”’
test_scale πŸ”’

StructsΒ§

ActorGraphBuildResult
The result of a built actor graph. Will be further embedded into the Context for building actors on the compute nodes.
ActorGraphBuilder
ActorGraphBuilder builds the actor graph for the given complete fragment graph, based on the current cluster info and the required parallelism.
Assigner
Core assigner with configurable strategies.
AssignerBuilder
Builder for Assigner.
CompleteStreamFragmentGraph
A wrapper of StreamFragmentGraph that contains the additional information of pre-existing fragments, which are connected to the graph’s top-most or bottom-most fragments.
CreateStreamingJobContext
CreateStreamingJobContext carries one-time infos for creating a streaming job.
CreateStreamingJobOption
CustomActorInfo
CustomFragmentInfo
GlobalStreamManager
GlobalStreamManager manages all the streams in the system.
JobReschedulePlan
JobReschedulePolicy
JobReschedulePostUpdates
JobRescheduleTarget
Locations
Locations represents the locations of the actors.
ReplaceStreamJobContext
ReplaceStreamJobContext carries one-time infos for replacing the plan of an existing stream job.
RescheduleContext
RescheduleOptions
ScaleController
ScaleFactor
A validated, non-negative, finite scale factor.
SourceManager
SourceManager keeps fetching the latest split metadata from the external source services (worker::ConnectorSourceWorker::tick), and sends a split assignment command if split changes detected (Self::tick).
SourceManagerCore
SourceManagerRunningInfo
StreamFragmentGraph
In-memory representation of a Fragment Graph, built from the [StreamFragmentGraphProto] from the frontend.
WorkerReschedule

EnumsΒ§

BalancedBy
Defines the vnode distribution strategy for hierarchical assignment.
CapacityMode
Defines the capacity assignment strategy for containers.
CreatingState
JobParallelismTarget
JobResourceGroupTarget
SourceChange
VnodeChunkingStrategy
Defines the VNode chunking strategy for assignment.

FunctionsΒ§

assign_hierarchical
Hierarchically distributes virtual nodes to actors in two weighted stages with deterministic tie-breaking.
assign_items_weighted_with_scale_fn
Assign items to weighted containers with optional capacity scaling and deterministic tie-breaking.
build_actor_connector_splits
build_actor_split_impls
create_source_worker
Used to create a new ConnectorSourceWorkerHandle for a new source.
fill_snapshot_backfill_epoch
Fill snapshot epoch for StreamScanNode of SnapshotBackfill. Return true when has change applied.
rebalance_actor_vnode
This function provides an simple balancing method The specific process is as follows
unbounded_scale
A no-op capacity scaling function: always returns None.
validate_sink
weighted_scale
A unit capacity scaling function: always returns Some(1.0).

Type AliasesΒ§

ConnectorPropsChange
FragmentBackfillOrder
Adjacency list (G) of backfill orders. G[10] -> [1, 2, 11] means for the backfill node in fragment 10 should be backfilled before the backfill nodes in fragment 1, 2 and 11.
GlobalStreamManagerRef
ScaleControllerRef
SourceManagerRef
SplitAssignment
ThrottleConfig