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§
parallelism while syncing share buffers into L0 SST. Should NOT be 0.
Worker threads number of dedicated tokio runtime for share buffer compaction. 0 means use tokio’s default value (number of CPU core).
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:
block_cache_capacity_mb
andmeta_cache_capacity_mb
are also configured explicitly.block_cache_capacity_mb
+meta_cache_capacity_mb
+meta_cache_capacity_mb
doesn’t exceed 0.3 * non-reserved memory.
The shared buffer will start flushing data to object when the ratio of memory usage to the shared buffer capacity exceed such ratio.
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
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
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: 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
- General configuration
- Some special configuration of Backend
- Retry and timeout configuration
time_travel_version_cache_capacity: u64
Implementations§
Trait Implementations§
source§impl Clone for StorageConfig
impl Clone for StorageConfig
source§fn clone(&self) -> StorageConfig
fn clone(&self) -> StorageConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for StorageConfig
impl Debug for StorageConfig
source§impl Default for StorageConfig
impl Default for StorageConfig
source§impl<'de> Deserialize<'de> for StorageConfig
impl<'de> Deserialize<'de> for StorageConfig
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 StorageConfig
impl RefUnwindSafe for StorageConfig
impl Send for StorageConfig
impl Sync for StorageConfig
impl Unpin for StorageConfig
impl UnwindSafe for StorageConfig
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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>
source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
source§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
.source§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
.source§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.