pub struct MetaConfig {Show 60 fields
pub min_sst_retention_time_sec: u64,
pub full_gc_interval_sec: u64,
pub full_gc_object_limit: u64,
pub gc_history_retention_time_sec: u64,
pub max_inflight_time_travel_query: u64,
pub periodic_compaction_interval_sec: u64,
pub vacuum_interval_sec: u64,
pub vacuum_spin_interval_ms: u64,
pub iceberg_gc_interval_sec: u64,
pub hummock_version_checkpoint_interval_sec: u64,
pub enable_hummock_data_archive: bool,
pub hummock_time_travel_snapshot_interval: u64,
pub min_delta_log_num_for_hummock_version_checkpoint: u64,
pub max_heartbeat_interval_secs: u32,
pub disable_recovery: bool,
pub disable_automatic_parallelism_control: bool,
pub parallelism_control_batch_size: usize,
pub parallelism_control_trigger_period_sec: u64,
pub parallelism_control_trigger_first_delay_sec: u64,
pub meta_leader_lease_secs: u64,
pub dangerous_max_idle_secs: Option<u64>,
pub default_parallelism: DefaultParallelism,
pub enable_compaction_deterministic: bool,
pub enable_committed_sst_sanity_check: bool,
pub node_num_monitor_interval_sec: u64,
pub backend: MetaBackend,
pub periodic_space_reclaim_compaction_interval_sec: u64,
pub periodic_ttl_reclaim_compaction_interval_sec: u64,
pub periodic_tombstone_reclaim_compaction_interval_sec: u64,
pub move_table_size_limit: u64,
pub split_group_size_limit: u64,
pub cut_table_size_limit: u64,
pub protect_drop_table_with_incoming_sink: bool,
pub unrecognized: Unrecognized<Self>,
pub do_not_config_object_storage_lifecycle: bool,
pub partition_vnode_count: u32,
pub table_high_write_throughput_threshold: u64,
pub table_low_write_throughput_threshold: u64,
pub compaction_task_max_heartbeat_interval_secs: u64,
pub compaction_task_max_progress_interval_secs: u64,
pub compaction_config: CompactionConfig,
pub hybrid_partition_vnode_count: u32,
pub event_log_enabled: bool,
pub event_log_channel_max_size: u32,
pub developer: MetaDeveloperConfig,
pub enable_dropped_column_reclaim: bool,
pub split_group_size_ratio: f64,
pub table_stat_high_write_throughput_ratio_for_split: f64,
pub table_stat_low_write_throughput_ratio_for_merge: f64,
pub table_stat_throuput_window_seconds_for_split: usize,
pub table_stat_throuput_window_seconds_for_merge: usize,
pub compact_task_table_size_partition_threshold_low: u64,
pub compact_task_table_size_partition_threshold_high: u64,
pub periodic_scheduling_compaction_group_split_interval_sec: u64,
pub periodic_scheduling_compaction_group_merge_interval_sec: u64,
pub compaction_group_merge_dimension_threshold: f64,
pub cdc_table_split_init_sleep_interval_splits: u64,
pub cdc_table_split_init_sleep_duration_millis: u64,
pub cdc_table_split_init_insert_batch_size: u64,
pub meta_store_config: MetaStoreConfig,
}Expand description
The section [meta] in risingwave.toml.
Fields§
§min_sst_retention_time_sec: u64Objects within min_sst_retention_time_sec won’t be deleted by hummock full GC, even they
are dangling.
full_gc_interval_sec: u64Interval of automatic hummock full GC.
full_gc_object_limit: u64Max number of object per full GC job can fetch.
gc_history_retention_time_sec: u64Duration in seconds to retain garbage collection history data.
max_inflight_time_travel_query: u64Max number of inflight time travel query.
periodic_compaction_interval_sec: u64Schedule compaction for all compaction groups with this interval.
vacuum_interval_sec: u64Interval of invoking a vacuum job, to remove stale metadata from meta store and objects from object store.
vacuum_spin_interval_ms: u64The spin interval inside a vacuum job. It avoids the vacuum job monopolizing resources of meta node.
iceberg_gc_interval_sec: u64Interval of invoking iceberg garbage collection, to expire old snapshots.
hummock_version_checkpoint_interval_sec: u64Interval of hummock version checkpoint.
enable_hummock_data_archive: boolIf enabled, SSTable object file and version delta will be retained.
SSTable object file need to be deleted via full GC.
version delta need to be manually deleted.
hummock_time_travel_snapshot_interval: u64The interval at which a Hummock version snapshot is taken for time travel.
Larger value indicates less storage overhead but worse query performance.
min_delta_log_num_for_hummock_version_checkpoint: u64The minimum delta log number a new checkpoint should compact, otherwise the checkpoint attempt is rejected.
max_heartbeat_interval_secs: u32Maximum allowed heartbeat interval in seconds.
disable_recovery: boolWhether to enable fail-on-recovery. Should only be used in e2e tests.
disable_automatic_parallelism_control: boolWhether to disable adaptive-scaling feature.
parallelism_control_batch_size: usizeThe number of streaming jobs per scaling operation.
parallelism_control_trigger_period_sec: u64The period of parallelism control trigger.
parallelism_control_trigger_first_delay_sec: u64The first delay of parallelism control.
meta_leader_lease_secs: u64§dangerous_max_idle_secs: Option<u64>After specified seconds of idle (no mview or flush), the process will be exited. It is mainly useful for playgrounds.
default_parallelism: DefaultParallelismThe default global parallelism for all streaming jobs, if user doesn’t specify the
parallelism, this value will be used. FULL means use all available parallelism units,
otherwise it’s a number.
enable_compaction_deterministic: boolWhether to enable deterministic compaction scheduling, which will disable all auto scheduling of compaction tasks. Should only be used in e2e tests.
enable_committed_sst_sanity_check: boolEnable sanity check when SSTs are committed.
node_num_monitor_interval_sec: u64§backend: MetaBackend§periodic_space_reclaim_compaction_interval_sec: u64Schedule space_reclaim compaction for all compaction groups with this interval.
periodic_ttl_reclaim_compaction_interval_sec: u64Schedule ttl_reclaim compaction for all compaction groups with this interval.
periodic_tombstone_reclaim_compaction_interval_sec: u64§move_table_size_limit: u64split_group_size_limit: u64cut_table_size_limit: u64protect_drop_table_with_incoming_sink: boolWhether to protect dropping a table with incoming sink.
unrecognized: Unrecognized<Self>§do_not_config_object_storage_lifecycle: boolWhether config object storage bucket lifecycle to purge stale data.
partition_vnode_count: u32Count of partition in split group. Meta will assign this value to every new group when it splits from default-group by automatically.
Each partition contains aligned data of vnode_count / partition_vnode_count consecutive virtual-nodes of one state table.
table_high_write_throughput_threshold: u64The threshold of write throughput to trigger a group split.
table_low_write_throughput_threshold: u64The threshold of write throughput to trigger a group merge.
compaction_task_max_heartbeat_interval_secs: u64§compaction_task_max_progress_interval_secs: u64§compaction_config: CompactionConfig§hybrid_partition_vnode_count: u32Count of partitions of tables in default group and materialized view group.
The meta node will decide according to some strategy whether to cut the boundaries of the file according to the vnode alignment.
Each partition contains aligned data of vnode_count / hybrid_partition_vnode_count consecutive virtual-nodes of one state table.
Set it zero to disable this feature.
event_log_enabled: bool§event_log_channel_max_size: u32Keeps the latest N events per channel.
developer: MetaDeveloperConfig§enable_dropped_column_reclaim: boolWhether compactor should rewrite row to remove dropped column.
split_group_size_ratio: f64Whether to split the compaction group when the size of the group exceeds the compaction_group_config.max_estimated_group_size() * split_group_size_ratio.
table_stat_high_write_throughput_ratio_for_split: f64To split the compaction group when the high throughput statistics of the group exceeds the threshold.
table_stat_low_write_throughput_ratio_for_merge: f64To merge the compaction group when the low throughput statistics of the group exceeds the threshold.
table_stat_throuput_window_seconds_for_split: usizeThe window seconds of table throughput statistic history for split compaction group.
table_stat_throuput_window_seconds_for_merge: usizeThe window seconds of table throughput statistic history for merge compaction group.
compact_task_table_size_partition_threshold_low: u64The threshold of table size in one compact task to decide whether to partition one table into hybrid_partition_vnode_count parts, which belongs to default group and materialized view group.
Set it max value of 64-bit number to disable this feature.
compact_task_table_size_partition_threshold_high: u64The threshold of table size in one compact task to decide whether to partition one table into partition_vnode_count parts, which belongs to default group and materialized view group.
Set it max value of 64-bit number to disable this feature.
periodic_scheduling_compaction_group_split_interval_sec: u64The interval of the periodic scheduling compaction group split job.
periodic_scheduling_compaction_group_merge_interval_sec: u64The interval of the periodic scheduling compaction group merge job.
compaction_group_merge_dimension_threshold: f64The threshold of each dimension of the compaction group after merging. When the dimension * compaction_group_merge_dimension_threshold >= limit, the merging job will be rejected.
cdc_table_split_init_sleep_interval_splits: u64The interval that the CDC table splits initialization should yield to avoid overloading upstream system.
cdc_table_split_init_sleep_duration_millis: u64The duration that the CDC table splits initialization should yield to avoid overloading upstream system.
cdc_table_split_init_insert_batch_size: u64The batch size that the CDC table splits initialization should use when persisting to meta store.
meta_store_config: MetaStoreConfigImplementations§
Trait Implementations§
Source§impl Clone for MetaConfig
impl Clone for MetaConfig
Source§fn clone(&self) -> MetaConfig
fn clone(&self) -> MetaConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MetaConfig
impl Debug for MetaConfig
Source§impl Default for MetaConfig
impl Default for MetaConfig
Source§impl<'de> Deserialize<'de> for MetaConfig
impl<'de> Deserialize<'de> for MetaConfig
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>,
Auto Trait Implementations§
impl Freeze for MetaConfig
impl RefUnwindSafe for MetaConfig
impl Send for MetaConfig
impl Sync for MetaConfig
impl Unpin for MetaConfig
impl UnwindSafe for MetaConfig
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> Code for Twhere
T: Serialize + DeserializeOwned,
impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level].§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n].§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n] with metric_level set to
MetricLevel::Debug and relabel_num set to 1.§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Scope for T
impl<T> Scope for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.