Nested message and enum types in AggCallState
.
Nested message and enum types in Barrier
.
Nested message and enum types in BarrierMutation
.
Nested message and enum types in ExpandNode
.
Nested message and enum types in LookupNode
.
Nested message and enum types in NowNode
.
Nested message and enum types in StreamFragmentGraph
.
Nested message and enum types in StreamMessage
.
Nested message and enum types in StreamMessageBatch
.
Nested message and enum types in StreamNode
.
Nested message and enum types in ThrottleMutation
.
Nested message and enum types in UpdateMutation
.
Nested message and enum types in ValuesNode
.
Hash mapping for compute node. Stores mapping from virtual node to actor id.
Special node for shared state, which will only be produced in fragmenter. ArrangeNode will
produce a special Materialize executor, which materializes data for downstream to query.
The executor only for receiving barrier from the meta service. It always resides in the leaves
of the streaming graph.
BatchPlanNode is used for mv on mv snapshot read.
BatchPlanNode is supposed to carry a batch plan that can be optimized with the streaming plan_common.
Currently, streaming to batch push down is not yet supported, BatchPlanNode is simply a table scan.
Delta join with two indexes. This is a pseudo plan node generated on frontend. On meta
service, it will be rewritten into lookup joins.
The property of an edge in the fragment graph.
This is essientially a “logical” version of Dispatcher
. See the doc of Dispatcher
for more details.
A dispatcher redistribute messages.
We encode both the type and other usage information in the proto.
Merges two streams from streaming and batch for data manipulation.
passed from frontend to meta, used by fragmenter to generate MergeNode
and maybe DispatcherNode
later.
Special node for shared state. LookupNode will join an arrangement with a stream.
Special node for shared state. Merge and align barrier from upstreams. Pipe inputs in order.
A materialized view is regarded as a table.
In addition, we also specify primary key to MV for efficient point lookup during update and deletion.
Sorts inputs and outputs ordered data based on watermark.
/ It’s input must be a MergeNode
, which connects to the upstream source job.
/ See StreamSourceScan::adhoc_to_stream_prost
for the plan.
A StreamActor is a running fragment of the overall stream graph,
Config options for CDC backfill
The streaming context associated with a stream plan
Representation of a graph of stream fragments.
Generated by the fragmenter in the frontend, only used in DDL requests and never persisted.
copy contents from StreamSource to prevent compatibility issues in the future
StreamScanNode reads data from upstream table first, and then pass all events to downstream.
It always these 2 inputs in the following order:
Acts like a merger, but on different inputs.
WatermarkFilter needs to filter the upstream data by the water mark.