pub struct StreamFragmentGraph {
pub fragments: HashMap<u32, StreamFragment>,
pub edges: Vec<StreamFragmentEdge>,
pub dependent_table_ids: Vec<u32>,
pub table_ids_cnt: u32,
pub ctx: Option<StreamContext>,
pub parallelism: Option<Parallelism>,
pub max_parallelism: u32,
}
Expand description
Representation of a graph of stream fragments. Generated by the fragmenter in the frontend, only used in DDL requests and never persisted.
For the persisted form, see TableFragments
.
Fields§
§fragments: HashMap<u32, StreamFragment>
all the fragments in the graph.
edges: Vec<StreamFragmentEdge>
edges between fragments.
dependent_table_ids: Vec<u32>
§table_ids_cnt: u32
§ctx: Option<StreamContext>
§parallelism: Option<Parallelism>
If none, default parallelism will be applied.
max_parallelism: u32
Specified max parallelism, i.e., expected vnode count for the graph.
The scheduler on the meta service will use this as a hint to decide the vnode count for each fragment.
Note that the actual vnode count may be different from this value. For example, a no-shuffle exchange between current fragment graph and an existing upstream fragment graph requires two fragments to be in the same distribution, thus the same vnode count.
Implementations§
source§impl StreamFragmentGraph
impl StreamFragmentGraph
pub fn get_fragments(&self) -> &HashMap<u32, StreamFragment>
pub fn get_edges(&self) -> &Vec<StreamFragmentEdge>
pub fn get_dependent_table_ids(&self) -> &Vec<u32>
pub fn get_table_ids_cnt(&self) -> u32
pub fn get_ctx(&self) -> Result<&StreamContext, PbFieldNotFound>
pub fn get_parallelism(&self) -> Result<&Parallelism, PbFieldNotFound>
pub fn get_max_parallelism(&self) -> u32
Trait Implementations§
source§impl Clone for StreamFragmentGraph
impl Clone for StreamFragmentGraph
source§fn clone(&self) -> StreamFragmentGraph
fn clone(&self) -> StreamFragmentGraph
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for StreamFragmentGraph
impl Debug for StreamFragmentGraph
source§impl Default for StreamFragmentGraph
impl Default for StreamFragmentGraph
source§impl<'de> Deserialize<'de> for StreamFragmentGraph
impl<'de> Deserialize<'de> for StreamFragmentGraph
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Message for StreamFragmentGraph
impl Message for StreamFragmentGraph
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.source§impl PartialEq for StreamFragmentGraph
impl PartialEq for StreamFragmentGraph
source§impl Serialize for StreamFragmentGraph
impl Serialize for StreamFragmentGraph
impl StructuralPartialEq for StreamFragmentGraph
Auto Trait Implementations§
impl Freeze for StreamFragmentGraph
impl RefUnwindSafe for StreamFragmentGraph
impl Send for StreamFragmentGraph
impl Sync for StreamFragmentGraph
impl Unpin for StreamFragmentGraph
impl UnwindSafe for StreamFragmentGraph
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request