risingwave_common::config

Struct StorageConfig

source
pub struct StorageConfig {
Show 45 fields pub share_buffers_sync_parallelism: u32, pub share_buffer_compaction_worker_threads_number: u32, pub shared_buffer_capacity_mb: Option<usize>, pub shared_buffer_flush_ratio: f32, pub shared_buffer_min_batch_flush_size_mb: usize, pub imm_merge_threshold: usize, pub write_conflict_detection_enabled: bool, pub cache: CacheConfig, pub block_cache_capacity_mb: Option<usize>, pub meta_cache_capacity_mb: Option<usize>, pub high_priority_ratio_in_percent: Option<usize>, pub prefetch_buffer_capacity_mb: Option<usize>, pub max_cached_recent_versions_number: usize, pub max_prefetch_block_number: usize, pub disable_remote_compactor: bool, pub share_buffer_upload_concurrency: usize, pub compactor_memory_limit_mb: Option<usize>, pub compactor_max_task_multiplier: f32, pub compactor_memory_available_proportion: f64, pub sstable_id_remote_fetch_number: u32, pub min_sstable_size_mb: u32, pub data_file_cache: FileCacheConfig, pub meta_file_cache: FileCacheConfig, pub cache_refill: CacheRefillConfig, pub min_sst_size_for_streaming_upload: u64, pub max_concurrent_compaction_task_number: u64, pub max_preload_wait_time_mill: u64, pub max_version_pinning_duration_sec: u64, pub compactor_max_sst_key_count: u64, pub compact_iter_recreate_timeout_ms: u64, pub compactor_max_sst_size: u64, pub enable_fast_compaction: bool, pub check_compaction_result: bool, pub max_preload_io_retry_times: usize, pub compactor_fast_max_compact_delete_ratio: u32, pub compactor_fast_max_compact_task_size: u64, pub compactor_iter_max_io_retry_times: usize, pub table_info_statistic_history_times: usize, pub unrecognized: Unrecognized<Self>, pub mem_table_spill_threshold: usize, pub compactor_concurrent_uploading_sst_count: Option<usize>, pub compactor_max_overlap_sst_count: usize, pub compactor_max_preload_meta_file_count: usize, pub object_store: ObjectStoreConfig, pub time_travel_version_cache_capacity: u64,
}
Expand description

The section [storage] in risingwave.toml.

Fields§

§share_buffers_sync_parallelism: u32

parallelism while syncing share buffers into L0 SST. Should NOT be 0.

§share_buffer_compaction_worker_threads_number: u32

Worker threads number of dedicated tokio runtime for share buffer compaction. 0 means use tokio’s default value (number of CPU core).

§shared_buffer_capacity_mb: Option<usize>

Configure the maximum shared buffer size in MB explicitly. Writes attempting to exceed the capacity will stall until there is enough space. The overridden value will only be effective if:

  1. block_cache_capacity_mb and meta_cache_capacity_mb are also configured explicitly.
  2. block_cache_capacity_mb + meta_cache_capacity_mb + meta_cache_capacity_mb doesn’t exceed 0.3 * non-reserved memory.
§shared_buffer_flush_ratio: f32

The shared buffer will start flushing data to object when the ratio of memory usage to the shared buffer capacity exceed such ratio.

§shared_buffer_min_batch_flush_size_mb: usize

The minimum total flush size of shared buffer spill. When a shared buffer spilled is trigger, the total flush size across multiple epochs should be at least higher than this size.

§imm_merge_threshold: usize
👎Deprecated

The threshold for the number of immutable memtables to merge to a new imm.

§write_conflict_detection_enabled: bool

Whether to enable write conflict detection

§cache: CacheConfig§block_cache_capacity_mb: Option<usize>

DEPRECATED: This config will be deprecated in the future version, use storage.cache.block_cache_capacity_mb instead.

§meta_cache_capacity_mb: Option<usize>

DEPRECATED: This config will be deprecated in the future version, use storage.cache.meta_cache_capacity_mb instead.

§high_priority_ratio_in_percent: Option<usize>

DEPRECATED: This config will be deprecated in the future version, use storage.cache.block_cache_eviction.high_priority_ratio_in_percent with storage.cache.block_cache_eviction.algorithm = "Lru" instead.

§prefetch_buffer_capacity_mb: Option<usize>

max memory usage for large query

§max_cached_recent_versions_number: usize§max_prefetch_block_number: usize

max prefetch block number

§disable_remote_compactor: bool§share_buffer_upload_concurrency: usize

Number of tasks shared buffer can upload in parallel.

§compactor_memory_limit_mb: Option<usize>§compactor_max_task_multiplier: f32

Compactor calculates the maximum number of tasks that can be executed on the node based on worker_num and compactor_max_task_multiplier. max_pull_task_count = worker_num * compactor_max_task_multiplier

§compactor_memory_available_proportion: f64

The percentage of memory available when compactor is deployed separately. non_reserved_memory_bytes = system_memory_available_bytes * compactor_memory_available_proportion

§sstable_id_remote_fetch_number: u32

Number of SST ids fetched from meta per RPC

§min_sstable_size_mb: u32§data_file_cache: FileCacheConfig§meta_file_cache: FileCacheConfig§cache_refill: CacheRefillConfig§min_sst_size_for_streaming_upload: u64

Whether to enable streaming upload for sstable.

§max_concurrent_compaction_task_number: u64§max_preload_wait_time_mill: u64§max_version_pinning_duration_sec: u64§compactor_max_sst_key_count: u64§compact_iter_recreate_timeout_ms: u64§compactor_max_sst_size: u64§enable_fast_compaction: bool§check_compaction_result: bool§max_preload_io_retry_times: usize§compactor_fast_max_compact_delete_ratio: u32§compactor_fast_max_compact_task_size: u64§compactor_iter_max_io_retry_times: usize§table_info_statistic_history_times: usize
👎Deprecated

Deprecated: The window size of table info statistic history.

§unrecognized: Unrecognized<Self>§mem_table_spill_threshold: usize

The spill threshold for mem table.

§compactor_concurrent_uploading_sst_count: Option<usize>

The concurrent uploading number of SSTables of buidler

§compactor_max_overlap_sst_count: usize§compactor_max_preload_meta_file_count: usize

The maximum number of meta files that can be preloaded. If the number of meta files exceeds this value, the compactor will try to compute parallelism only through SstableInfo, no longer preloading SstableMeta. This is to prevent the compactor from consuming too much memory, but it may cause the compactor to be less efficient.

§object_store: ObjectStoreConfig

Object storage configuration

  1. General configuration
  2. Some special configuration of Backend
  3. Retry and timeout configuration
§time_travel_version_cache_capacity: u64

Implementations§

Trait Implementations§

source§

impl Clone for StorageConfig

source§

fn clone(&self) -> StorageConfig

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 StorageConfig

source§

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

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

impl Default for StorageConfig

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for StorageConfig

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 StorageConfig

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,