pub struct StreamFragmentGraph {
pub fragments: HashMap<FragmentId, StreamFragment>,
pub edges: Vec<StreamFragmentEdge>,
pub dependent_table_ids: Vec<TableId>,
pub table_ids_cnt: u32,
pub ctx: Option<StreamContext>,
pub parallelism: Option<Parallelism>,
pub backfill_parallelism: Option<Parallelism>,
pub max_parallelism: u32,
pub backfill_order: Option<BackfillOrder>,
}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<FragmentId, StreamFragment>all the fragments in the graph.
edges: Vec<StreamFragmentEdge>edges between fragments.
dependent_table_ids: Vec<TableId>§table_ids_cnt: u32§ctx: Option<StreamContext>§parallelism: Option<Parallelism>If none, default parallelism will be applied.
backfill_parallelism: Option<Parallelism>Parallelism to use during backfill. Falls back to parallelism if unset.
max_parallelism: u32Specified 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.
backfill_order: Option<BackfillOrder>The backfill order strategy for the fragments.
Implementations§
Source§impl StreamFragmentGraph
impl StreamFragmentGraph
pub fn get_fragments(&self) -> &HashMap<FragmentId, StreamFragment>
pub fn get_edges(&self) -> &Vec<StreamFragmentEdge>
pub fn get_dependent_table_ids(&self) -> &Vec<TableId> ⓘ
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_backfill_parallelism(&self) -> Result<&Parallelism, PbFieldNotFound>
pub fn get_max_parallelism(&self) -> u32
pub fn get_backfill_order(&self) -> Result<&BackfillOrder, PbFieldNotFound>
Trait Implementations§
Source§impl Clone for StreamFragmentGraph
impl Clone for StreamFragmentGraph
Source§fn clone(&self) -> StreamFragmentGraph
fn clone(&self) -> StreamFragmentGraph
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
Source§impl Message for StreamFragmentGraph
impl Message for StreamFragmentGraph
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
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,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
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,
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,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
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,
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,
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,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
T in a tonic::Request