risingwave_common::config

Struct MetaConfig

source
pub struct MetaConfig {
Show 54 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 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 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 meta_store_config: MetaStoreConfig,
}
Expand description

The section [meta] in risingwave.toml.

Fields§

§min_sst_retention_time_sec: u64

Objects within min_sst_retention_time_sec won’t be deleted by hummock full GC, even they are dangling.

§full_gc_interval_sec: u64

Interval of automatic hummock full GC.

§full_gc_object_limit: u64

Max number of object per full GC job can fetch.

§gc_history_retention_time_sec: u64

Duration in seconds to retain garbage collection history data.

§max_inflight_time_travel_query: u64

Max number of inflight time travel query.

§periodic_compaction_interval_sec: u64

Schedule compaction for all compaction groups with this interval.

§vacuum_interval_sec: u64

Interval of invoking a vacuum job, to remove stale metadata from meta store and objects from object store.

§vacuum_spin_interval_ms: u64

The spin interval inside a vacuum job. It avoids the vacuum job monopolizing resources of meta node.

§hummock_version_checkpoint_interval_sec: u64

Interval of hummock version checkpoint.

§enable_hummock_data_archive: bool

If 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: u64

The 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: u64

The minimum delta log number a new checkpoint should compact, otherwise the checkpoint attempt is rejected.

§max_heartbeat_interval_secs: u32

Maximum allowed heartbeat interval in seconds.

§disable_recovery: bool

Whether to enable fail-on-recovery. Should only be used in e2e tests.

§disable_automatic_parallelism_control: bool

Whether to disable adaptive-scaling feature.

§parallelism_control_batch_size: usize

The number of streaming jobs per scaling operation.

§parallelism_control_trigger_period_sec: u64

The period of parallelism control trigger.

§parallelism_control_trigger_first_delay_sec: u64

The 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: DefaultParallelism

The 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: bool

Whether 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: bool

Enable sanity check when SSTs are committed.

§node_num_monitor_interval_sec: u64§backend: MetaBackend§periodic_space_reclaim_compaction_interval_sec: u64

Schedule space_reclaim compaction for all compaction groups with this interval.

§periodic_ttl_reclaim_compaction_interval_sec: u64

Schedule ttl_reclaim compaction for all compaction groups with this interval.

§periodic_tombstone_reclaim_compaction_interval_sec: u64§move_table_size_limit: u64
👎Deprecated
§split_group_size_limit: u64
👎Deprecated
§cut_table_size_limit: u64
👎Deprecated
§unrecognized: Unrecognized<Self>§do_not_config_object_storage_lifecycle: bool

Whether config object storage bucket lifecycle to purge stale data.

§partition_vnode_count: u32

Count 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: u64

The threshold of write throughput to trigger a group split.

§table_low_write_throughput_threshold: u64

The 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: u32

Count 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: u32

Keeps the latest N events per channel.

§developer: MetaDeveloperConfig§enable_dropped_column_reclaim: bool

Whether compactor should rewrite row to remove dropped column.

§split_group_size_ratio: f64

Whether 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: f64

To split the compaction group when the high throughput statistics of the group exceeds the threshold.

§table_stat_low_write_throughput_ratio_for_merge: f64

To merge the compaction group when the low throughput statistics of the group exceeds the threshold.

§table_stat_throuput_window_seconds_for_split: usize

The window seconds of table throughput statistic history for split compaction group.

§table_stat_throuput_window_seconds_for_merge: usize

The window seconds of table throughput statistic history for merge compaction group.

§compact_task_table_size_partition_threshold_low: u64

The 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: u64

The 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: u64§periodic_scheduling_compaction_group_merge_interval_sec: u64§meta_store_config: MetaStoreConfig

Implementations§

Trait Implementations§

source§

impl Clone for MetaConfig

source§

fn clone(&self) -> MetaConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MetaConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for MetaConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for MetaConfig

source§

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 Serialize for MetaConfig

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> IntoResult<T> for T

§

type Err = Infallible

§

fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>

source§

impl<M> MetricVecRelabelExt for M

source§

fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>

source§

fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>

source§

fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>

Equivalent to RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to MetricLevel::Debug and relabel_num set to 1.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> DevConfig for T
where T: Send + Sync + 'static + Debug,

source§

impl<T> LruValue for T
where T: Send + Sync,

§

impl<T> StorageValue for T
where T: Value + Serialize + DeserializeOwned,

§

impl<T> Value for T
where T: Send + Sync + 'static,